diff --git a/azure-cli.pyproj b/azure-cli.pyproj index f01790c96..f37c8c63d 100644 --- a/azure-cli.pyproj +++ b/azure-cli.pyproj @@ -42,6 +42,7 @@ + @@ -79,7 +80,6 @@ - @@ -94,12 +94,6 @@ X86 - - - - - - \ No newline at end of file diff --git a/src/azure/cli/commands/storage.py b/src/azure/cli/commands/storage.py index c968abe99..4388debe0 100644 --- a/src/azure/cli/commands/storage.py +++ b/src/azure/cli/commands/storage.py @@ -130,7 +130,7 @@ def create_account(args, unexpected): #pylint: disable=unused-argument account_type, _resolve_tags(args)) - return smc.storage_accounts.create(resource_group, account_name, params) + return smc.storage_accounts.create(resource_group, account_name, params) @command('storage account set') @description(L('Update storage account property (only one at a time).')) @@ -605,15 +605,10 @@ def _get_file_service_client(args): def _resolve_tags(args): tag_string = args.get('tags') - if tag_string: - tags = dict() - for tag in tag_string.split(';'): - comps = tag.split('=', 1) - key = comps[0] - value = comps[1] if len(comps) > 1 else '' - tags[key] = value - else: - tags = None + kv_tags = [x for x in tag_string.split(';') if '=' in x] # key-value tags + s_tags = [x for x in tag_string.split(';') if '=' not in x] # single value tags + tags = dict(x.split('=') for x in kv_tags) + tags.update(dict((x, '') for x in s_tags)) return tags # TODO: Remove once these parameters are supported first-class by @option (task #116054675) diff --git a/src/azure/cli/tests/command_specs/__init__.py b/src/azure/cli/tests/command_specs/__init__.py index 8b7714386..db78a54a1 100644 --- a/src/azure/cli/tests/command_specs/__init__.py +++ b/src/azure/cli/tests/command_specs/__init__.py @@ -2,6 +2,7 @@ __all__ = [ 'test_spec_network', 'test_spec_resource', 'test_spec_vm', + 'test_spec_account' ] # Each test spec in this package can append to this variable to add test specs diff --git a/src/azure/cli/tests/command_specs/test_spec_storage_account.py b/src/azure/cli/tests/command_specs/test_spec_storage_account.py new file mode 100644 index 000000000..78fffaf76 --- /dev/null +++ b/src/azure/cli/tests/command_specs/test_spec_storage_account.py @@ -0,0 +1,407 @@ +spec = [ + { + 'test_name': 'test_storage_account_list', + 'command': 'storage account list', + 'expected_result': """Account Type : Standard_LRS +Creation Time : 2016-03-03T23:07:20.837674+00:00 +Custom Domain : None +Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/default-applicationinsights-centralus/providers/Microsoft.Storage/storageAccounts/appinsightsstorage2016 +Last Geo Failover Time : None +Location : centralus +Name : appinsightsstorage2016 +Primary Location : centralus +Provisioning State : Succeeded +Resource Group : default-applicationinsights-centralus +Secondary Endpoints : None +Secondary Location : None +Status Of Primary : Available +Status Of Secondary : None +Type : Microsoft.Storage/storageAccounts +Primary Endpoints : + Blob : https://appinsightsstorage2016.blob.core.windows.net/ + File : https://appinsightsstorage2016.file.core.windows.net/ + Queue : https://appinsightsstorage2016.queue.core.windows.net/ + Table : https://appinsightsstorage2016.table.core.windows.net/ +Tags : + None + +Account Type : Standard_LRS +Creation Time : 2016-03-07T04:09:26.379536+00:00 +Custom Domain : None +Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/ygvmgroup/providers/Microsoft.Storage/storageAccounts/cli0816b4e1a25171aa14573 +Last Geo Failover Time : None +Location : westus +Name : cli0816b4e1a25171aa14573 +Primary Location : westus +Provisioning State : Succeeded +Resource Group : ygvmgroup +Secondary Endpoints : None +Secondary Location : None +Status Of Primary : Available +Status Of Secondary : None +Type : Microsoft.Storage/storageAccounts +Primary Endpoints : + Blob : https://cli0816b4e1a25171aa14573.blob.core.windows.net/ + File : https://cli0816b4e1a25171aa14573.file.core.windows.net/ + Queue : https://cli0816b4e1a25171aa14573.queue.core.windows.net/ + Table : https://cli0816b4e1a25171aa14573.table.core.windows.net/ +Tags : + None + +Account Type : Standard_LRS +Creation Time : 2016-03-07T04:18:40.989042+00:00 +Custom Domain : None +Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/ygvmgroup/providers/Microsoft.Storage/storageAccounts/cli65f4f2b090a22ac614573 +Last Geo Failover Time : None +Location : westus +Name : cli65f4f2b090a22ac614573 +Primary Location : westus +Provisioning State : Succeeded +Resource Group : ygvmgroup +Secondary Endpoints : None +Secondary Location : None +Status Of Primary : Available +Status Of Secondary : None +Type : Microsoft.Storage/storageAccounts +Primary Endpoints : + Blob : https://cli65f4f2b090a22ac614573.blob.core.windows.net/ + File : https://cli65f4f2b090a22ac614573.file.core.windows.net/ + Queue : https://cli65f4f2b090a22ac614573.queue.core.windows.net/ + Table : https://cli65f4f2b090a22ac614573.table.core.windows.net/ +Tags : + None + +Account Type : Standard_LRS +Creation Time : 2016-03-07T04:45:44.904553+00:00 +Custom Domain : None +Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/ygvmgroup/providers/Microsoft.Storage/storageAccounts/clie22217d8c158bd9e14573 +Last Geo Failover Time : None +Location : westus +Name : clie22217d8c158bd9e14573 +Primary Location : westus +Provisioning State : Succeeded +Resource Group : ygvmgroup +Secondary Endpoints : None +Secondary Location : None +Status Of Primary : Available +Status Of Secondary : None +Type : Microsoft.Storage/storageAccounts +Primary Endpoints : + Blob : https://clie22217d8c158bd9e14573.blob.core.windows.net/ + File : https://clie22217d8c158bd9e14573.file.core.windows.net/ + Queue : https://clie22217d8c158bd9e14573.queue.core.windows.net/ + Table : https://clie22217d8c158bd9e14573.table.core.windows.net/ +Tags : + None + +Account Type : Standard_GRS +Creation Time : 2016-01-20T23:24:46.225618+00:00 +Custom Domain : None +Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst40026/providers/Microsoft.Storage/storageAccounts/clutst20236sto +Last Geo Failover Time : None +Location : westus +Name : clutst20236sto +Primary Location : westus +Provisioning State : Succeeded +Resource Group : clutst40026 +Secondary Endpoints : None +Secondary Location : eastus +Status Of Primary : Available +Status Of Secondary : Available +Type : Microsoft.Storage/storageAccounts +Primary Endpoints : + Blob : https://clutst20236sto.blob.core.windows.net/ + File : https://clutst20236sto.file.core.windows.net/ + Queue : https://clutst20236sto.queue.core.windows.net/ + Table : https://clutst20236sto.table.core.windows.net/ +Tags : + None + +Account Type : Standard_GRS +Creation Time : 2016-01-21T02:32:09.401535+00:00 +Custom Domain : None +Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst41390/providers/Microsoft.Storage/storageAccounts/clutst24982sto +Last Geo Failover Time : None +Location : westus +Name : clutst24982sto +Primary Location : westus +Provisioning State : Succeeded +Resource Group : clutst41390 +Secondary Endpoints : None +Secondary Location : eastus +Status Of Primary : Available +Status Of Secondary : Available +Type : Microsoft.Storage/storageAccounts +Primary Endpoints : + Blob : https://clutst24982sto.blob.core.windows.net/ + File : https://clutst24982sto.file.core.windows.net/ + Queue : https://clutst24982sto.queue.core.windows.net/ + Table : https://clutst24982sto.table.core.windows.net/ +Tags : + None + +Account Type : Standard_GRS +Creation Time : 2016-01-20T23:11:54.956920+00:00 +Custom Domain : None +Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst74333/providers/Microsoft.Storage/storageAccounts/clutst68029sto +Last Geo Failover Time : None +Location : westus +Name : clutst68029sto +Primary Location : westus +Provisioning State : Succeeded +Resource Group : clutst74333 +Secondary Endpoints : None +Secondary Location : eastus +Status Of Primary : Available +Status Of Secondary : Available +Type : Microsoft.Storage/storageAccounts +Primary Endpoints : + Blob : https://clutst68029sto.blob.core.windows.net/ + File : https://clutst68029sto.file.core.windows.net/ + Queue : https://clutst68029sto.queue.core.windows.net/ + Table : https://clutst68029sto.table.core.windows.net/ +Tags : + None + +Account Type : Standard_GRS +Creation Time : 2016-01-24T04:30:40.942489+00:00 +Custom Domain : None +Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst86517/providers/Microsoft.Storage/storageAccounts/clutst74246sto +Last Geo Failover Time : None +Location : westus +Name : clutst74246sto +Primary Location : westus +Provisioning State : Succeeded +Resource Group : clutst86517 +Secondary Endpoints : None +Secondary Location : eastus +Status Of Primary : Available +Status Of Secondary : Available +Type : Microsoft.Storage/storageAccounts +Primary Endpoints : + Blob : https://clutst74246sto.blob.core.windows.net/ + File : https://clutst74246sto.file.core.windows.net/ + Queue : https://clutst74246sto.queue.core.windows.net/ + Table : https://clutst74246sto.table.core.windows.net/ +Tags : + None + +Account Type : Standard_GRS +Creation Time : 2016-01-20T23:06:56.384289+00:00 +Custom Domain : None +Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/clutst29333/providers/Microsoft.Storage/storageAccounts/clutst79708sto +Last Geo Failover Time : None +Location : westus +Name : clutst79708sto +Primary Location : westus +Provisioning State : Succeeded +Resource Group : clutst29333 +Secondary Endpoints : None +Secondary Location : eastus +Status Of Primary : Available +Status Of Secondary : Available +Type : Microsoft.Storage/storageAccounts +Primary Endpoints : + Blob : https://clutst79708sto.blob.core.windows.net/ + File : https://clutst79708sto.file.core.windows.net/ + Queue : https://clutst79708sto.queue.core.windows.net/ + Table : https://clutst79708sto.table.core.windows.net/ +Tags : + None + +Account Type : Standard_LRS +Creation Time : 2016-01-27T19:19:44.825146+00:00 +Custom Domain : None +Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/destanko-test1/providers/Microsoft.Storage/storageAccounts/destanko123 +Last Geo Failover Time : None +Location : westus +Name : destanko123 +Primary Location : westus +Provisioning State : Succeeded +Resource Group : destanko-test1 +Secondary Endpoints : None +Secondary Location : None +Status Of Primary : Available +Status Of Secondary : None +Type : Microsoft.Storage/storageAccounts +Primary Endpoints : + Blob : https://destanko123.blob.core.windows.net/ + File : https://destanko123.file.core.windows.net/ + Queue : https://destanko123.queue.core.windows.net/ + Table : https://destanko123.table.core.windows.net/ +Tags : + None + +Account Type : Standard_RAGRS +Creation Time : 2016-03-05T00:25:04.704573+00:00 +Custom Domain : None +Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/r1/providers/Microsoft.Storage/storageAccounts/stoga2016 +Last Geo Failover Time : None +Location : centralus +Name : stoga2016 +Primary Location : centralus +Provisioning State : Succeeded +Resource Group : r1 +Secondary Location : eastus2 +Status Of Primary : Available +Status Of Secondary : Available +Type : Microsoft.Storage/storageAccounts +Primary Endpoints : + Blob : https://stoga2016.blob.core.windows.net/ + File : https://stoga2016.file.core.windows.net/ + Queue : https://stoga2016.queue.core.windows.net/ + Table : https://stoga2016.table.core.windows.net/ +Secondary Endpoints : + Blob : https://stoga2016-secondary.blob.core.windows.net/ + File : None + Queue : https://stoga2016-secondary.queue.core.windows.net/ + Table : https://stoga2016-secondary.table.core.windows.net/ +Tags : + None + +Account Type : Standard_LRS +Creation Time : 2016-03-15T23:03:02.798406+00:00 +Custom Domain : None +Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/travistestresourcegroup/providers/Microsoft.Storage/storageAccounts/travistestresourcegr3014 +Last Geo Failover Time : None +Location : westus +Name : travistestresourcegr3014 +Primary Location : westus +Provisioning State : Succeeded +Resource Group : travistestresourcegroup +Secondary Endpoints : None +Secondary Location : None +Status Of Primary : Available +Status Of Secondary : None +Type : Microsoft.Storage/storageAccounts +Primary Endpoints : + Blob : https://travistestresourcegr3014.blob.core.windows.net/ + File : https://travistestresourcegr3014.file.core.windows.net/ + Queue : https://travistestresourcegr3014.queue.core.windows.net/ + Table : https://travistestresourcegr3014.table.core.windows.net/ +Tags : + Magic : cat + Woot : doot + +Account Type : Standard_LRS +Creation Time : 2016-02-29T12:20:49.272057+00:00 +Custom Domain : None +Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplattestgvmdocker6705/providers/Microsoft.Storage/storageAccounts/xplatstdocker7379 +Last Geo Failover Time : None +Location : eastus +Name : xplatstdocker7379 +Primary Location : eastus +Provisioning State : Succeeded +Resource Group : xplattestgvmdocker6705 +Secondary Endpoints : None +Secondary Location : None +Status Of Primary : Available +Status Of Secondary : None +Type : Microsoft.Storage/storageAccounts +Primary Endpoints : + Blob : https://xplatstdocker7379.blob.core.windows.net/ + File : https://xplatstdocker7379.file.core.windows.net/ + Queue : https://xplatstdocker7379.queue.core.windows.net/ + Table : https://xplatstdocker7379.table.core.windows.net/ +Tags : + None + +Account Type : Standard_LRS +Creation Time : 2016-02-18T16:05:59.465716+00:00 +Custom Domain : None +Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplattestgvmdocker2951/providers/Microsoft.Storage/storageAccounts/xplatstdocker8501 +Last Geo Failover Time : None +Location : eastus +Name : xplatstdocker8501 +Primary Location : eastus +Provisioning State : Succeeded +Resource Group : xplattestgvmdocker2951 +Secondary Endpoints : None +Secondary Location : None +Status Of Primary : Available +Status Of Secondary : None +Type : Microsoft.Storage/storageAccounts +Primary Endpoints : + Blob : https://xplatstdocker8501.blob.core.windows.net/ + File : https://xplatstdocker8501.file.core.windows.net/ + Queue : https://xplatstdocker8501.queue.core.windows.net/ + Table : https://xplatstdocker8501.table.core.windows.net/ +Tags : + None + +Account Type : Standard_LRS +Creation Time : 2016-02-29T08:05:22.187272+00:00 +Custom Domain : None +Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplattestgextension5940/providers/Microsoft.Storage/storageAccounts/xplatstoragext2929 +Last Geo Failover Time : None +Location : eastus +Name : xplatstoragext2929 +Primary Location : eastus +Provisioning State : Succeeded +Resource Group : xplattestgextension5940 +Secondary Endpoints : None +Secondary Location : None +Status Of Primary : Available +Status Of Secondary : None +Type : Microsoft.Storage/storageAccounts +Primary Endpoints : + Blob : https://xplatstoragext2929.blob.core.windows.net/ + File : https://xplatstoragext2929.file.core.windows.net/ + Queue : https://xplatstoragext2929.queue.core.windows.net/ + Table : https://xplatstoragext2929.table.core.windows.net/ +Tags : + None + +Account Type : Standard_LRS +Creation Time : 2016-01-21T23:39:02.480290+00:00 +Custom Domain : None +Id : /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/xplattestgextension9085/providers/Microsoft.Storage/storageAccounts/xplatstoragext4633 +Last Geo Failover Time : None +Location : southeastasia +Name : xplatstoragext4633 +Primary Location : southeastasia +Provisioning State : Succeeded +Resource Group : xplattestgextension9085 +Secondary Endpoints : None +Secondary Location : None +Status Of Primary : Available +Status Of Secondary : None +Type : Microsoft.Storage/storageAccounts +Primary Endpoints : + Blob : https://xplatstoragext4633.blob.core.windows.net/ + File : https://xplatstoragext4633.file.core.windows.net/ + Queue : https://xplatstoragext4633.queue.core.windows.net/ + Table : https://xplatstoragext4633.table.core.windows.net/ +Tags : + None + + +""" + }, + { + 'test_name': 'test_storage_account_usage', + 'command': 'storage account usage', + 'expected_result': """Current Value : 16 +Limit : 100 +Unit : Count +Name : + Localized Value : Storage Accounts + Value : StorageAccounts + + +""" + }, + { + 'test_name': 'test_storage_account_check', + 'command': 'storage account check-name-availability --name travisteststorageaccount', + 'expected_result': """Message : None +Name Available : True +Reason : None + + +""" + } +] + +from . import TEST_SPECS +TEST_SPECS.append((locals()['__name__'], spec)) diff --git a/src/azure/cli/tests/recordings/command_specs.test_spec_storage_account.test_test_storage_account_check.yaml b/src/azure/cli/tests/recordings/command_specs.test_spec_storage_account.test_test_storage_account_check.yaml new file mode 100644 index 000000000..c94dc9f3f --- /dev/null +++ b/src/azure/cli/tests/recordings/command_specs.test_spec_storage_account.test_test_storage_account_check.yaml @@ -0,0 +1,64 @@ +interactions: +- request: + body: !!binary | + eyJuYW1lIjogInRyYXZpc3Rlc3RzdG9yYWdlYWNjb3VudCIsICJ0eXBlIjogIk1pY3Jvc29mdC5T + dG9yYWdlL3N0b3JhZ2VBY2NvdW50cyJ9 + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Length: ['81'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.1.3 msrest_azure/0.1.2 storagemanagementclient/2015-06-15 + Azure-SDK-For-Python AZURECLI_0.0.1] + accept-language: [en-US] + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/checkNameAvailability?api-version=2015-06-15 + response: + body: {string: '{"error":{"code":"BadGatewayConnection","message":"The network + connectivity issue encountered for ''Microsoft.Storage''; cannot fulfill the + request."}}'} + headers: + Cache-Control: [no-cache] + Connection: [close] + Content-Length: ['149'] + Content-Type: [application/json; charset=utf-8] + Date: ['Thu, 24 Mar 2016 21:57:10 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + x-ms-failure-cause: [service] + status: {code: 502, message: Bad Gateway} +- request: + body: !!binary | + eyJuYW1lIjogInRyYXZpc3Rlc3RzdG9yYWdlYWNjb3VudCIsICJ0eXBlIjogIk1pY3Jvc29mdC5T + dG9yYWdlL3N0b3JhZ2VBY2NvdW50cyJ9 + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Length: ['81'] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.1.3 msrest_azure/0.1.2 storagemanagementclient/2015-06-15 + Azure-SDK-For-Python AZURECLI_0.0.1] + accept-language: [en-US] + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/checkNameAvailability?api-version=2015-06-15 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR8ts + kR9fZkWZTcr8o0dtvc5/SfL/AAeYVbAXAAAA + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Type: [application/json] + Date: ['Thu, 24 Mar 2016 21:57:10 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +version: 1 diff --git a/src/azure/cli/tests/recordings/command_specs.test_spec_storage_account.test_test_storage_account_list.yaml b/src/azure/cli/tests/recordings/command_specs.test_spec_storage_account.test_test_storage_account_list.yaml new file mode 100644 index 000000000..ed5ca736a --- /dev/null +++ b/src/azure/cli/tests/recordings/command_specs.test_spec_storage_account.test_test_storage_account_list.yaml @@ -0,0 +1,64 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.1.3 msrest_azure/0.1.2 storagemanagementclient/2015-06-15 + Azure-SDK-For-Python AZURECLI_0.0.1] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2015-06-15 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR5dZ + uc4/evS9X/xRMfvo0Ud3m/WkmdbFqi2qZXN3Z7J7/un+g93t3cn5zvb+bJZtZ/n03vZ08nDvwd75 + zsP7D3fu1nlTretp/nldrVfN3Vl+nq3LdjtbrcpimgFQsWyKi3nbbE/zZVtTj83dVV1dFrO8bu5+ + UUzrqqnO2/Hrtqqzi/xuIz+Pp9NqvWybuwTJQNCv9nZ2P/1o9FFZCXxC3EKmj5fZgob00eBr1Pcq + r9sibz569Is/yqSbN9crvPS6zZazrJ79/s9fvaam0zrnHt4UDBIAtnfu0f/e7N17tPPg0d7O+ODe + g08f7B/8FLVe1cUiq69Pl7NVVRDmAD8pqwm9OW/bVfPo7sBYxmg1nlZ1Pr4qlrPqqhkv8/YugTwv + SnR8w+toFX39F61zTO9N73OzKIA2m9wGAW4WAfBLLFGex+eK5uKyaOjzYnlBtG/R1+v1dJrns3xG + 3zf02br58vylQKFvs8usKNEdgLfZBaiM32T+buQmeuub4/Xri8vFBX59L36elsXOwe6nk/18N9u7 + v/tgN8t29+8/uEfD9Tj6Km9o5PSZsvOGt6jzD2XoB2929h/tPHy09+n43oOH9+99+uCWDD2E1q1Z + ehAA2kUBMLfeBgI3jIJomYFuAYIbRkAQxylxPMa2U0YT8vORqz+9f75/vjfZebiT7e1l00+ZhDTc + zVw99BZ1/o1w9e7Bo/2d8cODhzv7e7dV00NovQ9XxwGgXRQAM+ttIHDDKIiWGegWILhhBARxnBLn + R1zNGICE+d7e3u6D2cF09/7BZPYwZxLScDdz9dBb1Pk3wtX79x/t74+Jp+/fv3fv9lwdRet9uDoO + AO2iAJhZbwOBG0ZBtMxAtwDBDSMgiOOUOP//4+ppuW6bdn9nZ+/T9+RrvLe3s3fvU/qKhrmRmztt + qaObefjzYR7e3d7bgQO9R2z86Xhv7/6nuwe7t+ZhH5n34NzgNXwbfY3ZcPg9/jr6YssMMfgifx15 + kfhGB/21eDOfVqC2/3Ke6cubGNd9+9qACL4ntP7fwdi79+grJsP7Mfb+w4M9+ooGejNju7bU0Ycy + 9u6bnb1H9/bIlx7v7+zev3f/PRlbkXlfxjav4dvoa8y5w+/x19EXW2aIwRf568iLxDc6aI837QQQ + oX9+M/aD/Xv37n0Nxv70YGfvIX1FA72Rsb221NGHMjZr7N3dR/fJ67j/6cO9nfvvxdgGmfdkbPsa + vo2+xpw7/B5/HX2xZYYYfJG/jrxIfKOD9njTTgAR+uc3Yx98SuHz12DsB/t7+7CUNNAbGdtrSx19 + KGPvw52+t8NBIgE+eHj71IePzHsytn0N30ZfY84dfo+/jr7YMkMMvshfR14kvtFBe7xpJ4AI/fOb + sfcefj2N/eDhg50D+ooGejNju7bU0YcyNmvsnU8f3aec3gHlPh4+fD/GVmTel7HNa/g2+hpz7vB7 + /HX0xZYZYvBF/jryIvGNDtrjTTsBROifr4w9Ixpky7fVdku/7L4Xb5tXd/eQ1NjA2GFD6uJmrt6Q + /SCufvBm9+Ej+h9lPw4oVbv/6f4tudrD5NYs7b+Dr6LvMMMOvMTfRd9qmQnib/F3kbeIUXSgHjNa + ihNxN3MyfQZ2jDErQf45Zsb6/RiQ/r7IwBQ0MI/9/LUl5UC/JfVwM/+9Ot6gVyn/dv/Nzs6jvfuP + dvbHDyj/9uDe3i050GJya/5zb+CL6BvMYdFX+JvoOy3Peewd/ibyDnGFDtDjPJ/YRNnNzGd04K0I + tG2bD5OKh3fDy9wm+naLgd7wNreJvE3EsI08cohV2CPgmyTNfftzbxbikkhzSlMJm2C+eP+8eQzG + vZ3dfRq+J61WdamobniLOr9ZcjdYjnvbu/fZH6L/7Y0fPDzY3/n0tnI7hNYwb0JabwMA7aIAmHFv + A4EbRkEw994GBDeMgCA2V+J4TG6njCaEwNGHQwJPn4HLYzJAkNXafLTILoopfUkd0EtXVdXSHzP8 + QCOZ3xvZjdp+c4bo3arMWpCJFoxm1fRtXn/6YOf+e3E/g2haefsBLajT0Dy2F0VBnynbx5pTdx/E + 73vbew/f7O492qPA9uGYBrtz/8HOLfm9h8+tGb3/JhpE32TG3fgqt4i+2zIXbXqXW0TeJaZSAng8 + beeDiP4N8DR+k4m6kVPorZ9Nxt17eP/9vCoGYQh5cH9nlwZ9W8bV5tTdBzLu7sGb3U8f7dx/dJ9y + 6J/ef7D76W0D1x4+X49x+U00iL7JbLnxVW4RfbdlVtn0LreIvEtMpQT4/zPj5u/afIlx3H+4/37r + PgxDP3xHyZo9KNGbWTdsTx1+IO+S0t05AO/u7Y13Dx7QkG/rZPQRel/m9V9Fi+irzJub3+Um0Zdb + ZpiNL3OTyMvEW0qEnxf8+3Dn4Gu5DPzhu3b/03tIl3j8Sx22c9Ara4qMvoqysb5G/X4QG1OWZRe+ + 8r2H8JX3sSKy8/XYGAh9TTbmV9Ei+irz6OZ3uUn05Zb5ZuPL3CTyMrGYEsFj4+7cEP1/2Nz8/V+S + /D/tStZTzS0AAA== + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Type: [application/json] + Date: ['Thu, 24 Mar 2016 21:57:15 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +version: 1 diff --git a/src/azure/cli/tests/recordings/command_specs.test_spec_storage_account.test_test_storage_account_usage.yaml b/src/azure/cli/tests/recordings/command_specs.test_spec_storage_account.test_test_storage_account_usage.yaml new file mode 100644 index 000000000..ccbac7b4e --- /dev/null +++ b/src/azure/cli/tests/recordings/command_specs.test_spec_storage_account.test_test_storage_account_usage.yaml @@ -0,0 +1,33 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.1.3 msrest_azure/0.1.2 storagemanagementclient/2015-06-15 + Azure-SDK-For-Python AZURECLI_0.0.1] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/usages?api-version=2015-06-15 + response: + body: + string: !!binary | + H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl + VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk + 6UeXWbnOP3qUfg9/pSl/iOej9bJo6fOPTqr1sv1oZD+frus6X7Y/qe/tfuq+KosFv7O7s+M+XGYL + tLOA6SPT50ev26rOLvLj6RSdNK4XalRW06wsfpDPTE+mdWqbm9a/RH7hH9//jZNf8v8A3pREK9oA + AAA= + headers: + Cache-Control: [no-cache] + Content-Encoding: [gzip] + Content-Type: [application/json] + Date: ['Thu, 24 Mar 2016 21:57:20 GMT'] + Expires: ['-1'] + Pragma: [no-cache] + Server: [Microsoft-Azure-Storage-Resource-Provider/1.0, Microsoft-HTTPAPI/2.0] + Strict-Transport-Security: [max-age=31536000; includeSubDomains] + Vary: [Accept-Encoding] + status: {code: 200, message: OK} +version: 1 diff --git a/testall.bat b/testall.bat new file mode 100644 index 000000000..b37c4e0a0 --- /dev/null +++ b/testall.bat @@ -0,0 +1,4 @@ +@echo off +cd src +python -m unittest discover -s azure\cli\tests +cd..