azure-sdk-for-cpp/sdk/tables/test-resources.json
George Arama 20d9364a3d
Storage tables implementation (#5137)
* dss

* first pass at a client and tests

* constructors work

* working request, need to fix the response parsing

* basic tests working for service client

* refactored the constructors

* testproxy and tests

* format file

* got client and one API working

* list working

* all apis recorded

* new assets.json

* assets.json regen

* format json

* adding word to cspell

* fix build issues

* fix one more break

* typo

* clangs

* one more issue

* more fixezez

* regen recordings

* try again

* clangs

* clangs again

* new assets

* new test proxy

* regen tests based on new merge

* hmmm

* restore

* add debug env for test proxy

* resync cmake presets from main

* gor get and set working

* get stats

* table client and create

* delete

* get/set acls

* list tables

* some cleanup

* Create /update/merge/delete

* upsert

* query entities

* generated tests

* clangs

* some fixes

* some more errors

* cspells

* got transaction API working

* transactions working , need to parse response

* get data out of the response

* clangs

* batch1

* regen tests

* part 2

* batch3

* batch4

* clangs

* regen tests

* regen tests

* try again

* live only

* added some more tests for the transaction body

* small refactor for tests

* oops

* some oter update

* darn includes

* sddfsd

* erorr fix

* key clients

* sas

* small cleanup

* All tests passing

* test recordings

* clangs

* missing ENV for test

* attempt1

* retry

* couple recordings

* regen some tests

* clangs

* again

* again

* comments

* comments

* headers and footers

* some cleanjup

* Move folders step1

* revert assets and test resources in storage

* revert to main

* cspell

* readme

* comments

* revert ci.yml

* liveonly test

* clangs

* camke

* ci2

* try again

* fdssfs

* fdsfsd

* some cleanup

* dasda

* dsdsds

* asda

* assets

* comments

* a few more bits and pieces

* some other updates for cspell

* typo

* more docs

* spell

* another doc error

* clangs docs

* docs

* test cov

* dasdas

* hg

* stress test

* cspell

* Update sdk/storage/azure-storage-common/test/ut/CMakeLists.txt

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* Update sdk/storage/azure-storage-common/test/ut/shared_key_policy_lite_test.cpp

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* Update sdk/tables/azure-data-tables/CHANGELOG.md

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* Update sdk/tables/azure-data-tables/CMakeLists.txt

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* Update sdk/tables/azure-data-tables/test/stress/scenarios-matrix.yaml

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* Update sdk/tables/azure-data-tables/test/stress/Dockerfile

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* PR comments

* respurces cleanup

* cleanup 2

* respurce fix

* revddrt

* weqq

* oops

* try again

* Update sdk/tables/azure-data-tables/vcpkg/vcpkg.json

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* try

* test fix

* samples

* readmes

* readmes

* readmes

* api view settings

* qualify friends

* try

* moving usings

* refactor for API View tool

* some more

* clangs

* Update sdk/tables/README.md

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* Update sdk/core/azure-core/inc/azure/core/http/http.hpp

Co-authored-by: Ahson Khan <ahkha@microsoft.com>

* Update sdk/core/azure-core/src/http/transport_policy.cpp

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* Update sdk/tables/azure-data-tables/inc/azure/data/tables/rest_client.hpp

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* Update sdk/tables/azure-data-tables/CHANGELOG.md

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* Update sdk/tables/azure-data-tables/test/ut/CMakeLists.txt

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* Update sdk/tables/azure-data-tables/src/rest_client.cpp

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* some comments

* comments

* comments part N

* clang

* try now

* clang

* comments

* update file names

* update test to check for the final signature

* ccc

* rename shared key policy lite

* cleanup some includes

* add a couple more tests

* small update

* clang

* increase test limits

* xml transition

* service_version_policy

* shared creds and key policy lite

* switch to secondary policy

* code done

* remove last storage vestiges

* put back some code

* readme/changelog

* Update sdk/tables/azure-data-tables/src/serializers.cpp

Co-authored-by: Rick Winter <rick.winter@microsoft.com>

* Add the shared key policy for Larry

* Larry comments

* curlybracify the initializers

* Update sdk/core/azure-core-xml/inc/azure/core/xml/dll_import_export.hpp

Co-authored-by: Rick Winter <rick.winter@microsoft.com>

* Update sdk/core/azure-core-xml/vcpkg.json

Co-authored-by: Rick Winter <rick.winter@microsoft.com>

* Update sdk/tables/azure-data-tables/inc/azure/data/tables.hpp

Co-authored-by: Rick Winter <rick.winter@microsoft.com>

* Rick's comments one more namespace change for serializers

* whiteline

* typo

* oops

* includes and clangs

* cleanup

* jhfjdhjfd

* hjkjdhf

* daas

* Anton's comments

* clang

* revert some changes

* fdss

* Update sdk/core/azure-core-xml/CHANGELOG.md

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* everything works

* clangs and vcpkg test

* test remove azure-core-xml

* vcpkg json

* remove the code

* merge main

* saa

* wqw

* last comments

* clang

---------

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
Co-authored-by: Rick Winter <rick.winter@microsoft.com>
2024-01-12 11:04:43 -08:00

366 lines
12 KiB
JSON

{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"baseName": {
"type": "string",
"metadata": {
"description": "The base resource name."
}
},
"testApplicationOid": {
"type": "string",
"metadata": {
"description": "The client OID to grant access to test resources."
}
},
"tenantId": {
"type": "string",
"defaultValue": "72f988bf-86f1-41af-91ab-2d7cd011db47",
"metadata": {
"description": "The tenant ID to which the application and resources belong."
}
},
"testApplicationId": {
"type": "string",
"metadata": {
"description": "The application client ID used to run tests."
}
},
"testApplicationSecret": {
"type": "string",
"metadata": {
"description": "The application client secret used to run tests."
}
},
"enableVersioning": {
"type": "bool",
"defaultValue": true
},
"storageEndpointSuffix": {
"type": "string",
"defaultValue": "core.windows.net",
"metadata": {
"description": "Storage endpoint suffix. The default value uses Azure Public Cloud (core.windows.net)"
}
}
},
"variables": {
"storageApiVersion": "2022-05-01",
"location": "[resourceGroup().location]",
"accountName": "[parameters('baseName')]",
"datalakeAccountName": "[concat('d', parameters('baseName'))]",
"accountNameTidy": "[toLower(trim(variables('accountName')))]",
"datalakeaccountNameTidy": "[toLower(trim(variables('datalakeAccountName')))]",
"blobEndPoint": "[concat('https://',variables('accountNameTidy'),'.blob.', parameters('storageEndpointSuffix'))]",
"accountSasProperties": {
"signedServices": "bfqt",
"signedPermission": "rwdlacup",
"signedResourceTypes": "sco",
"keyToSign": "key1",
"signedExpiry": "2099-01-01T23:59:00Z"
},
"authorizationApiVersion": "2018-01-01-preview",
"blobDataContributorRoleId": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/ba92f5b4-2d11-453d-a403-e96b0029c9fe')]",
"blobDataOwnerRoleId": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/b7e6dc6d-f1e8-4753-8033-0f276bb0955b')]",
"premiumFileAccountName": "[concat(parameters('baseName'), 'pfile')]"
},
"resources": [
{
"type": "Microsoft.Authorization/roleAssignments",
"apiVersion": "[variables('authorizationApiVersion')]",
"name": "[guid(concat('blobDataContributorRoleId', variables('accountName')))]",
"dependsOn": [
"[variables('accountName')]"
],
"properties": {
"roleDefinitionId": "[variables('blobDataContributorRoleId')]",
"principalId": "[parameters('testApplicationOid')]"
}
},
{
"type": "Microsoft.Authorization/roleAssignments",
"apiVersion": "[variables('authorizationApiVersion')]",
"name": "[guid(concat('blobDataOwnerRoleId', variables('accountName')))]",
"dependsOn": [ "[variables('accountName')]" ],
"properties": {
"roleDefinitionId": "[variables('blobDataOwnerRoleId')]",
"principalId": "[parameters('testApplicationOid')]"
}
},
{
"name": "[variables('accountName')]",
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "[variables('storageApiVersion')]",
"location": "[variables('location')]",
"sku": {
"name": "Standard_RAGRS",
"tier": "Standard"
},
"kind": "StorageV2",
"properties": {
"networkAcls": {
"bypass": "AzureServices",
"virtualNetworkRules": [
],
"ipRules": [
],
"defaultAction": "Allow"
},
"supportsHttpsTrafficOnly": true,
"allowBlobPublicAccess": true,
"encryption": {
"services": {
"file": {
"enabled": true
},
"blob": {
"enabled": true
}
},
"keySource": "Microsoft.Storage"
},
"accessTier": "Hot",
"minimumTlsVersion": "TLS1_2"
},
"dependsOn": [],
"tags": {}
},
{
"name": "[concat(variables('accountName'), '/default')]",
"type": "microsoft.storage/storageaccounts/blobServices",
"apiVersion": "2019-06-01",
"properties": {
"restorePolicy": {
"enabled": true,
"days": 6
},
"deleteRetentionPolicy": {
"enabled": true,
"days": 7
},
"containerDeleteRetentionPolicy": {
"enabled": true,
"days": 7
},
"changeFeed": {
"enabled": true
},
"isVersioningEnabled": true,
"cors": {
"corsRules": [
{
"allowedOrigins": [ "*" ],
"allowedMethods": [
"DELETE",
"GET",
"HEAD",
"MERGE",
"POST",
"OPTIONS",
"PUT",
"PATCH"
],
"maxAgeInSeconds": 86400,
"exposedHeaders": [ "*" ],
"allowedHeaders": [ "*" ]
}
]
}
},
"dependsOn": [
"[concat('microsoft.storage/storageaccounts/', variables('accountName'))]"
]
},
{
"name": "[concat(variables('accountName'), '/default')]",
"type": "microsoft.storage/storageaccounts/fileservices",
"apiVersion": "2019-06-01",
"properties": {
"shareDeleteRetentionPolicy": {
"enabled": true,
"days": 7
},
"cors": {
"corsRules": [
{
"allowedOrigins": [ "*" ],
"allowedMethods": [ "DELETE", "GET", "HEAD", "MERGE", "POST", "OPTIONS", "PUT" ],
"maxAgeInSeconds": 86400,
"exposedHeaders": [ "*" ],
"allowedHeaders": [ "*" ]
}
]
}
},
"dependsOn": [
"[concat('microsoft.storage/storageaccounts/', variables('accountName'))]"
]
},
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "[variables('storageApiVersion')]",
"name": "[variables('datalakeAccountName')]",
"location": "[variables('location')]",
"sku": {
"name": "Standard_RAGRS",
"tier": "Standard"
},
"kind": "StorageV2",
"properties": {
"isHnsEnabled": true,
"cors": {
"corsRules": [
{
"allowedOrigins": [
"*"
],
"allowedMethods": [
"DELETE",
"GET",
"HEAD",
"MERGE",
"POST",
"OPTIONS",
"PUT",
"PATCH"
],
"maxAgeInSeconds": 86400,
"exposedHeaders": [
"*"
],
"allowedHeaders": [
"*"
]
}
]
},
"networkAcls": {
"bypass": "AzureServices",
"virtualNetworkRules": [
],
"ipRules": [
],
"defaultAction": "Allow"
},
"supportsHttpsTrafficOnly": true,
"allowBlobPublicAccess": true,
"encryption": {
"services": {
"file": {
"enabled": true
},
"blob": {
"enabled": true
}
},
"keySource": "Microsoft.Storage"
},
"accessTier": "Hot",
"minimumTlsVersion": "TLS1_2"
}
},
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "[variables('storageApiVersion')]",
"name": "[variables('premiumFileAccountName')]",
"location": "[variables('location')]",
"sku": {
"name": "Premium_LRS",
"tier": "Premium"
},
"kind": "FileStorage",
"properties": {
"networkAcls": {
"bypass": "AzureServices",
"virtualNetworkRules": [
],
"ipRules": [
],
"defaultAction": "Allow"
},
"supportsHttpsTrafficOnly": true,
"encryption": {
"services": {
"file": {
"enabled": true
},
"blob": {
"enabled": true
}
},
"keySource": "Microsoft.Storage"
},
"accessTier": "Hot",
"minimumTlsVersion": "TLS1_2"
}
}
],
"outputs": {
"STORAGE_TENANT_ID": {
"type": "string",
"value": "[parameters('tenantId')]"
},
"STORAGE_CLIENT_ID": {
"type": "string",
"value": "[parameters('testApplicationId')]"
},
"STORAGE_CLIENT_SECRET": {
"type": "string",
"value": "[parameters('testApplicationSecret')]"
},
"ACCOUNT_NAME": {
"type": "string",
"value": "[variables('accountName')]"
},
"DATALAKE_ACCOUNT_NAME": {
"type": "string",
"value": "[variables('datalakeAccountName')]"
},
"ACCOUNT_KEY": {
"type": "string",
"value": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('accountName')), variables('storageApiVersion')).keys[0].value]"
},
"ACCOUNT_SAS": {
"type": "string",
"value": "[concat('?', listAccountSas(variables('accountNameTidy'), variables('storageApiVersion'), variables('accountSasProperties')).accountSasToken)]"
},
"STANDARD_STORAGE_CONNECTION_STRING": {
"type": "string",
"value": "[concat('DefaultEndpointsProtocol=https;AccountName=', variables('accountName'), ';AccountKey=', listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('accountName')), variables('storageApiVersion')).keys[0].value, ';EndpointSuffix=', parameters('storageEndpointSuffix'))]"
},
"AZURE_STORAGE_CONNECTION_STRING": {
"type": "string",
"value": "[concat('DefaultEndpointsProtocol=https;AccountName=', variables('accountName'), ';AccountKey=', listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('accountName')), variables('storageApiVersion')).keys[0].value, ';EndpointSuffix=', parameters('storageEndpointSuffix'))]"
},
"ADLS_GEN2_CONNECTION_STRING": {
"type": "string",
"value": "[concat('DefaultEndpointsProtocol=https;AccountName=', variables('dataLakeAccountName'), ';AccountKey=', listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('dataLakeAccountName')), variables('storageApiVersion')).keys[0].value, ';EndpointSuffix=', parameters('storageEndpointSuffix'))]"
},
"AZURE_STORAGE_DATALAKE_CONNECTION_STRING": {
"type": "string",
"value": "[concat('DefaultEndpointsProtocol=https;AccountName=', variables('dataLakeAccountName'), ';AccountKey=', listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('dataLakeAccountName')), variables('storageApiVersion')).keys[0].value, ';EndpointSuffix=', parameters('storageEndpointSuffix'))]"
},
"PREMIUM_FILE_CONNECTION_STRING": {
"type": "string",
"value": "[concat('DefaultEndpointsProtocol=https;AccountName=', variables('premiumFileAccountName'), ';AccountKey=', listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('premiumFileAccountName')), variables('storageApiVersion')).keys[0].value, ';EndpointSuffix=', parameters('storageEndpointSuffix'))]"
},
"AAD_TENANT_ID": {
"type": "string",
"value": "[parameters('tenantId')]"
},
"AAD_CLIENT_ID": {
"type": "string",
"value": "[parameters('testApplicationId')]"
},
"AAD_CLIENT_SECRET": {
"type": "string",
"value": "[parameters('testApplicationSecret')]"
},
"RESOURCE_GROUP": {
"type": "string",
"value": "[concat('rg-storage-', variables('accountName'))]"
}
}
}