tools/rest-scripts/check-record.http (165 lines of code) (raw):

# ------- HTTP REST CLIENT ------- # https://marketplace.visualstudio.com/items?itemName=humao.rest-client # # Purpose: Scenario Validation - Storage Record # ----------------------- # OAUTH (Variables) # ----------------------- ### @login_base = login.microsoftonline.com/{{TENANT_ID}} @oauth_token_host = {{login_base}}/oauth2/v2.0/token @scopes = {{CLIENT_ID}}/.default openid profile offline_access # ----------------------- # OAUTH refresh_token # ----------------------- ### # @name refresh POST https://{{oauth_token_host}} HTTP/1.1 Content-Type: application/x-www-form-urlencoded grant_type=refresh_token &client_id={{CLIENT_ID}} &client_secret={{CLIENT_SECRET}} &refresh_token={{REFRESH_TOKEN}} &scope={{scopes}} # ----------------------- # API (Variables) # ----------------------- ### @access_token = {{refresh.response.body.access_token}} @ENTITLEMENTS_HOST = {{HOST}}/api/entitlements/v2 @LEGAL_HOST = {{HOST}}/api/legal/v1 @SCHEMA_HOST = {{HOST}}/api/schema-service/v1 @STORAGE_HOST = {{HOST}}/api/storage/v2 @SEARCH_HOST = {{HOST}}/api/search/v2 @tag = public-usa-check-1 @kind = osdu:wks:reference-data--ProcessingParameterType:1.0.0 @index = osdu-wks-reference-data--processingparametertype-1.0.0 # ----------------------- # API: legal # ----------------------- ### # @name createTag POST {{LEGAL_HOST}}/legaltags Authorization: Bearer {{access_token}} Content-Type: application/json data-partition-id: {{DATA_PARTITION}} { "name": "{{tag}}", "description": "This tag is used by Check Scripts", "properties": { "countryOfOrigin": [ "US" ], "contractId": "A1234", "expirationDate": "2026-12-31", "originator": "MyCompany", "dataType": "Transferred Data", "securityClassification": "Public", "personalData": "No Personal Data", "exportClassification": "EAR99" } } ### # @name getTag GET {{LEGAL_HOST}}/legaltags/{{DATA_PARTITION}}-{{tag}} Authorization: Bearer {{access_token}} Accept: application/json data-partition-id: {{DATA_PARTITION}} # ----------------------- # API: schema # ----------------------- ### # @name getSchema GET {{SCHEMA_HOST}}/schema/{{kind}} Authorization: Bearer {{access_token}} Accept: application/json data-partition-id: {{DATA_PARTITION}} # ----------------------- # API STORAGE # ----------------------- ### # @name createRecord PUT {{STORAGE_HOST}}/records Authorization: Bearer {{access_token}} Content-Type: application/json data-partition-id: {{DATA_PARTITION}} [ { "kind": "{{kind}}", "acl": { "viewers": [ "data.default.viewers@{{DATA_PARTITION}}.dataservices.energy" ], "owners": [ "data.default.owners@{{DATA_PARTITION}}.dataservices.energy" ] }, "legal": { "legaltags": [ "{{DATA_PARTITION}}-{{tag}}" ], "otherRelevantDataCountries": [ "US" ], "status": "compliant" }, "data": { "Name": "QA Test Case", "ID": "qatest", "Code": "QA Test Case", "Source": "osdu-tno-load-js" } } ] @id = {{createRecord.response.body.recordIds[0]}} @version = {{createRecord.response.body.recordIdVersions[0]}} ### # @name GetRecord GET {{STORAGE_HOST}}/records/{{id}} Authorization: Bearer {{access_token}} Accept: application/json data-partition-id: {{DATA_PARTITION}} ### # @name ListRecordVersions GET {{STORAGE_HOST}}/records/versions/{{id}} Authorization: Bearer {{access_token}} Accept: application/json data-partition-id: {{DATA_PARTITION}} ### # @name GetRecordVersion GET {{STORAGE_HOST}}/records/{{id}}/{{ListRecordVersions.response.body.versions[0]}} Authorization: Bearer {{access_token}} Accept: application/json data-partition-id: {{DATA_PARTITION}} # ----------------------- # API search # ----------------------- ### # @name searchRecord POST {{SEARCH_HOST}}/query Authorization: Bearer {{access_token}} Content-Type: application/json data-partition-id: {{DATA_PARTITION}} { "kind": "{{kind}}", "query": "data.ID:(\"{{GetRecordVersion.response.body.data.ID}}\")", "offset": 0, "limit": 1 } @all_totalCount = {{searchRecord.response.body.totalCount}} @record_id = {{searchRecord.response.body.results[0].id}} # ----------------------- # CLEANUP # ----------------------- ### # @name deleteRecord DELETE {{STORAGE_HOST}}/records/{{id}} Authorization: Bearer {{access_token}} Accept: application/json data-partition-id: {{DATA_PARTITION}} ### # @name deleteTag DELETE {{LEGAL_HOST}}/legaltags/{{DATA_PARTITION}}-{{tag}} Authorization: Bearer {{access_token}} Accept: application/json data-partition-id: {{DATA_PARTITION}}