diff --git a/sdk/tables/azure-data-tables/CHANGELOG.md b/sdk/tables/azure-data-tables/CHANGELOG.md new file mode 100644 index 0000000000000..4144f75694a03 --- /dev/null +++ b/sdk/tables/azure-data-tables/CHANGELOG.md @@ -0,0 +1,3 @@ +# Release History + +## 1.0.0-beta.1 (Unreleased) diff --git a/sdk/tables/azure-data-tables/pom.xml b/sdk/tables/azure-data-tables/pom.xml index 4fb23afccc726..4b6bc21b2d876 100644 --- a/sdk/tables/azure-data-tables/pom.xml +++ b/sdk/tables/azure-data-tables/pom.xml @@ -2,7 +2,8 @@ Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT License. --> - + 4.0.0 com.azure @@ -31,7 +32,6 @@ Licensed under the MIT License. HEAD - true @@ -42,6 +42,29 @@ Licensed under the MIT License. azure-core 1.6.0 + + com.azure + azure-storage-common + 12.7.0 + + + org.junit.jupiter + junit-jupiter + 5.6.2 + test + + + io.projectreactor + reactor-test + 3.3.5.RELEASE + test + + + com.azure + azure-core-test + 1.3.1 + test + diff --git a/sdk/tables/azure-data-tables/src/main/java/com/azure/data/tables/TablesSharedKeyCredential.java b/sdk/tables/azure-data-tables/src/main/java/com/azure/data/tables/TablesSharedKeyCredential.java new file mode 100644 index 0000000000000..276be119ad641 --- /dev/null +++ b/sdk/tables/azure-data-tables/src/main/java/com/azure/data/tables/TablesSharedKeyCredential.java @@ -0,0 +1,113 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.tables; + +import com.azure.storage.common.implementation.StorageImplUtils; + +import java.net.URL; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Locale; +import java.util.Map; +import java.util.Objects; + +/** + * A Class which helps generate the shared key credentials for a given storage account to create a Http requests to + * access Azure Tables + */ +public class TablesSharedKeyCredential { + private static final String AUTHORIZATION_HEADER_FORMAT = "SharedKeyLite %s:%s"; + private final String accountName; + private final String accountKey; + + /** + * Constructor for TableSharedKeyCredential Class + * + * @param accountName name of the storage account + * @param accountKey key to the storage account + */ + public TablesSharedKeyCredential(String accountName, String accountKey) { + this.accountName = Objects.requireNonNull(accountName, "'accountName' cannot be null."); + this.accountKey = Objects.requireNonNull(accountKey, "'accountKey' cannot be null."); + } + + /** + * Generates the Auth Headers + * + * @param requestUrl the URL which the request is going to + * @param headers the headers of the request + * @return the auth header + */ + public String generateAuthorizationHeader(URL requestUrl, Map headers) { + String signature = StorageImplUtils.computeHMac256(accountKey, buildStringToSign(requestUrl, + headers)); + return String.format(AUTHORIZATION_HEADER_FORMAT, accountName, signature); + } + + /** + * creates the String to Sign + * + * @param requestUrl the Url which the request is going to + * @param headers the headers of the request + * @return a string to sign for the request + */ + private String buildStringToSign(URL requestUrl, Map headers) { + String dateHeader = headers.containsKey("x-ms-date") + ? "" + : this.getStandardHeaderValue(headers, "Date"); + return String.join("\n", + dateHeader, //date + getCanonicalizedResource(requestUrl)); //Canonicalized resource + } + + /** + * gets necessary headers if the request does not already contain them + * + * @param headers a map of the headers which the request has + * @param headerName the name of the header to get the standard header for + * @return the standard header for the given name + */ + private String getStandardHeaderValue(Map headers, String headerName) { + String headerValue = headers.get(headerName); + return headerValue == null ? "" : headerValue; + } + + + /** + * returns the canonicalized resource needed for a request + * + * @param requestUrl the url of the request + * @return the string that is the canonicalized resource + */ + private String getCanonicalizedResource(URL requestUrl) { + StringBuilder canonicalizedResource = new StringBuilder("/").append(accountName); + if (requestUrl.getPath().length() > 0) { + canonicalizedResource.append(requestUrl.getPath()); + } else { + canonicalizedResource.append('/'); + } + + if (requestUrl.getQuery() != null) { + Map queryParams = StorageImplUtils.parseQueryStringSplitValues(requestUrl.getQuery()); + ArrayList queryParamNames = new ArrayList<>(queryParams.keySet()); + + Collections.sort(queryParamNames); + + for (String queryParamName : queryParamNames) { + String[] queryParamValues = queryParams.get(queryParamName); + + Arrays.sort(queryParamValues); + + String queryParamValuesStr = String.join(",", queryParamValues); + + if (queryParamName.equalsIgnoreCase("comp")) { + canonicalizedResource.append("?").append(queryParamName.toLowerCase(Locale.ROOT)).append("=") + .append(queryParamValuesStr); + } + } + } + return canonicalizedResource.toString(); + } +} diff --git a/sdk/tables/azure-data-tables/src/main/java/com/azure/data/tables/TablesSharedKeyCredentialPolicy.java b/sdk/tables/azure-data-tables/src/main/java/com/azure/data/tables/TablesSharedKeyCredentialPolicy.java new file mode 100644 index 0000000000000..f689b85d043ad --- /dev/null +++ b/sdk/tables/azure-data-tables/src/main/java/com/azure/data/tables/TablesSharedKeyCredentialPolicy.java @@ -0,0 +1,41 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.tables; + +import com.azure.core.http.HttpPipelineCallContext; +import com.azure.core.http.HttpPipelineNextPolicy; +import com.azure.core.http.HttpResponse; +import com.azure.core.http.policy.HttpPipelinePolicy; +import reactor.core.publisher.Mono; + +/** + * This class helps authenticate an Http request for the Tables service + */ +public final class TablesSharedKeyCredentialPolicy implements HttpPipelinePolicy { + + private final TablesSharedKeyCredential credential; + + /** + * constructor for the TablesSharedKeyCredentialPolicy class + * + * @param credential the credentials of the account + */ + public TablesSharedKeyCredentialPolicy(TablesSharedKeyCredential credential) { + this.credential = credential; + } + + /** + * creates an Http response + * + * @param context the context of the http pipeline + * @param next the next Http pipeline policy + * @return an Http response + */ + public Mono process(HttpPipelineCallContext context, HttpPipelineNextPolicy next) { + String authorizationValue = credential.generateAuthorizationHeader(context.getHttpRequest().getUrl(), + context.getHttpRequest().getHeaders().toMap()); + context.getHttpRequest().setHeader("Authorization", authorizationValue); + return next.process(); + } +} diff --git a/sdk/tables/azure-data-tables/src/main/java/com/azure/data/tables/package-info.java b/sdk/tables/azure-data-tables/src/main/java/com/azure/data/tables/package-info.java new file mode 100644 index 0000000000000..22fcc4bc3349a --- /dev/null +++ b/sdk/tables/azure-data-tables/src/main/java/com/azure/data/tables/package-info.java @@ -0,0 +1,5 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +/** Package containing the inner classes for Azure Tables SDK. */ +package com.azure.data.tables; diff --git a/sdk/tables/azure-data-tables/src/test/java/com/azure/data/tables/AzureTableImplTest.java b/sdk/tables/azure-data-tables/src/test/java/com/azure/data/tables/AzureTableImplTest.java new file mode 100644 index 0000000000000..24f6133838694 --- /dev/null +++ b/sdk/tables/azure-data-tables/src/test/java/com/azure/data/tables/AzureTableImplTest.java @@ -0,0 +1,527 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.tables; + +import com.azure.core.http.HttpClient; +import com.azure.core.http.HttpHeaders; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.policy.AddDatePolicy; +import com.azure.core.http.policy.AddHeadersPolicy; +import com.azure.core.http.policy.HttpLogDetailLevel; +import com.azure.core.http.policy.HttpLogOptions; +import com.azure.core.http.policy.HttpLoggingPolicy; +import com.azure.core.http.policy.HttpPipelinePolicy; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.test.TestBase; +import com.azure.core.util.Context; +import com.azure.core.util.logging.ClientLogger; +import com.azure.data.tables.implementation.AzureTableImpl; +import com.azure.data.tables.implementation.AzureTableImplBuilder; +import com.azure.data.tables.implementation.models.OdataMetadataFormat; +import com.azure.data.tables.implementation.models.QueryOptions; +import com.azure.data.tables.implementation.models.ResponseFormat; +import com.azure.data.tables.implementation.models.TableProperties; +import com.azure.data.tables.implementation.models.TableResponseProperties; +import com.azure.data.tables.implementation.models.TableServiceErrorException; +import com.azure.storage.common.implementation.connectionstring.StorageAuthenticationSettings; +import com.azure.storage.common.implementation.connectionstring.StorageConnectionString; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import reactor.core.publisher.Flux; +import reactor.core.publisher.Mono; +import reactor.test.StepVerifier; + +/** + * This class tests the Autorest code for the Tables track 2 SDK + */ +public class AzureTableImplTest extends TestBase { + private static final String PARTITION_KEY = "PartitionKey"; + private static final String ROW_KEY = "RowKey"; + private static final int TIMEOUT = 5000; + private AzureTableImpl azureTable; + + @Override + protected void beforeTest() { + String connectionString = interceptorManager.isPlaybackMode() + ? "DefaultEndpointsProtocol=https;AccountName=dummyAccount;AccountKey=xyzDummy;EndpointSuffix=core.windows.net" + : System.getenv("AZURE_TABLES_CONNECTION_STRING"); + StorageConnectionString storageConnectionString + = StorageConnectionString.create(connectionString, new ClientLogger(AzureTableImplTest.class)); + + Assertions.assertNotNull(connectionString, "Cannot continue test if connectionString is not set."); + + StorageAuthenticationSettings authSettings = storageConnectionString.getStorageAuthSettings(); + TablesSharedKeyCredential sharedKeyCredential = new TablesSharedKeyCredential(authSettings.getAccount().getName(), + authSettings.getAccount().getAccessKey()); + + List policies = new ArrayList<>(); + policies.add(new AddDatePolicy()); + policies.add(new AddHeadersPolicy(new HttpHeaders().put("Accept", + OdataMetadataFormat.APPLICATION_JSON_ODATA_MINIMALMETADATA.toString()))); + policies.add(new TablesSharedKeyCredentialPolicy(sharedKeyCredential)); + policies.add(new HttpLoggingPolicy(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS))); + + HttpClient httpClientToUse; + if (interceptorManager.isPlaybackMode()) { + httpClientToUse = interceptorManager.getPlaybackClient(); + } else { + httpClientToUse = HttpClient.createDefault(); + policies.add(interceptorManager.getRecordPolicy()); + policies.add(new RetryPolicy()); + } + HttpPipeline pipeline = new HttpPipelineBuilder() + .httpClient(httpClientToUse) + .policies(policies.toArray(new HttpPipelinePolicy[0])) + .build(); + azureTable = new AzureTableImplBuilder() + .pipeline(pipeline) + .version("2019-02-02") + .url(storageConnectionString.getTableEndpoint().getPrimaryUri()) + .buildClient(); + } + + @Override + protected void afterTest() { + QueryOptions queryOptions = new QueryOptions() + .setFormat(OdataMetadataFormat.APPLICATION_JSON_ODATA_MINIMALMETADATA); + + Mono.when(azureTable.getTables().queryWithResponseAsync(testResourceNamer.randomUuid(), null, + queryOptions, Context.NONE).flatMapMany(tablesQueryResponse -> { + return Flux.fromIterable(tablesQueryResponse.getValue().getValue()).flatMap(tableResponseProperty -> { + return azureTable.getTables().deleteWithResponseAsync(tableResponseProperty.getTableName(), + testResourceNamer.randomUuid(), Context.NONE); + }); + })).block(); + } + + void createTable(String tableName) { + TableProperties tableProperties = new TableProperties().setTableName(tableName); + String requestId = testResourceNamer.randomUuid(); + + azureTable.getTables().createWithResponseAsync(tableProperties, requestId, + ResponseFormat.RETURN_CONTENT, null, Context.NONE).block(); + } + + void insertNoETag(String tableName, Map properties) { + String requestId = testResourceNamer.randomUuid(); + + azureTable.getTables().insertEntityWithResponseAsync(tableName, TIMEOUT, + requestId, ResponseFormat.RETURN_CONTENT, properties, null, Context.NONE).log().block(); + } + + @Test + void createTable() { + // Arrange + String tableName = testResourceNamer.randomName("test", 20); + TableProperties tableProperties = new TableProperties().setTableName(tableName); + int expectedStatusCode = 201; + String requestId = testResourceNamer.randomUuid(); + + // Act & Assert + StepVerifier.create(azureTable.getTables().createWithResponseAsync(tableProperties, + requestId, ResponseFormat.RETURN_CONTENT, null, Context.NONE)) + .assertNext(response -> { + Assertions.assertEquals(expectedStatusCode, response.getStatusCode()); + }) + .expectComplete() + .verify(); + } + + @Test + void createTableDuplicateName() { + // Arrange + String tableName = testResourceNamer.randomName("test", 20); + TableProperties tableProperties = new TableProperties().setTableName(tableName); + createTable(tableName); + String requestId = testResourceNamer.randomUuid(); + + // Act & Assert + StepVerifier.create(azureTable.getTables().createWithResponseAsync(tableProperties, + requestId, ResponseFormat.RETURN_CONTENT, null, Context.NONE)) + .expectError(TableServiceErrorException.class) + .verify(); + } + + @Test + void deleteTable() { + // Arrange + String tableName = testResourceNamer.randomName("test", 20); + createTable(tableName); + int expectedStatusCode = 204; + String requestId = testResourceNamer.randomUuid(); + + // Act & Assert + StepVerifier.create(azureTable.getTables().deleteWithResponseAsync(tableName, requestId, + Context.NONE)) + .assertNext(response -> { + Assertions.assertEquals(expectedStatusCode, response.getStatusCode()); + }) + .expectComplete() + .verify(); + } + + @Test + void deleteNonExistentTable() { + // Arrange + String tableName = testResourceNamer.randomName("test", 20); + String requestId = testResourceNamer.randomUuid(); + + // Act & Assert + StepVerifier.create(azureTable.getTables().deleteWithResponseAsync(tableName, requestId, + Context.NONE)) + .expectError(com.azure.data.tables.implementation.models.TableServiceErrorException.class) + .verify(); + } + + @Test + void queryTable() { + // Arrange + QueryOptions queryOptions = new QueryOptions() + .setFormat(OdataMetadataFormat.APPLICATION_JSON_ODATA_MINIMALMETADATA); + String tableA = testResourceNamer.randomName("AtestA", 20); + String tableB = testResourceNamer.randomName("BtestB", 20); + createTable(tableA); + createTable(tableB); + int expectedStatusCode = 200; + String requestId = testResourceNamer.randomUuid(); + + // Act & Assert + StepVerifier.create(azureTable.getTables().queryWithResponseAsync(requestId, null, + queryOptions, Context.NONE)) + .assertNext(response -> { + Assertions.assertEquals(expectedStatusCode, response.getStatusCode()); + Assertions.assertNotNull(response.getValue(), "Expected there to be a result."); + + List results = response.getValue().getValue(); + + Assertions.assertNotNull(results, "Expected there to be a set of items."); + Assertions.assertEquals(2, results.size()); + Assertions.assertEquals(response.getValue().getValue().get(0).getTableName(), tableA); + Assertions.assertEquals(response.getValue().getValue().get(1).getTableName(), tableB); + }) + .expectComplete() + .verify(); + } + + @Test + void queryTablewithTop() { + // Arrange + QueryOptions queryOptions = new QueryOptions() + .setFormat(OdataMetadataFormat.APPLICATION_JSON_ODATA_MINIMALMETADATA); + String tableA = testResourceNamer.randomName("AtestA", 20); + String tableB = testResourceNamer.randomName("BtestB", 20); + createTable(tableA); + createTable(tableB); + int expectedStatusCode = 200; + int expectedSize = 1; + String requestId = testResourceNamer.randomUuid(); + queryOptions.setTop(1); + + // Act & Assert + StepVerifier.create(azureTable.getTables().queryWithResponseAsync(requestId, null, + queryOptions, Context.NONE)) + .assertNext(response -> { + Assertions.assertEquals(expectedStatusCode, response.getStatusCode()); + Assertions.assertEquals(expectedSize, response.getValue().getValue().size()); + Assertions.assertEquals(tableA, response.getValue().getValue().get(0).getTableName()); + }) + .expectComplete() + .verify(); + } + + @Test + void insertNoEtag() { + // Arrange + String tableName = testResourceNamer.randomName("test", 20); + createTable(tableName); + Map properties = new HashMap<>(); + String partitionKeyValue = testResourceNamer.randomName("partitionKey", 20); + String rowKeyValue = testResourceNamer.randomName("rowKey", 20); + properties.put(PARTITION_KEY, partitionKeyValue); + properties.put(ROW_KEY, rowKeyValue); + int expectedStatusCode = 201; + String requestId = testResourceNamer.randomUuid(); + + // Act & Assert + StepVerifier.create(azureTable.getTables().insertEntityWithResponseAsync(tableName, TIMEOUT, + requestId, ResponseFormat.RETURN_CONTENT, properties, null, Context.NONE)) + .assertNext(response -> { + Assertions.assertEquals(expectedStatusCode, response.getStatusCode()); + }) + .expectComplete() + .verify(); + } + + @Test + void mergeEntity() { + // Arrange + String tableName = testResourceNamer.randomName("test", 20); + createTable(tableName); + Map properties = new HashMap<>(); + String partitionKeyValue = testResourceNamer.randomName("partitionKey", 20); + String rowKeyValue = testResourceNamer.randomName("rowKey", 20); + properties.put(PARTITION_KEY, partitionKeyValue); + properties.put(ROW_KEY, rowKeyValue); + int expectedStatusCode = 204; + String requestId = testResourceNamer.randomUuid(); + insertNoETag(tableName, properties); + properties.put("extraProperty", testResourceNamer.randomName("extraProperty", 16)); + + // Act & Assert + StepVerifier.create(azureTable.getTables().mergeEntityWithResponseAsync(tableName, partitionKeyValue, + rowKeyValue, TIMEOUT, requestId, "*", properties, null, Context.NONE)) + .assertNext(response -> { + Assertions.assertEquals(expectedStatusCode, response.getStatusCode()); + }) + .expectComplete() + .verify(); + } + + @Test + void mergeNonExistentEntity() { + // Arrange + String tableName = testResourceNamer.randomName("test", 20); + createTable(tableName); + Map properties = new HashMap<>(); + String partitionKeyValue = testResourceNamer.randomName("partitionKey", 20); + String rowKeyValue = testResourceNamer.randomName("rowKey", 20); + String requestId = testResourceNamer.randomUuid(); + + // Act & Assert + StepVerifier.create(azureTable.getTables().mergeEntityWithResponseAsync(tableName, partitionKeyValue, + rowKeyValue, TIMEOUT, requestId, "*", properties, null, Context.NONE)) + .expectError(com.azure.data.tables.implementation.models.TableServiceErrorException.class) + .verify(); + } + + @Test + void updateEntity() { + // Arrange + String tableName = testResourceNamer.randomName("test", 20); + createTable(tableName); + Map properties = new HashMap<>(); + String partitionKeyValue = testResourceNamer.randomName("partitionKey", 20); + String rowKeyValue = testResourceNamer.randomName("rowKey", 20); + properties.put(PARTITION_KEY, partitionKeyValue); + properties.put(ROW_KEY, rowKeyValue); + int expectedStatusCode = 204; + String requestId = testResourceNamer.randomUuid(); + insertNoETag(tableName, properties); + properties.put("extraProperty", testResourceNamer.randomName("extraProperty", 16)); + + // Act & Assert + StepVerifier.create(azureTable.getTables().updateEntityWithResponseAsync(tableName, partitionKeyValue, + rowKeyValue, TIMEOUT, requestId, "*", properties, null, Context.NONE)) + .assertNext(response -> { + Assertions.assertEquals(expectedStatusCode, response.getStatusCode()); + }) + .expectComplete() + .verify(); + } + + @Test + void updateNonExistentEntity() { + // Arrange + String tableName = testResourceNamer.randomName("test", 20); + createTable(tableName); + Map properties = new HashMap<>(); + String partitionKeyValue = testResourceNamer.randomName("partitionKey", 20); + String rowKeyValue = testResourceNamer.randomName("rowKey", 20); + String requestId = testResourceNamer.randomUuid(); + + // Act & Assert + StepVerifier.create(azureTable.getTables().updateEntityWithResponseAsync(tableName, partitionKeyValue, + rowKeyValue, TIMEOUT, requestId, "*", properties, null, Context.NONE)) + .expectError(com.azure.data.tables.implementation.models.TableServiceErrorException.class) + .verify(); + } + + @Test + void deleteEntity() { + // Arrange + String tableName = testResourceNamer.randomName("test", 20); + createTable(tableName); + Map properties = new HashMap<>(); + String partitionKeyValue = testResourceNamer.randomName("partitionKey", 20); + String rowKeyValue = testResourceNamer.randomName("rowKey", 20); + properties.put(PARTITION_KEY, partitionKeyValue); + properties.put(ROW_KEY, rowKeyValue); + int expectedStatusCode = 204; + String requestId = testResourceNamer.randomUuid(); + insertNoETag(tableName, properties); + + // Act & Assert + StepVerifier.create(azureTable.getTables().deleteEntityWithResponseAsync(tableName, partitionKeyValue, + rowKeyValue, "*", TIMEOUT, requestId, null, Context.NONE)) + .assertNext(response -> { + Assertions.assertEquals(expectedStatusCode, response.getStatusCode()); + }) + .expectComplete() + .verify(); + } + + @Test + void deleteNonExistentEntity() { + // Arrange + String tableName = testResourceNamer.randomName("test", 20); + createTable(tableName); + String partitionKeyValue = testResourceNamer.randomName("partitionKey", 20); + String rowKeyValue = testResourceNamer.randomName("rowKey", 20); + String requestId = testResourceNamer.randomUuid(); + + // Act & Assert + StepVerifier.create(azureTable.getTables().deleteEntityWithResponseAsync(tableName, partitionKeyValue, + rowKeyValue, "*", TIMEOUT, requestId, null, Context.NONE)) + .expectError(com.azure.data.tables.implementation.models.TableServiceErrorException.class) + .verify(); + } + + @Test + void queryEntity() { + // Arrange + String requestId = testResourceNamer.randomUuid(); + QueryOptions queryOptions = new QueryOptions().setFormat(OdataMetadataFormat.APPLICATION_JSON_ODATA_FULLMETADATA); + String tableName = testResourceNamer.randomName("test", 20); + createTable(tableName); + //insert entity A + Map entityA = new HashMap<>(); + String partitionKeyEntityA = testResourceNamer.randomName("partitionKeyA", 20); + entityA.put(PARTITION_KEY, partitionKeyEntityA); + entityA.put(ROW_KEY, testResourceNamer.randomName("rowKeyA", 20)); + insertNoETag(tableName, entityA); + //insert entity B + Map entityB = new HashMap<>(); + String partitionKeyEntityB = testResourceNamer.randomName("partitionKeyB", 20); + entityB.put(PARTITION_KEY, partitionKeyEntityB); + entityB.put(ROW_KEY, testResourceNamer.randomName("rowKeyB", 20)); + insertNoETag(tableName, entityB); + int expectedStatusCode = 200; + + // Act & Assert + StepVerifier.create(azureTable.getTables().queryEntitiesWithResponseAsync(tableName, TIMEOUT, + requestId, null, null, queryOptions, Context.NONE)) + .assertNext(response -> { + Assertions.assertEquals(expectedStatusCode, response.getStatusCode()); + Assertions.assertEquals(true, response.getValue().getValue().get(0).containsValue(partitionKeyEntityA)); + Assertions.assertEquals(true, response.getValue().getValue().get(1).containsValue(partitionKeyEntityB)); + + }) + .expectComplete() + .verify(); + } + + @Test + void queryEntityWithSelect() { + // Arrange + String requestId = testResourceNamer.randomUuid(); + QueryOptions queryOptions = new QueryOptions().setFormat(OdataMetadataFormat.APPLICATION_JSON_ODATA_FULLMETADATA); + String tableName = testResourceNamer.randomName("test", 20); + createTable(tableName); + //insert entity A + Map entityA = new HashMap<>(); + String partitionKeyEntityA = testResourceNamer.randomName("partitionKeyA", 20); + String rowKeyEntityA = testResourceNamer.randomName("rowKeyA", 20); + entityA.put(PARTITION_KEY, partitionKeyEntityA); + entityA.put(ROW_KEY, rowKeyEntityA); + insertNoETag(tableName, entityA); + //insert entity B + Map entityB = new HashMap<>(); + String partitionKeyEntityB = testResourceNamer.randomName("partitionKeyB", 20); + String rowKeyEntityB = testResourceNamer.randomName("rowKeyB", 20); + entityB.put(PARTITION_KEY, partitionKeyEntityB); + entityB.put(ROW_KEY, rowKeyEntityB); + insertNoETag(tableName, entityB); + int expectedStatusCode = 200; + queryOptions.setSelect(ROW_KEY); + + // Act & Assert + StepVerifier.create(azureTable.getTables().queryEntitiesWithResponseAsync(tableName, TIMEOUT, + requestId, null, null, queryOptions, Context.NONE)) + .assertNext(response -> { + Assertions.assertEquals(expectedStatusCode, response.getStatusCode()); + Assertions.assertEquals(true, response.getValue().getValue().get(0).containsValue(rowKeyEntityA)); + Assertions.assertEquals(true, response.getValue().getValue().get(1).containsValue(rowKeyEntityB)); + + }) + .expectComplete() + .verify(); + } + + @Test + void queryEntityWithFilter() { + // Arrange + String requestId = testResourceNamer.randomUuid(); + QueryOptions queryOptions = new QueryOptions().setFormat(OdataMetadataFormat.APPLICATION_JSON_ODATA_FULLMETADATA); + String tableName = testResourceNamer.randomName("test", 20); + createTable(tableName); + Map entityA = new HashMap<>(); + String partitionKeyEntityA = testResourceNamer.randomName("partitionKeyA", 20); + entityA.put(PARTITION_KEY, partitionKeyEntityA); + entityA.put(ROW_KEY, testResourceNamer.randomName("rowKeyA", 20)); + insertNoETag(tableName, entityA); + int expectedStatusCode = 200; + queryOptions.setSelect(PARTITION_KEY + "eq" + partitionKeyEntityA); + + // Act & Assert + StepVerifier.create(azureTable.getTables().queryEntitiesWithResponseAsync(tableName, TIMEOUT, + requestId, null, null, queryOptions, Context.NONE)) + .assertNext(response -> { + Assertions.assertEquals(expectedStatusCode, response.getStatusCode()); + + }) + .expectComplete() + .verify(); + } + + @Test + void queryEntityWithTop() { + // Arrange + String requestId = testResourceNamer.randomUuid(); + QueryOptions queryOptions = new QueryOptions().setFormat(OdataMetadataFormat.APPLICATION_JSON_ODATA_FULLMETADATA); + String tableName = testResourceNamer.randomName("test", 20); + createTable(tableName); + int expectedStatusCode = 200; + queryOptions.setTop(0); + + // Act & Assert + StepVerifier.create(azureTable.getTables().queryEntitiesWithResponseAsync(tableName, TIMEOUT, + requestId, null, null, queryOptions, Context.NONE)) + .assertNext(response -> { + Assertions.assertEquals(expectedStatusCode, response.getStatusCode()); + + }) + .expectComplete() + .verify(); + } + + + @Test + void queryEntitiesWithPartitionAndRowKey() { + // Arrange + QueryOptions queryOptions = new QueryOptions().setFormat(OdataMetadataFormat.APPLICATION_JSON_ODATA_FULLMETADATA); + String tableName = testResourceNamer.randomName("test", 20); + createTable(tableName); + Map properties = new HashMap<>(); + String partitionKeyValue = testResourceNamer.randomName("partitionKey", 20); + String rowKeyValue = testResourceNamer.randomName("rowKey", 20); + properties.put(PARTITION_KEY, partitionKeyValue); + properties.put(ROW_KEY, rowKeyValue); + insertNoETag(tableName, properties); + + // Act & Assert + StepVerifier.create(azureTable.getTables().queryEntitiesWithPartitionAndRowKeyWithResponseAsync(tableName, partitionKeyValue, + rowKeyValue, TIMEOUT, testResourceNamer.randomUuid(), queryOptions, Context.NONE)) + .assertNext(response -> { + Assertions.assertEquals(200, response.getStatusCode()); + }) + .expectComplete() + .verify(); + } + +} diff --git a/sdk/tables/azure-data-tables/src/test/resources/session-records/createTable.json b/sdk/tables/azure-data-tables/src/test/resources/session-records/createTable.json new file mode 100644 index 0000000000000..0d5bbc89624a0 --- /dev/null +++ b/sdk/tables/azure-data-tables/src/test/resources/session-records/createTable.json @@ -0,0 +1,71 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/Tables", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "a9d78bb2-d164-4813-a68a-21b1d869f95a", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:39 GMT", + "Cache-Control" : "no-cache", + "x-ms-request-id" : "a7b4297d-9002-00a7-1ba6-4fbd3f000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables/@Element\",\"TableName\":\"test76690b6b34\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "a9d78bb2-d164-4813-a68a-21b1d869f95a", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/Tables('test76690b6b34')" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.table.core.windows.net/Tables?$format=application/json%3Bodata%3Dminimalmetadata", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "5c690d2f-1bed-4a8a-b3d5-bd2e16abb60b" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-request-id" : "ad30c2d1-f002-0018-17a6-4f8a9a000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"test76690b6b34\"}]}", + "Date" : "Wed, 01 Jul 2020 12:52:39 GMT", + "x-ms-client-request-id" : "5c690d2f-1bed-4a8a-b3d5-bd2e16abb60b", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.table.core.windows.net/Tables('test76690b6b34')", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "5e96da64-2fbc-4c80-97e0-2a9bc5d027d2" + }, + "Response" : { + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "204", + "x-ms-request-id" : "093a81a1-5002-005c-2fa6-4f00a5000000", + "Date" : "Wed, 01 Jul 2020 12:52:40 GMT", + "x-ms-client-request-id" : "5e96da64-2fbc-4c80-97e0-2a9bc5d027d2" + }, + "Exception" : null + } ], + "variables" : [ "test76690b6b34", "a9d78bb2-d164-4813-a68a-21b1d869f95a", "5c690d2f-1bed-4a8a-b3d5-bd2e16abb60b", "5e96da64-2fbc-4c80-97e0-2a9bc5d027d2" ] +} \ No newline at end of file diff --git a/sdk/tables/azure-data-tables/src/test/resources/session-records/createTableDuplicateName.json b/sdk/tables/azure-data-tables/src/test/resources/session-records/createTableDuplicateName.json new file mode 100644 index 0000000000000..45f7ff918c26f --- /dev/null +++ b/sdk/tables/azure-data-tables/src/test/resources/session-records/createTableDuplicateName.json @@ -0,0 +1,95 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/Tables", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "409a82ad-e287-44d1-a690-5bd4ef967ed6", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:39 GMT", + "Cache-Control" : "no-cache", + "x-ms-request-id" : "ad30c29a-f002-0018-67a6-4f8a9a000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables/@Element\",\"TableName\":\"test58120f3142\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "409a82ad-e287-44d1-a690-5bd4ef967ed6", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/Tables('test58120f3142')" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/Tables", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "fd6fdf4f-e5d8-4103-8701-57186d499031", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "409", + "Date" : "Wed, 01 Jul 2020 12:52:39 GMT", + "Cache-Control" : "no-cache", + "x-ms-request-id" : "a7b42973-9002-00a7-13a6-4fbd3f000000", + "Body" : "{\"odata.error\":{\"code\":\"TableAlreadyExists\",\"message\":{\"lang\":\"en-US\",\"value\":\"The table specified already exists.\\nRequestId:a7b42973-9002-00a7-13a6-4fbd3f000000\\nTime:2020-07-01T12:52:40.2918342Z\"}}}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "fd6fdf4f-e5d8-4103-8701-57186d499031", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.table.core.windows.net/Tables?$format=application/json%3Bodata%3Dminimalmetadata", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "e65b82b8-5f45-45f5-8782-599e35dce293" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-request-id" : "ad30c2ab-f002-0018-74a6-4f8a9a000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"test58120f3142\"}]}", + "Date" : "Wed, 01 Jul 2020 12:52:39 GMT", + "x-ms-client-request-id" : "e65b82b8-5f45-45f5-8782-599e35dce293", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.table.core.windows.net/Tables('test58120f3142')", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "2556776e-fbcd-4604-8e29-7704e4d660b8" + }, + "Response" : { + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "204", + "x-ms-request-id" : "a7b42976-9002-00a7-15a6-4fbd3f000000", + "Date" : "Wed, 01 Jul 2020 12:52:39 GMT", + "x-ms-client-request-id" : "2556776e-fbcd-4604-8e29-7704e4d660b8" + }, + "Exception" : null + } ], + "variables" : [ "test58120f3142", "409a82ad-e287-44d1-a690-5bd4ef967ed6", "fd6fdf4f-e5d8-4103-8701-57186d499031", "e65b82b8-5f45-45f5-8782-599e35dce293", "2556776e-fbcd-4604-8e29-7704e4d660b8" ] +} \ No newline at end of file diff --git a/sdk/tables/azure-data-tables/src/test/resources/session-records/deleteEntity.json b/sdk/tables/azure-data-tables/src/test/resources/session-records/deleteEntity.json new file mode 100644 index 0000000000000..a25b9a7b1b4dd --- /dev/null +++ b/sdk/tables/azure-data-tables/src/test/resources/session-records/deleteEntity.json @@ -0,0 +1,117 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/Tables", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "faafc5c0-590f-40a3-97f4-ebcfb9000c96", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:39 GMT", + "Cache-Control" : "no-cache", + "x-ms-request-id" : "ad30c273-f002-0018-42a6-4f8a9a000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables/@Element\",\"TableName\":\"test245874b810\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "faafc5c0-590f-40a3-97f4-ebcfb9000c96", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/Tables('test245874b810')" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/test245874b810?timeout=5000", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "624270cf-d95d-4534-90e7-557fc3aa5072", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:39 GMT", + "Cache-Control" : "no-cache", + "ETag" : "W/\"datetime'2020-07-01T12%3A52%3A39.957606Z'\"", + "x-ms-request-id" : "a7b42962-9002-00a7-06a6-4fbd3f000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#test245874b810/@Element\",\"odata.etag\":\"W/\\\"datetime'2020-07-01T12%3A52%3A39.957606Z'\\\"\",\"PartitionKey\":\"partitionkey59485f\",\"RowKey\":\"rowkey62777e872\",\"Timestamp\":\"2020-07-01T12:52:39.957606Z\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "624270cf-d95d-4534-90e7-557fc3aa5072", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/test245874b810(PartitionKey='partitionkey59485f',RowKey='rowkey62777e872')" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.table.core.windows.net/test245874b810(PartitionKey='partitionkey59485f',RowKey='rowkey62777e872')?timeout=5000", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "ccd134fc-ef83-422d-837e-29fc76d2e714" + }, + "Response" : { + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "204", + "x-ms-request-id" : "ad30c27f-f002-0018-4da6-4f8a9a000000", + "Date" : "Wed, 01 Jul 2020 12:52:39 GMT", + "x-ms-client-request-id" : "ccd134fc-ef83-422d-837e-29fc76d2e714" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.table.core.windows.net/Tables?$format=application/json%3Bodata%3Dminimalmetadata", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "c141cf5a-fea3-4063-986a-e678ebd1ef73" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-request-id" : "a7b42967-9002-00a7-09a6-4fbd3f000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"test245874b810\"}]}", + "Date" : "Wed, 01 Jul 2020 12:52:39 GMT", + "x-ms-client-request-id" : "c141cf5a-fea3-4063-986a-e678ebd1ef73", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.table.core.windows.net/Tables('test245874b810')", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "a03fed8f-d134-459d-a034-ecc1500936f2" + }, + "Response" : { + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "204", + "x-ms-request-id" : "ad30c286-f002-0018-54a6-4f8a9a000000", + "Date" : "Wed, 01 Jul 2020 12:52:39 GMT", + "x-ms-client-request-id" : "a03fed8f-d134-459d-a034-ecc1500936f2" + }, + "Exception" : null + } ], + "variables" : [ "test245874b810", "faafc5c0-590f-40a3-97f4-ebcfb9000c96", "partitionkey59485f", "rowkey62777e872", "ccd134fc-ef83-422d-837e-29fc76d2e714", "624270cf-d95d-4534-90e7-557fc3aa5072", "c141cf5a-fea3-4063-986a-e678ebd1ef73", "a03fed8f-d134-459d-a034-ecc1500936f2" ] +} \ No newline at end of file diff --git a/sdk/tables/azure-data-tables/src/test/resources/session-records/deleteNonExistentEntity.json b/sdk/tables/azure-data-tables/src/test/resources/session-records/deleteNonExistentEntity.json new file mode 100644 index 0000000000000..32ae91b9bf695 --- /dev/null +++ b/sdk/tables/azure-data-tables/src/test/resources/session-records/deleteNonExistentEntity.json @@ -0,0 +1,93 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/Tables", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "8464dcea-160a-4522-be14-d2e36b9c63ea", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:41 GMT", + "Cache-Control" : "no-cache", + "x-ms-request-id" : "093a81b5-5002-005c-3ea6-4f00a5000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables/@Element\",\"TableName\":\"test89907b301b\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "8464dcea-160a-4522-be14-d2e36b9c63ea", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/Tables('test89907b301b')" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.table.core.windows.net/test89907b301b(PartitionKey='partitionkey208848',RowKey='rowkey218589688')?timeout=5000", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "7f7ff35f-5d51-460e-aeb1-51f3c8274fd2" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "404", + "x-ms-request-id" : "a7b4299e-9002-00a7-36a6-4fbd3f000000", + "Body" : "{\"odata.error\":{\"code\":\"ResourceNotFound\",\"message\":{\"lang\":\"en-US\",\"value\":\"The specified resource does not exist.\\nRequestId:a7b4299e-9002-00a7-36a6-4fbd3f000000\\nTime:2020-07-01T12:52:41.7468206Z\"}}}", + "Date" : "Wed, 01 Jul 2020 12:52:41 GMT", + "x-ms-client-request-id" : "7f7ff35f-5d51-460e-aeb1-51f3c8274fd2", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.table.core.windows.net/Tables?$format=application/json%3Bodata%3Dminimalmetadata", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "384b2804-235c-494b-987c-670eb9bdf5d7" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-request-id" : "ad30c31e-f002-0018-5ea6-4f8a9a000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"test89907b301b\"}]}", + "Date" : "Wed, 01 Jul 2020 12:52:40 GMT", + "x-ms-client-request-id" : "384b2804-235c-494b-987c-670eb9bdf5d7", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.table.core.windows.net/Tables('test89907b301b')", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "6ec93e40-fd7b-4493-9a7d-550630d5c052" + }, + "Response" : { + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "204", + "x-ms-request-id" : "093a81b7-5002-005c-3fa6-4f00a5000000", + "Date" : "Wed, 01 Jul 2020 12:52:41 GMT", + "x-ms-client-request-id" : "6ec93e40-fd7b-4493-9a7d-550630d5c052" + }, + "Exception" : null + } ], + "variables" : [ "test89907b301b", "8464dcea-160a-4522-be14-d2e36b9c63ea", "partitionkey208848", "rowkey218589688", "7f7ff35f-5d51-460e-aeb1-51f3c8274fd2", "384b2804-235c-494b-987c-670eb9bdf5d7", "6ec93e40-fd7b-4493-9a7d-550630d5c052" ] +} \ No newline at end of file diff --git a/sdk/tables/azure-data-tables/src/test/resources/session-records/deleteNonExistentTable.json b/sdk/tables/azure-data-tables/src/test/resources/session-records/deleteNonExistentTable.json new file mode 100644 index 0000000000000..f04c87092323a --- /dev/null +++ b/sdk/tables/azure-data-tables/src/test/resources/session-records/deleteNonExistentTable.json @@ -0,0 +1,48 @@ +{ + "networkCallRecords" : [ { + "Method" : "DELETE", + "Uri" : "https://REDACTED.table.core.windows.net/Tables('test881632ce78')", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "61e7d1cd-7f37-4a62-a9d4-e969489a4706" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "404", + "x-ms-request-id" : "a7b4299c-9002-00a7-34a6-4fbd3f000000", + "Body" : "{\"odata.error\":{\"code\":\"ResourceNotFound\",\"message\":{\"lang\":\"en-US\",\"value\":\"The specified resource does not exist.\\nRequestId:a7b4299c-9002-00a7-34a6-4fbd3f000000\\nTime:2020-07-01T12:52:41.6397487Z\"}}}", + "Date" : "Wed, 01 Jul 2020 12:52:40 GMT", + "x-ms-client-request-id" : "61e7d1cd-7f37-4a62-a9d4-e969489a4706", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.table.core.windows.net/Tables?$format=application/json%3Bodata%3Dminimalmetadata", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "b1fd53e4-f5db-4f26-ada1-717078c65c32" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-request-id" : "ad30c318-f002-0018-58a6-4f8a9a000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables\",\"value\":[]}", + "Date" : "Wed, 01 Jul 2020 12:52:40 GMT", + "x-ms-client-request-id" : "b1fd53e4-f5db-4f26-ada1-717078c65c32", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ "test881632ce78", "61e7d1cd-7f37-4a62-a9d4-e969489a4706", "b1fd53e4-f5db-4f26-ada1-717078c65c32" ] +} \ No newline at end of file diff --git a/sdk/tables/azure-data-tables/src/test/resources/session-records/deleteTable.json b/sdk/tables/azure-data-tables/src/test/resources/session-records/deleteTable.json new file mode 100644 index 0000000000000..d0a1c67478c8a --- /dev/null +++ b/sdk/tables/azure-data-tables/src/test/resources/session-records/deleteTable.json @@ -0,0 +1,71 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/Tables", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "e8dd6513-984c-4aca-b603-f2f2104b2e58", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:39 GMT", + "Cache-Control" : "no-cache", + "x-ms-request-id" : "a7b42970-9002-00a7-11a6-4fbd3f000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables/@Element\",\"TableName\":\"test824812e297\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "e8dd6513-984c-4aca-b603-f2f2104b2e58", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/Tables('test824812e297')" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.table.core.windows.net/Tables('test824812e297')", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "2e02dc7f-2073-43e9-b115-d01fe9b5f2bd" + }, + "Response" : { + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "204", + "x-ms-request-id" : "ad30c28c-f002-0018-5aa6-4f8a9a000000", + "Date" : "Wed, 01 Jul 2020 12:52:39 GMT", + "x-ms-client-request-id" : "2e02dc7f-2073-43e9-b115-d01fe9b5f2bd" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.table.core.windows.net/Tables?$format=application/json%3Bodata%3Dminimalmetadata", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "821a9e14-e040-4a42-a02f-edf44001f228" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-request-id" : "a7b42972-9002-00a7-12a6-4fbd3f000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables\",\"value\":[]}", + "Date" : "Wed, 01 Jul 2020 12:52:39 GMT", + "x-ms-client-request-id" : "821a9e14-e040-4a42-a02f-edf44001f228", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + } ], + "variables" : [ "test824812e297", "e8dd6513-984c-4aca-b603-f2f2104b2e58", "2e02dc7f-2073-43e9-b115-d01fe9b5f2bd", "821a9e14-e040-4a42-a02f-edf44001f228" ] +} \ No newline at end of file diff --git a/sdk/tables/azure-data-tables/src/test/resources/session-records/insertNoEtag.json b/sdk/tables/azure-data-tables/src/test/resources/session-records/insertNoEtag.json new file mode 100644 index 0000000000000..48c931e6931b4 --- /dev/null +++ b/sdk/tables/azure-data-tables/src/test/resources/session-records/insertNoEtag.json @@ -0,0 +1,97 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/Tables", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "b96e625c-77ad-4e5c-82cc-01cbaff22837", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:41 GMT", + "Cache-Control" : "no-cache", + "x-ms-request-id" : "093a81a8-5002-005c-34a6-4f00a5000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables/@Element\",\"TableName\":\"test709465a8ae\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "b96e625c-77ad-4e5c-82cc-01cbaff22837", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/Tables('test709465a8ae')" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/test709465a8ae?timeout=5000", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "ff21f7df-3ce1-4000-a360-16a92b215bd6", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:40 GMT", + "Cache-Control" : "no-cache", + "ETag" : "W/\"datetime'2020-07-01T12%3A52%3A41.1924458Z'\"", + "x-ms-request-id" : "a7b42990-9002-00a7-2ba6-4fbd3f000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#test709465a8ae/@Element\",\"odata.etag\":\"W/\\\"datetime'2020-07-01T12%3A52%3A41.1924458Z'\\\"\",\"PartitionKey\":\"partitionkey580821\",\"RowKey\":\"rowkey8284822cb\",\"Timestamp\":\"2020-07-01T12:52:41.1924458Z\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "ff21f7df-3ce1-4000-a360-16a92b215bd6", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/test709465a8ae(PartitionKey='partitionkey580821',RowKey='rowkey8284822cb')" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.table.core.windows.net/Tables?$format=application/json%3Bodata%3Dminimalmetadata", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "df767a68-a3a3-40fc-b397-216f6056e6ee" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-request-id" : "ad30c2f8-f002-0018-3ba6-4f8a9a000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"test709465a8ae\"}]}", + "Date" : "Wed, 01 Jul 2020 12:52:40 GMT", + "x-ms-client-request-id" : "df767a68-a3a3-40fc-b397-216f6056e6ee", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.table.core.windows.net/Tables('test709465a8ae')", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "3fd87f61-cc43-4d33-9236-4cd79bbd6a44" + }, + "Response" : { + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "204", + "x-ms-request-id" : "093a81ac-5002-005c-37a6-4f00a5000000", + "Date" : "Wed, 01 Jul 2020 12:52:41 GMT", + "x-ms-client-request-id" : "3fd87f61-cc43-4d33-9236-4cd79bbd6a44" + }, + "Exception" : null + } ], + "variables" : [ "test709465a8ae", "b96e625c-77ad-4e5c-82cc-01cbaff22837", "partitionkey580821", "rowkey8284822cb", "ff21f7df-3ce1-4000-a360-16a92b215bd6", "df767a68-a3a3-40fc-b397-216f6056e6ee", "3fd87f61-cc43-4d33-9236-4cd79bbd6a44" ] +} \ No newline at end of file diff --git a/sdk/tables/azure-data-tables/src/test/resources/session-records/mergeEntity.json b/sdk/tables/azure-data-tables/src/test/resources/session-records/mergeEntity.json new file mode 100644 index 0000000000000..7d06bcf3c62ea --- /dev/null +++ b/sdk/tables/azure-data-tables/src/test/resources/session-records/mergeEntity.json @@ -0,0 +1,119 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/Tables", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "71e298e5-c839-4528-9059-c7f806d29fa3", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:40 GMT", + "Cache-Control" : "no-cache", + "x-ms-request-id" : "a7b42984-9002-00a7-21a6-4fbd3f000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables/@Element\",\"TableName\":\"test745290e4fc\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "71e298e5-c839-4528-9059-c7f806d29fa3", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/Tables('test745290e4fc')" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/test745290e4fc?timeout=5000", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "12a068f7-4fe0-4d2b-a5c7-af9280c2f7cf", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:40 GMT", + "Cache-Control" : "no-cache", + "ETag" : "W/\"datetime'2020-07-01T12%3A52%3A40.8214991Z'\"", + "x-ms-request-id" : "ad30c2d7-f002-0018-1da6-4f8a9a000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#test745290e4fc/@Element\",\"odata.etag\":\"W/\\\"datetime'2020-07-01T12%3A52%3A40.8214991Z'\\\"\",\"PartitionKey\":\"partitionkey47248f\",\"RowKey\":\"rowkey009805dad\",\"Timestamp\":\"2020-07-01T12:52:40.8214991Z\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "12a068f7-4fe0-4d2b-a5c7-af9280c2f7cf", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/test745290e4fc(PartitionKey='partitionkey47248f',RowKey='rowkey009805dad')" + }, + "Exception" : null + }, { + "Method" : "PATCH", + "Uri" : "https://REDACTED.table.core.windows.net/test745290e4fc(PartitionKey='partitionkey47248f',RowKey='rowkey009805dad')?timeout=5000", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "0049a02f-1e93-4b0a-a7e1-8f886878baa1", + "Content-Type" : "application/json" + }, + "Response" : { + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "ETag" : "W/\"datetime'2020-07-01T12%3A52%3A40.8629359Z'\"", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "204", + "x-ms-request-id" : "093a81a3-5002-005c-31a6-4f00a5000000", + "Date" : "Wed, 01 Jul 2020 12:52:40 GMT", + "x-ms-client-request-id" : "0049a02f-1e93-4b0a-a7e1-8f886878baa1" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.table.core.windows.net/Tables?$format=application/json%3Bodata%3Dminimalmetadata", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "8b78b847-eb4b-4476-82f3-b43dc21281ee" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-request-id" : "a7b42988-9002-00a7-24a6-4fbd3f000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"test745290e4fc\"}]}", + "Date" : "Wed, 01 Jul 2020 12:52:40 GMT", + "x-ms-client-request-id" : "8b78b847-eb4b-4476-82f3-b43dc21281ee", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.table.core.windows.net/Tables('test745290e4fc')", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "9f5787b2-5335-48d3-8cdf-cc5fd77d4d38" + }, + "Response" : { + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "204", + "x-ms-request-id" : "ad30c2dd-f002-0018-22a6-4f8a9a000000", + "Date" : "Wed, 01 Jul 2020 12:52:40 GMT", + "x-ms-client-request-id" : "9f5787b2-5335-48d3-8cdf-cc5fd77d4d38" + }, + "Exception" : null + } ], + "variables" : [ "test745290e4fc", "71e298e5-c839-4528-9059-c7f806d29fa3", "partitionkey47248f", "rowkey009805dad", "0049a02f-1e93-4b0a-a7e1-8f886878baa1", "12a068f7-4fe0-4d2b-a5c7-af9280c2f7cf", "dd2a873956ce4f0e", "8b78b847-eb4b-4476-82f3-b43dc21281ee", "9f5787b2-5335-48d3-8cdf-cc5fd77d4d38" ] +} \ No newline at end of file diff --git a/sdk/tables/azure-data-tables/src/test/resources/session-records/mergeNonExistentEntity.json b/sdk/tables/azure-data-tables/src/test/resources/session-records/mergeNonExistentEntity.json new file mode 100644 index 0000000000000..c77796323013d --- /dev/null +++ b/sdk/tables/azure-data-tables/src/test/resources/session-records/mergeNonExistentEntity.json @@ -0,0 +1,94 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/Tables", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "301b8e99-69ca-4c62-a03e-6206aed65304", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:38 GMT", + "Cache-Control" : "no-cache", + "x-ms-request-id" : "ad30c261-f002-0018-32a6-4f8a9a000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables/@Element\",\"TableName\":\"test64434b87bf\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "301b8e99-69ca-4c62-a03e-6206aed65304", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/Tables('test64434b87bf')" + }, + "Exception" : null + }, { + "Method" : "PATCH", + "Uri" : "https://REDACTED.table.core.windows.net/test64434b87bf(PartitionKey='partitionkey223364',RowKey='rowkey2745830d2')?timeout=5000", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "e5e62ece-8996-4f2d-abd4-437c45a80aad", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "404", + "x-ms-request-id" : "a7b42955-9002-00a7-7aa6-4fbd3f000000", + "Body" : "{\"odata.error\":{\"code\":\"ResourceNotFound\",\"message\":{\"lang\":\"en-US\",\"value\":\"The specified resource does not exist.\\nRequestId:a7b42955-9002-00a7-7aa6-4fbd3f000000\\nTime:2020-07-01T12:52:39.8135080Z\"}}}", + "Date" : "Wed, 01 Jul 2020 12:52:39 GMT", + "x-ms-client-request-id" : "e5e62ece-8996-4f2d-abd4-437c45a80aad", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.table.core.windows.net/Tables?$format=application/json%3Bodata%3Dminimalmetadata", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "591ca6f1-7768-447a-8d32-800669d83f0b" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-request-id" : "ad30c26b-f002-0018-3ba6-4f8a9a000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"test64434b87bf\"}]}", + "Date" : "Wed, 01 Jul 2020 12:52:39 GMT", + "x-ms-client-request-id" : "591ca6f1-7768-447a-8d32-800669d83f0b", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.table.core.windows.net/Tables('test64434b87bf')", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "cdf4d28d-1808-4511-8016-3c0ab4f39d59" + }, + "Response" : { + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "204", + "x-ms-request-id" : "a7b4295c-9002-00a7-80a6-4fbd3f000000", + "Date" : "Wed, 01 Jul 2020 12:52:39 GMT", + "x-ms-client-request-id" : "cdf4d28d-1808-4511-8016-3c0ab4f39d59" + }, + "Exception" : null + } ], + "variables" : [ "test64434b87bf", "301b8e99-69ca-4c62-a03e-6206aed65304", "partitionkey223364", "rowkey2745830d2", "e5e62ece-8996-4f2d-abd4-437c45a80aad", "591ca6f1-7768-447a-8d32-800669d83f0b", "cdf4d28d-1808-4511-8016-3c0ab4f39d59" ] +} \ No newline at end of file diff --git a/sdk/tables/azure-data-tables/src/test/resources/session-records/queryEntitiesWithPartitionAndRowKey.json b/sdk/tables/azure-data-tables/src/test/resources/session-records/queryEntitiesWithPartitionAndRowKey.json new file mode 100644 index 0000000000000..899365e47b0b6 --- /dev/null +++ b/sdk/tables/azure-data-tables/src/test/resources/session-records/queryEntitiesWithPartitionAndRowKey.json @@ -0,0 +1,120 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/Tables", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "32944c6a-6cc0-4205-ada4-e8cb6d089087", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:40 GMT", + "Cache-Control" : "no-cache", + "x-ms-request-id" : "ad30c30a-f002-0018-4ba6-4f8a9a000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables/@Element\",\"TableName\":\"test15500468dc\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "32944c6a-6cc0-4205-ada4-e8cb6d089087", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/Tables('test15500468dc')" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/test15500468dc?timeout=5000", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "b1ff3069-6dd1-490b-b946-2cf3d7e6dd91", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:41 GMT", + "Cache-Control" : "no-cache", + "ETag" : "W/\"datetime'2020-07-01T12%3A52%3A41.4917242Z'\"", + "x-ms-request-id" : "093a81b1-5002-005c-3ca6-4f00a5000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#test15500468dc/@Element\",\"odata.etag\":\"W/\\\"datetime'2020-07-01T12%3A52%3A41.4917242Z'\\\"\",\"PartitionKey\":\"partitionkey919688\",\"RowKey\":\"rowkey745419b2d\",\"Timestamp\":\"2020-07-01T12:52:41.4917242Z\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "b1ff3069-6dd1-490b-b946-2cf3d7e6dd91", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/test15500468dc(PartitionKey='partitionkey919688',RowKey='rowkey745419b2d')" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.table.core.windows.net/test15500468dc(PartitionKey='partitionkey919688',RowKey='rowkey745419b2d')?timeout=5000&$format=application/json%3Bodata%3Dfullmetadata", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "97019a59-d27d-4d13-b68b-3317a67fe8e0" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "200", + "Date" : "Wed, 01 Jul 2020 12:52:40 GMT", + "Cache-Control" : "no-cache", + "ETag" : "W/\"datetime'2020-07-01T12%3A52%3A41.4917242Z'\"", + "x-ms-request-id" : "a7b4299a-9002-00a7-33a6-4fbd3f000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#test15500468dc/@Element\",\"odata.type\":\"telboytrial.test15500468dc\",\"odata.id\":\"https://telboytrial.table.core.windows.net/test15500468dc(PartitionKey='partitionkey919688',RowKey='rowkey745419b2d')\",\"odata.etag\":\"W/\\\"datetime'2020-07-01T12%3A52%3A41.4917242Z'\\\"\",\"odata.editLink\":\"test15500468dc(PartitionKey='partitionkey919688',RowKey='rowkey745419b2d')\",\"PartitionKey\":\"partitionkey919688\",\"RowKey\":\"rowkey745419b2d\",\"Timestamp@odata.type\":\"Edm.DateTime\",\"Timestamp\":\"2020-07-01T12:52:41.4917242Z\"}", + "x-ms-client-request-id" : "97019a59-d27d-4d13-b68b-3317a67fe8e0", + "Content-Type" : "application/json;odata=fullmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.table.core.windows.net/Tables?$format=application/json%3Bodata%3Dminimalmetadata", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "0fc71aea-dec3-4afb-9180-f1007e031de5" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-request-id" : "ad30c312-f002-0018-52a6-4f8a9a000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"test15500468dc\"}]}", + "Date" : "Wed, 01 Jul 2020 12:52:40 GMT", + "x-ms-client-request-id" : "0fc71aea-dec3-4afb-9180-f1007e031de5", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.table.core.windows.net/Tables('test15500468dc')", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "91e1e3f0-735a-4a55-9d48-43b394164315" + }, + "Response" : { + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "204", + "x-ms-request-id" : "093a81b4-5002-005c-3da6-4f00a5000000", + "Date" : "Wed, 01 Jul 2020 12:52:41 GMT", + "x-ms-client-request-id" : "91e1e3f0-735a-4a55-9d48-43b394164315" + }, + "Exception" : null + } ], + "variables" : [ "test15500468dc", "32944c6a-6cc0-4205-ada4-e8cb6d089087", "partitionkey919688", "rowkey745419b2d", "b1ff3069-6dd1-490b-b946-2cf3d7e6dd91", "97019a59-d27d-4d13-b68b-3317a67fe8e0", "0fc71aea-dec3-4afb-9180-f1007e031de5", "91e1e3f0-735a-4a55-9d48-43b394164315" ] +} \ No newline at end of file diff --git a/sdk/tables/azure-data-tables/src/test/resources/session-records/queryEntity.json b/sdk/tables/azure-data-tables/src/test/resources/session-records/queryEntity.json new file mode 100644 index 0000000000000..fa3d704d7dc95 --- /dev/null +++ b/sdk/tables/azure-data-tables/src/test/resources/session-records/queryEntity.json @@ -0,0 +1,145 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/Tables", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "feaa79a2-f371-43cd-82da-16db350de78e", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:38 GMT", + "Cache-Control" : "no-cache", + "x-ms-request-id" : "a7b42905-9002-00a7-33a6-4fbd3f000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables/@Element\",\"TableName\":\"test39546bcdb2\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "feaa79a2-f371-43cd-82da-16db350de78e", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/Tables('test39546bcdb2')" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/test39546bcdb2?timeout=5000", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "425426f6-366e-4d3b-bcb1-76e3e4c049c5", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:38 GMT", + "Cache-Control" : "no-cache", + "ETag" : "W/\"datetime'2020-07-01T12%3A52%3A38.9901948Z'\"", + "x-ms-request-id" : "ad30c21e-f002-0018-77a6-4f8a9a000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#test39546bcdb2/@Element\",\"odata.etag\":\"W/\\\"datetime'2020-07-01T12%3A52%3A38.9901948Z'\\\"\",\"PartitionKey\":\"partitionkeya18693a\",\"RowKey\":\"rowkeya648351502\",\"Timestamp\":\"2020-07-01T12:52:38.9901948Z\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "425426f6-366e-4d3b-bcb1-76e3e4c049c5", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/test39546bcdb2(PartitionKey='partitionkeya18693a',RowKey='rowkeya648351502')" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/test39546bcdb2?timeout=5000", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "8ea2563b-487a-42b2-947c-74e7ea6844e3", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:38 GMT", + "Cache-Control" : "no-cache", + "ETag" : "W/\"datetime'2020-07-01T12%3A52%3A39.0259727Z'\"", + "x-ms-request-id" : "a7b4290b-9002-00a7-38a6-4fbd3f000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#test39546bcdb2/@Element\",\"odata.etag\":\"W/\\\"datetime'2020-07-01T12%3A52%3A39.0259727Z'\\\"\",\"PartitionKey\":\"partitionkeyb950639\",\"RowKey\":\"rowkeyb2421336ba\",\"Timestamp\":\"2020-07-01T12:52:39.0259727Z\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "8ea2563b-487a-42b2-947c-74e7ea6844e3", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/test39546bcdb2(PartitionKey='partitionkeyb950639',RowKey='rowkeyb2421336ba')" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.table.core.windows.net/test39546bcdb2()?timeout=5000&$format=application/json%3Bodata%3Dfullmetadata", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "d3c82523-db05-42a3-8132-bafca143a596" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-request-id" : "ad30c227-f002-0018-7da6-4f8a9a000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#test39546bcdb2\",\"value\":[{\"odata.type\":\"telboytrial.test39546bcdb2\",\"odata.id\":\"https://telboytrial.table.core.windows.net/test39546bcdb2(PartitionKey='partitionkeya18693a',RowKey='rowkeya648351502')\",\"odata.etag\":\"W/\\\"datetime'2020-07-01T12%3A52%3A38.9901948Z'\\\"\",\"odata.editLink\":\"test39546bcdb2(PartitionKey='partitionkeya18693a',RowKey='rowkeya648351502')\",\"PartitionKey\":\"partitionkeya18693a\",\"RowKey\":\"rowkeya648351502\",\"Timestamp@odata.type\":\"Edm.DateTime\",\"Timestamp\":\"2020-07-01T12:52:38.9901948Z\"},{\"odata.type\":\"telboytrial.test39546bcdb2\",\"odata.id\":\"https://telboytrial.table.core.windows.net/test39546bcdb2(PartitionKey='partitionkeyb950639',RowKey='rowkeyb2421336ba')\",\"odata.etag\":\"W/\\\"datetime'2020-07-01T12%3A52%3A39.0259727Z'\\\"\",\"odata.editLink\":\"test39546bcdb2(PartitionKey='partitionkeyb950639',RowKey='rowkeyb2421336ba')\",\"PartitionKey\":\"partitionkeyb950639\",\"RowKey\":\"rowkeyb2421336ba\",\"Timestamp@odata.type\":\"Edm.DateTime\",\"Timestamp\":\"2020-07-01T12:52:39.0259727Z\"}]}", + "Date" : "Wed, 01 Jul 2020 12:52:38 GMT", + "x-ms-client-request-id" : "d3c82523-db05-42a3-8132-bafca143a596", + "Content-Type" : "application/json;odata=fullmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.table.core.windows.net/Tables?$format=application/json%3Bodata%3Dminimalmetadata", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "360ce089-b9d9-46de-a719-c6ab14840f76" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-request-id" : "a7b42919-9002-00a7-44a6-4fbd3f000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"test39546bcdb2\"}]}", + "Date" : "Wed, 01 Jul 2020 12:52:38 GMT", + "x-ms-client-request-id" : "360ce089-b9d9-46de-a719-c6ab14840f76", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.table.core.windows.net/Tables('test39546bcdb2')", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "5b5d25d6-101f-43b2-95fa-3a969e922205" + }, + "Response" : { + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "204", + "x-ms-request-id" : "ad30c231-f002-0018-05a6-4f8a9a000000", + "Date" : "Wed, 01 Jul 2020 12:52:38 GMT", + "x-ms-client-request-id" : "5b5d25d6-101f-43b2-95fa-3a969e922205" + }, + "Exception" : null + } ], + "variables" : [ "d3c82523-db05-42a3-8132-bafca143a596", "test39546bcdb2", "feaa79a2-f371-43cd-82da-16db350de78e", "partitionkeya18693a", "rowkeya648351502", "425426f6-366e-4d3b-bcb1-76e3e4c049c5", "partitionkeyb950639", "rowkeyb2421336ba", "8ea2563b-487a-42b2-947c-74e7ea6844e3", "360ce089-b9d9-46de-a719-c6ab14840f76", "5b5d25d6-101f-43b2-95fa-3a969e922205" ] +} \ No newline at end of file diff --git a/sdk/tables/azure-data-tables/src/test/resources/session-records/queryEntityWithFilter.json b/sdk/tables/azure-data-tables/src/test/resources/session-records/queryEntityWithFilter.json new file mode 100644 index 0000000000000..70f032f32508e --- /dev/null +++ b/sdk/tables/azure-data-tables/src/test/resources/session-records/queryEntityWithFilter.json @@ -0,0 +1,119 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/Tables", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "fa5f279a-f9de-43a9-ab5e-f6e670bc5a81", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:37 GMT", + "Cache-Control" : "no-cache", + "x-ms-request-id" : "a7b428e4-9002-00a7-18a6-4fbd3f000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables/@Element\",\"TableName\":\"test16410dc76b\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "fa5f279a-f9de-43a9-ab5e-f6e670bc5a81", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/Tables('test16410dc76b')" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/test16410dc76b?timeout=5000", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "99facfde-f2f2-439d-af41-eb234ad456a1", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:37 GMT", + "Cache-Control" : "no-cache", + "ETag" : "W/\"datetime'2020-07-01T12%3A52%3A38.5556524Z'\"", + "x-ms-request-id" : "a7b428f4-9002-00a7-22a6-4fbd3f000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#test16410dc76b/@Element\",\"odata.etag\":\"W/\\\"datetime'2020-07-01T12%3A52%3A38.5556524Z'\\\"\",\"PartitionKey\":\"partitionkeya52522a\",\"RowKey\":\"rowkeya5870843ae\",\"Timestamp\":\"2020-07-01T12:52:38.5556524Z\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "99facfde-f2f2-439d-af41-eb234ad456a1", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/test16410dc76b(PartitionKey='partitionkeya52522a',RowKey='rowkeya5870843ae')" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.table.core.windows.net/test16410dc76b()?timeout=5000&$format=application/json%3Bodata%3Dfullmetadata&$select=PartitionKeyeqpartitionkeya52522a", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "64b80104-3a4c-400d-ba72-c49075f2e2ca" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-request-id" : "a7b428f7-9002-00a7-25a6-4fbd3f000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#test16410dc76b&$select=PartitionKeyeqpartitionkeya52522a\",\"value\":[{\"odata.type\":\"telboytrial.test16410dc76b\",\"odata.id\":\"https://telboytrial.table.core.windows.net/test16410dc76b(PartitionKey='partitionkeya52522a',RowKey='rowkeya5870843ae')\",\"odata.etag\":\"W/\\\"datetime'2020-07-01T12%3A52%3A38.5556524Z'\\\"\",\"odata.editLink\":\"test16410dc76b(PartitionKey='partitionkeya52522a',RowKey='rowkeya5870843ae')\",\"PartitionKeyeqpartitionkeya52522a\":null}]}", + "Date" : "Wed, 01 Jul 2020 12:52:37 GMT", + "x-ms-client-request-id" : "64b80104-3a4c-400d-ba72-c49075f2e2ca", + "Content-Type" : "application/json;odata=fullmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.table.core.windows.net/Tables?$format=application/json%3Bodata%3Dminimalmetadata", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "dac0dce8-b1ff-4ea8-a704-59f98ffc2812" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-request-id" : "a7b428fa-9002-00a7-28a6-4fbd3f000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"test16410dc76b\"}]}", + "Date" : "Wed, 01 Jul 2020 12:52:37 GMT", + "x-ms-client-request-id" : "dac0dce8-b1ff-4ea8-a704-59f98ffc2812", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.table.core.windows.net/Tables('test16410dc76b')", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "569436a7-afa3-448e-b73f-a9f02221d11d" + }, + "Response" : { + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "204", + "x-ms-request-id" : "ad30c214-f002-0018-6ea6-4f8a9a000000", + "Date" : "Wed, 01 Jul 2020 12:52:38 GMT", + "x-ms-client-request-id" : "569436a7-afa3-448e-b73f-a9f02221d11d" + }, + "Exception" : null + } ], + "variables" : [ "64b80104-3a4c-400d-ba72-c49075f2e2ca", "test16410dc76b", "fa5f279a-f9de-43a9-ab5e-f6e670bc5a81", "partitionkeya52522a", "rowkeya5870843ae", "99facfde-f2f2-439d-af41-eb234ad456a1", "dac0dce8-b1ff-4ea8-a704-59f98ffc2812", "569436a7-afa3-448e-b73f-a9f02221d11d" ] +} \ No newline at end of file diff --git a/sdk/tables/azure-data-tables/src/test/resources/session-records/queryEntityWithSelect.json b/sdk/tables/azure-data-tables/src/test/resources/session-records/queryEntityWithSelect.json new file mode 100644 index 0000000000000..bdfed955aca63 --- /dev/null +++ b/sdk/tables/azure-data-tables/src/test/resources/session-records/queryEntityWithSelect.json @@ -0,0 +1,145 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/Tables", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "20f2e3e7-8c5b-404e-a83d-d5261fdc7fd1", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:38 GMT", + "Cache-Control" : "no-cache", + "x-ms-request-id" : "a7b4291f-9002-00a7-4aa6-4fbd3f000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables/@Element\",\"TableName\":\"test804717a76b\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "20f2e3e7-8c5b-404e-a83d-d5261fdc7fd1", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/Tables('test804717a76b')" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/test804717a76b?timeout=5000", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "2e55ea16-a416-4391-93fc-785127f6a336", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:38 GMT", + "Cache-Control" : "no-cache", + "ETag" : "W/\"datetime'2020-07-01T12%3A52%3A39.2383714Z'\"", + "x-ms-request-id" : "ad30c237-f002-0018-0ba6-4f8a9a000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#test804717a76b/@Element\",\"odata.etag\":\"W/\\\"datetime'2020-07-01T12%3A52%3A39.2383714Z'\\\"\",\"PartitionKey\":\"partitionkeya938347\",\"RowKey\":\"rowkeya839234295\",\"Timestamp\":\"2020-07-01T12:52:39.2383714Z\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "2e55ea16-a416-4391-93fc-785127f6a336", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/test804717a76b(PartitionKey='partitionkeya938347',RowKey='rowkeya839234295')" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/test804717a76b?timeout=5000", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "65f5dce9-21be-4462-bd3f-6736343767a5", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:38 GMT", + "Cache-Control" : "no-cache", + "ETag" : "W/\"datetime'2020-07-01T12%3A52%3A39.280146Z'\"", + "x-ms-request-id" : "a7b4292b-9002-00a7-55a6-4fbd3f000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#test804717a76b/@Element\",\"odata.etag\":\"W/\\\"datetime'2020-07-01T12%3A52%3A39.280146Z'\\\"\",\"PartitionKey\":\"partitionkeyb202403\",\"RowKey\":\"rowkeyb00625d7c9\",\"Timestamp\":\"2020-07-01T12:52:39.280146Z\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "65f5dce9-21be-4462-bd3f-6736343767a5", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/test804717a76b(PartitionKey='partitionkeyb202403',RowKey='rowkeyb00625d7c9')" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.table.core.windows.net/test804717a76b()?timeout=5000&$format=application/json%3Bodata%3Dfullmetadata&$select=RowKey", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "4bc9fc6b-09cf-494e-b91c-c1959b93f02b" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-request-id" : "ad30c23f-f002-0018-12a6-4f8a9a000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#test804717a76b&$select=RowKey\",\"value\":[{\"odata.type\":\"telboytrial.test804717a76b\",\"odata.id\":\"https://telboytrial.table.core.windows.net/test804717a76b(PartitionKey='partitionkeya938347',RowKey='rowkeya839234295')\",\"odata.etag\":\"W/\\\"datetime'2020-07-01T12%3A52%3A39.2383714Z'\\\"\",\"odata.editLink\":\"test804717a76b(PartitionKey='partitionkeya938347',RowKey='rowkeya839234295')\",\"RowKey\":\"rowkeya839234295\"},{\"odata.type\":\"telboytrial.test804717a76b\",\"odata.id\":\"https://telboytrial.table.core.windows.net/test804717a76b(PartitionKey='partitionkeyb202403',RowKey='rowkeyb00625d7c9')\",\"odata.etag\":\"W/\\\"datetime'2020-07-01T12%3A52%3A39.280146Z'\\\"\",\"odata.editLink\":\"test804717a76b(PartitionKey='partitionkeyb202403',RowKey='rowkeyb00625d7c9')\",\"RowKey\":\"rowkeyb00625d7c9\"}]}", + "Date" : "Wed, 01 Jul 2020 12:52:38 GMT", + "x-ms-client-request-id" : "4bc9fc6b-09cf-494e-b91c-c1959b93f02b", + "Content-Type" : "application/json;odata=fullmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.table.core.windows.net/Tables?$format=application/json%3Bodata%3Dminimalmetadata", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "e94f1b63-444b-422e-b5a0-2f153347edc1" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-request-id" : "a7b42931-9002-00a7-5ba6-4fbd3f000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"test804717a76b\"}]}", + "Date" : "Wed, 01 Jul 2020 12:52:38 GMT", + "x-ms-client-request-id" : "e94f1b63-444b-422e-b5a0-2f153347edc1", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.table.core.windows.net/Tables('test804717a76b')", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "a0f62d48-3844-4ae0-94ef-964d36d30034" + }, + "Response" : { + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "204", + "x-ms-request-id" : "ad30c243-f002-0018-16a6-4f8a9a000000", + "Date" : "Wed, 01 Jul 2020 12:52:38 GMT", + "x-ms-client-request-id" : "a0f62d48-3844-4ae0-94ef-964d36d30034" + }, + "Exception" : null + } ], + "variables" : [ "4bc9fc6b-09cf-494e-b91c-c1959b93f02b", "test804717a76b", "20f2e3e7-8c5b-404e-a83d-d5261fdc7fd1", "partitionkeya938347", "rowkeya839234295", "2e55ea16-a416-4391-93fc-785127f6a336", "partitionkeyb202403", "rowkeyb00625d7c9", "65f5dce9-21be-4462-bd3f-6736343767a5", "e94f1b63-444b-422e-b5a0-2f153347edc1", "a0f62d48-3844-4ae0-94ef-964d36d30034" ] +} \ No newline at end of file diff --git a/sdk/tables/azure-data-tables/src/test/resources/session-records/queryEntityWithTop.json b/sdk/tables/azure-data-tables/src/test/resources/session-records/queryEntityWithTop.json new file mode 100644 index 0000000000000..9ec2f5951763d --- /dev/null +++ b/sdk/tables/azure-data-tables/src/test/resources/session-records/queryEntityWithTop.json @@ -0,0 +1,93 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/Tables", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "bdc0fab6-7a19-4191-93ea-1892ef601015", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:38 GMT", + "Cache-Control" : "no-cache", + "x-ms-request-id" : "a7b42938-9002-00a7-61a6-4fbd3f000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables/@Element\",\"TableName\":\"test14071c6635\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "bdc0fab6-7a19-4191-93ea-1892ef601015", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/Tables('test14071c6635')" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.table.core.windows.net/test14071c6635()?timeout=5000&$format=application/json%3Bodata%3Dfullmetadata&$top=0", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "5721d6ef-c1e8-4729-8f7e-ca0520778ba2" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-request-id" : "ad30c249-f002-0018-1ca6-4f8a9a000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#test14071c6635\",\"value\":[]}", + "Date" : "Wed, 01 Jul 2020 12:52:38 GMT", + "x-ms-client-request-id" : "5721d6ef-c1e8-4729-8f7e-ca0520778ba2", + "Content-Type" : "application/json;odata=fullmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.table.core.windows.net/Tables?$format=application/json%3Bodata%3Dminimalmetadata", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "0367e980-ed8d-448b-8096-4bd6abc6b58a" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-request-id" : "a7b4293d-9002-00a7-65a6-4fbd3f000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"test14071c6635\"}]}", + "Date" : "Wed, 01 Jul 2020 12:52:38 GMT", + "x-ms-client-request-id" : "0367e980-ed8d-448b-8096-4bd6abc6b58a", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.table.core.windows.net/Tables('test14071c6635')", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "2b3f0ad8-5cca-47c1-8d30-8f622b8c2a93" + }, + "Response" : { + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "204", + "x-ms-request-id" : "ad30c24e-f002-0018-20a6-4f8a9a000000", + "Date" : "Wed, 01 Jul 2020 12:52:38 GMT", + "x-ms-client-request-id" : "2b3f0ad8-5cca-47c1-8d30-8f622b8c2a93" + }, + "Exception" : null + } ], + "variables" : [ "5721d6ef-c1e8-4729-8f7e-ca0520778ba2", "test14071c6635", "bdc0fab6-7a19-4191-93ea-1892ef601015", "0367e980-ed8d-448b-8096-4bd6abc6b58a", "2b3f0ad8-5cca-47c1-8d30-8f622b8c2a93" ] +} \ No newline at end of file diff --git a/sdk/tables/azure-data-tables/src/test/resources/session-records/queryTable.json b/sdk/tables/azure-data-tables/src/test/resources/session-records/queryTable.json new file mode 100644 index 0000000000000..e7903c311e598 --- /dev/null +++ b/sdk/tables/azure-data-tables/src/test/resources/session-records/queryTable.json @@ -0,0 +1,138 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/Tables", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "77786073-56cf-42b7-a61a-da070c403604", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:40 GMT", + "Cache-Control" : "no-cache", + "x-ms-request-id" : "093a81a5-5002-005c-32a6-4f00a5000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables/@Element\",\"TableName\":\"atesta467458233\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "77786073-56cf-42b7-a61a-da070c403604", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/Tables('atesta467458233')" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/Tables", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "135a7f14-fe28-49f2-9252-a25d10dfebd7", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:40 GMT", + "Cache-Control" : "no-cache", + "x-ms-request-id" : "a7b4298b-9002-00a7-27a6-4fbd3f000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables/@Element\",\"TableName\":\"btestb450627457\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "135a7f14-fe28-49f2-9252-a25d10dfebd7", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/Tables('btestb450627457')" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.table.core.windows.net/Tables?$format=application/json%3Bodata%3Dminimalmetadata", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "6fc2e7ed-3c0d-401d-93b2-351725baeb74" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-request-id" : "ad30c2e4-f002-0018-29a6-4f8a9a000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"atesta467458233\"},{\"TableName\":\"btestb450627457\"}]}", + "Date" : "Wed, 01 Jul 2020 12:52:40 GMT", + "x-ms-client-request-id" : "6fc2e7ed-3c0d-401d-93b2-351725baeb74", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.table.core.windows.net/Tables?$format=application/json%3Bodata%3Dminimalmetadata", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "aafd20ad-99b4-4698-a298-77ffb0610937" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-request-id" : "093a81a7-5002-005c-33a6-4f00a5000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"atesta467458233\"},{\"TableName\":\"btestb450627457\"}]}", + "Date" : "Wed, 01 Jul 2020 12:52:41 GMT", + "x-ms-client-request-id" : "aafd20ad-99b4-4698-a298-77ffb0610937", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.table.core.windows.net/Tables('atesta467458233')", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "1adcd7f8-ae5d-4d85-8b75-cf7dc7e5a605" + }, + "Response" : { + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "204", + "x-ms-request-id" : "a7b4298e-9002-00a7-29a6-4fbd3f000000", + "Date" : "Wed, 01 Jul 2020 12:52:40 GMT", + "x-ms-client-request-id" : "1adcd7f8-ae5d-4d85-8b75-cf7dc7e5a605" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.table.core.windows.net/Tables('btestb450627457')", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "848749a5-30f4-4de5-8d1b-c60f00ed547b" + }, + "Response" : { + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "204", + "x-ms-request-id" : "ad30c2ed-f002-0018-30a6-4f8a9a000000", + "Date" : "Wed, 01 Jul 2020 12:52:40 GMT", + "x-ms-client-request-id" : "848749a5-30f4-4de5-8d1b-c60f00ed547b" + }, + "Exception" : null + } ], + "variables" : [ "atesta467458233", "btestb450627457", "77786073-56cf-42b7-a61a-da070c403604", "135a7f14-fe28-49f2-9252-a25d10dfebd7", "6fc2e7ed-3c0d-401d-93b2-351725baeb74", "aafd20ad-99b4-4698-a298-77ffb0610937", "1adcd7f8-ae5d-4d85-8b75-cf7dc7e5a605", "848749a5-30f4-4de5-8d1b-c60f00ed547b" ] +} \ No newline at end of file diff --git a/sdk/tables/azure-data-tables/src/test/resources/session-records/queryTablewithTop.json b/sdk/tables/azure-data-tables/src/test/resources/session-records/queryTablewithTop.json new file mode 100644 index 0000000000000..5fe4ef6043009 --- /dev/null +++ b/sdk/tables/azure-data-tables/src/test/resources/session-records/queryTablewithTop.json @@ -0,0 +1,139 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/Tables", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "848bd698-011a-46ed-a001-7aafa978d96a", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:39 GMT", + "Cache-Control" : "no-cache", + "x-ms-request-id" : "ad30c2b2-f002-0018-7ba6-4f8a9a000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables/@Element\",\"TableName\":\"atesta47573650a\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "848bd698-011a-46ed-a001-7aafa978d96a", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/Tables('atesta47573650a')" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/Tables", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "cceecbc5-ea58-4939-bba3-f7b0f9e157c6", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:39 GMT", + "Cache-Control" : "no-cache", + "x-ms-request-id" : "a7b42979-9002-00a7-18a6-4fbd3f000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables/@Element\",\"TableName\":\"btestb491748d98\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "cceecbc5-ea58-4939-bba3-f7b0f9e157c6", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/Tables('btestb491748d98')" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.table.core.windows.net/Tables?$format=application/json%3Bodata%3Dminimalmetadata&$top=1", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "7c98cfbf-7d63-4aa3-b1c1-382abdfdf3ac" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "200", + "Date" : "Wed, 01 Jul 2020 12:52:39 GMT", + "x-ms-continuation-NextTableName" : "1!44!YnRlc3RiNDkxNzQ4ZDk4ATAxZDY0ZmE2ODEyYzZhYTI-", + "Cache-Control" : "no-cache", + "x-ms-request-id" : "ad30c2b9-f002-0018-01a6-4f8a9a000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"atesta47573650a\"}]}", + "x-ms-client-request-id" : "7c98cfbf-7d63-4aa3-b1c1-382abdfdf3ac", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.table.core.windows.net/Tables?$format=application/json%3Bodata%3Dminimalmetadata", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "a5f700a0-9946-40e3-b0e5-9a387627abc0" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-request-id" : "a7b4297b-9002-00a7-19a6-4fbd3f000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"atesta47573650a\"},{\"TableName\":\"btestb491748d98\"}]}", + "Date" : "Wed, 01 Jul 2020 12:52:39 GMT", + "x-ms-client-request-id" : "a5f700a0-9946-40e3-b0e5-9a387627abc0", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.table.core.windows.net/Tables('atesta47573650a')", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "31f06f8f-7930-451c-8d51-8fd144aa32b5" + }, + "Response" : { + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "204", + "x-ms-request-id" : "ad30c2c2-f002-0018-09a6-4f8a9a000000", + "Date" : "Wed, 01 Jul 2020 12:52:39 GMT", + "x-ms-client-request-id" : "31f06f8f-7930-451c-8d51-8fd144aa32b5" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.table.core.windows.net/Tables('btestb491748d98')", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "c8ee9b8f-5104-4ea6-8d1a-1880c2ae7b7f" + }, + "Response" : { + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "204", + "x-ms-request-id" : "093a819b-5002-005c-2aa6-4f00a5000000", + "Date" : "Wed, 01 Jul 2020 12:52:40 GMT", + "x-ms-client-request-id" : "c8ee9b8f-5104-4ea6-8d1a-1880c2ae7b7f" + }, + "Exception" : null + } ], + "variables" : [ "atesta47573650a", "btestb491748d98", "848bd698-011a-46ed-a001-7aafa978d96a", "cceecbc5-ea58-4939-bba3-f7b0f9e157c6", "7c98cfbf-7d63-4aa3-b1c1-382abdfdf3ac", "a5f700a0-9946-40e3-b0e5-9a387627abc0", "31f06f8f-7930-451c-8d51-8fd144aa32b5", "c8ee9b8f-5104-4ea6-8d1a-1880c2ae7b7f" ] +} \ No newline at end of file diff --git a/sdk/tables/azure-data-tables/src/test/resources/session-records/updateEntity.json b/sdk/tables/azure-data-tables/src/test/resources/session-records/updateEntity.json new file mode 100644 index 0000000000000..265d9f2ff8b6f --- /dev/null +++ b/sdk/tables/azure-data-tables/src/test/resources/session-records/updateEntity.json @@ -0,0 +1,119 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/Tables", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "b0a7672c-2802-45ec-a0e5-c7f601fcc6d5", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:38 GMT", + "Cache-Control" : "no-cache", + "x-ms-request-id" : "a7b42940-9002-00a7-68a6-4fbd3f000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables/@Element\",\"TableName\":\"test28489451d8\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "b0a7672c-2802-45ec-a0e5-c7f601fcc6d5", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/Tables('test28489451d8')" + }, + "Exception" : null + }, { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/test28489451d8?timeout=5000", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "5b0f2001-9eee-49ec-9d42-f5581e2cb141", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:38 GMT", + "Cache-Control" : "no-cache", + "ETag" : "W/\"datetime'2020-07-01T12%3A52%3A39.6146392Z'\"", + "x-ms-request-id" : "ad30c257-f002-0018-29a6-4f8a9a000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#test28489451d8/@Element\",\"odata.etag\":\"W/\\\"datetime'2020-07-01T12%3A52%3A39.6146392Z'\\\"\",\"PartitionKey\":\"partitionkey202594\",\"RowKey\":\"rowkey88272bdb9\",\"Timestamp\":\"2020-07-01T12:52:39.6146392Z\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "5b0f2001-9eee-49ec-9d42-f5581e2cb141", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/test28489451d8(PartitionKey='partitionkey202594',RowKey='rowkey88272bdb9')" + }, + "Exception" : null + }, { + "Method" : "PUT", + "Uri" : "https://REDACTED.table.core.windows.net/test28489451d8(PartitionKey='partitionkey202594',RowKey='rowkey88272bdb9')?timeout=5000", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "dea79b44-d15d-45d5-9f3e-8b836c225509", + "Content-Type" : "application/json" + }, + "Response" : { + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "ETag" : "W/\"datetime'2020-07-01T12%3A52%3A39.6510734Z'\"", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "204", + "x-ms-request-id" : "a7b42947-9002-00a7-6ea6-4fbd3f000000", + "Date" : "Wed, 01 Jul 2020 12:52:38 GMT", + "x-ms-client-request-id" : "dea79b44-d15d-45d5-9f3e-8b836c225509" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.table.core.windows.net/Tables?$format=application/json%3Bodata%3Dminimalmetadata", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "5d8f9dc0-c148-48bd-87f0-0ef93bb0f305" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-request-id" : "ad30c25c-f002-0018-2da6-4f8a9a000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"test28489451d8\"}]}", + "Date" : "Wed, 01 Jul 2020 12:52:38 GMT", + "x-ms-client-request-id" : "5d8f9dc0-c148-48bd-87f0-0ef93bb0f305", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.table.core.windows.net/Tables('test28489451d8')", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "208bfe9b-e6ab-4d29-a15c-35e8ab9bdebe" + }, + "Response" : { + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "204", + "x-ms-request-id" : "a7b42950-9002-00a7-76a6-4fbd3f000000", + "Date" : "Wed, 01 Jul 2020 12:52:38 GMT", + "x-ms-client-request-id" : "208bfe9b-e6ab-4d29-a15c-35e8ab9bdebe" + }, + "Exception" : null + } ], + "variables" : [ "test28489451d8", "b0a7672c-2802-45ec-a0e5-c7f601fcc6d5", "partitionkey202594", "rowkey88272bdb9", "dea79b44-d15d-45d5-9f3e-8b836c225509", "5b0f2001-9eee-49ec-9d42-f5581e2cb141", "b5682ac15fa447b7", "5d8f9dc0-c148-48bd-87f0-0ef93bb0f305", "208bfe9b-e6ab-4d29-a15c-35e8ab9bdebe" ] +} \ No newline at end of file diff --git a/sdk/tables/azure-data-tables/src/test/resources/session-records/updateNonExistentEntity.json b/sdk/tables/azure-data-tables/src/test/resources/session-records/updateNonExistentEntity.json new file mode 100644 index 0000000000000..1921482bf009a --- /dev/null +++ b/sdk/tables/azure-data-tables/src/test/resources/session-records/updateNonExistentEntity.json @@ -0,0 +1,94 @@ +{ + "networkCallRecords" : [ { + "Method" : "POST", + "Uri" : "https://REDACTED.table.core.windows.net/Tables", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "f85c5603-c4c2-4628-b2ab-9854db6de12c", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "201", + "Date" : "Wed, 01 Jul 2020 12:52:40 GMT", + "Cache-Control" : "no-cache", + "x-ms-request-id" : "a7b42993-9002-00a7-2da6-4fbd3f000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables/@Element\",\"TableName\":\"test7868718213\"}", + "Preference-Applied" : "return-content", + "x-ms-client-request-id" : "f85c5603-c4c2-4628-b2ab-9854db6de12c", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8", + "Location" : "https://telboytrial.table.core.windows.net/Tables('test7868718213')" + }, + "Exception" : null + }, { + "Method" : "PUT", + "Uri" : "https://REDACTED.table.core.windows.net/test7868718213(PartitionKey='partitionkey887715',RowKey='rowkey611341888')?timeout=5000", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "624dcfdf-ac2b-4f98-baf6-1010bde0a052", + "Content-Type" : "application/json" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "404", + "x-ms-request-id" : "ad30c302-f002-0018-45a6-4f8a9a000000", + "Body" : "{\"odata.error\":{\"code\":\"ResourceNotFound\",\"message\":{\"lang\":\"en-US\",\"value\":\"The specified resource does not exist.\\nRequestId:ad30c302-f002-0018-45a6-4f8a9a000000\\nTime:2020-07-01T12:52:41.3508756Z\"}}}", + "Date" : "Wed, 01 Jul 2020 12:52:40 GMT", + "x-ms-client-request-id" : "624dcfdf-ac2b-4f98-baf6-1010bde0a052", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.table.core.windows.net/Tables?$format=application/json%3Bodata%3Dminimalmetadata", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "7ae89496-f8dc-431e-9124-65d13583c8c9" + }, + "Response" : { + "Transfer-Encoding" : "chunked", + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-request-id" : "093a81af-5002-005c-3aa6-4f00a5000000", + "Body" : "{\"odata.metadata\":\"https://telboytrial.table.core.windows.net/$metadata#Tables\",\"value\":[{\"TableName\":\"test7868718213\"}]}", + "Date" : "Wed, 01 Jul 2020 12:52:41 GMT", + "x-ms-client-request-id" : "7ae89496-f8dc-431e-9124-65d13583c8c9", + "Content-Type" : "application/json;odata=minimalmetadata;streaming=true;charset=utf-8" + }, + "Exception" : null + }, { + "Method" : "DELETE", + "Uri" : "https://REDACTED.table.core.windows.net/Tables('test7868718213')", + "Headers" : { + "x-ms-version" : "2019-02-02", + "x-ms-client-request-id" : "191e2e41-a9ef-46c1-af53-97ca8a73bb63" + }, + "Response" : { + "x-ms-version" : "2019-02-02", + "Server" : "Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0", + "Cache-Control" : "no-cache", + "X-Content-Type-Options" : "nosniff", + "retry-after" : "0", + "Content-Length" : "0", + "StatusCode" : "204", + "x-ms-request-id" : "a7b42996-9002-00a7-2fa6-4fbd3f000000", + "Date" : "Wed, 01 Jul 2020 12:52:40 GMT", + "x-ms-client-request-id" : "191e2e41-a9ef-46c1-af53-97ca8a73bb63" + }, + "Exception" : null + } ], + "variables" : [ "test7868718213", "f85c5603-c4c2-4628-b2ab-9854db6de12c", "partitionkey887715", "rowkey611341888", "624dcfdf-ac2b-4f98-baf6-1010bde0a052", "7ae89496-f8dc-431e-9124-65d13583c8c9", "191e2e41-a9ef-46c1-af53-97ca8a73bb63" ] +} \ No newline at end of file