diff --git a/src/command_modules/azure-cli-consumption/HISTORY.rst b/src/command_modules/azure-cli-consumption/HISTORY.rst index 42177acd6f8..a8c0167a73e 100644 --- a/src/command_modules/azure-cli-consumption/HISTORY.rst +++ b/src/command_modules/azure-cli-consumption/HISTORY.rst @@ -3,6 +3,10 @@ Release History =============== +0.4.1 ++++++ +* Fixed bugs for budget API to show notifications. + 0.4.0 +++++ * BREAKING CHANGE: 'show' commands log error message and fail with exit code of 3 upon a missing resource. diff --git a/src/command_modules/azure-cli-consumption/azure/cli/command_modules/consumption/_transformers.py b/src/command_modules/azure-cli-consumption/azure/cli/command_modules/consumption/_transformers.py index 68a47fa7bca..972f47ff330 100644 --- a/src/command_modules/azure-cli-consumption/azure/cli/command_modules/consumption/_transformers.py +++ b/src/command_modules/azure-cli-consumption/azure/cli/command_modules/consumption/_transformers.py @@ -78,6 +78,10 @@ def budget_output(result): result.amount = str(result.amount) if result.current_spend: result.current_spend.amount = str(result.current_spend.amount) + if result.notifications: + for key in result.notifications: + value = result.notifications[key] + value.threshold = str(value.threshold) return result diff --git a/src/command_modules/azure-cli-consumption/azure/cli/command_modules/consumption/tests/latest/recordings/test_consumption_budget_show.yaml b/src/command_modules/azure-cli-consumption/azure/cli/command_modules/consumption/tests/latest/recordings/test_consumption_budget_show.yaml new file mode 100644 index 00000000000..010f70adc7e --- /dev/null +++ b/src/command_modules/azure-cli-consumption/azure/cli/command_modules/consumption/tests/latest/recordings/test_consumption_budget_show.yaml @@ -0,0 +1,32 @@ +interactions: +- request: + body: null + headers: + Accept: [application/json] + Accept-Encoding: ['gzip, deflate'] + CommandName: [consumption budget show] + Connection: [keep-alive] + Content-Type: [application/json; charset=utf-8] + ParameterSetName: [--budget-name] + User-Agent: [python/3.6.5 (Windows-10-10.0.17763-SP0) msrest/0.6.2 msrest_azure/0.4.34 + azure-mgmt-consumption/2.0.0 Azure-SDK-For-Python AZURECLI/2.0.52] + accept-language: [en-US] + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/budgets/havTest01?api-version=2018-01-31 + response: + body: {string: '{"id":"subscriptions/f2ddfccd-77af-44b8-b0cd-38500f84b95e/providers/Microsoft.Consumption/budgets/havTest01","name":"havTest01","type":"Microsoft.Consumption/budgets","eTag":"\"1d4877ebd701de2\"","properties":{"timePeriod":{"startDate":"2018-11-01T00:00:00Z","endDate":"2018-12-31T00:00:00Z"},"timeGrain":"Monthly","amount":800.0,"currentSpend":{"amount":41.712656643888759,"unit":"USD"},"category":"Cost","notifications":{"actual_GreaterThan_25_Percent":{"enabled":true,"operator":"GreaterThan","threshold":25.00,"contactEmails":["mar@microsoft.com"],"contactRoles":[],"contactGroups":[]},"actual_GreaterThan_75_Percent":{"enabled":true,"operator":"GreaterThan","threshold":75.00,"contactEmails":["mar@microsoft.com"],"contactRoles":[],"contactGroups":[]},"actual_GreaterThan_100_Percent":{"enabled":true,"operator":"GreaterThan","threshold":100.0,"contactEmails":["mar@microsoft.com"],"contactRoles":[],"contactGroups":[]}},"filters":{"resourceGroups":[],"resources":[],"meters":[],"tags":{}}}}'} + headers: + access-control-allow-origin: ['*'] + cache-control: [no-cache] + content-length: ['996'] + content-type: [application/json; charset=utf-8] + date: ['Mon, 03 Dec 2018 23:33:26 GMT'] + expires: ['-1'] + pragma: [no-cache] + session-id: [8e7644fe-1025-466c-a0c6-17adf1ee8b2e] + strict-transport-security: [max-age=31536000; includeSubDomains] + transfer-encoding: [chunked] + vary: [Accept-Encoding] + x-content-type-options: [nosniff] + status: {code: 200, message: OK} +version: 1 diff --git a/src/command_modules/azure-cli-consumption/azure/cli/command_modules/consumption/tests/latest/test_consumption_commands.py b/src/command_modules/azure-cli-consumption/azure/cli/command_modules/consumption/tests/latest/test_consumption_commands.py index 9c64b58f138..56d45d15250 100644 --- a/src/command_modules/azure-cli-consumption/azure/cli/command_modules/consumption/tests/latest/test_consumption_commands.py +++ b/src/command_modules/azure-cli-consumption/azure/cli/command_modules/consumption/tests/latest/test_consumption_commands.py @@ -213,3 +213,8 @@ def test_consumption_budget_create(self): def test_consumption_budget_delete(self): output = self.cmd('consumption budget delete --budget-name "costbudget"') self.assertTrue(output) + + def test_consumption_budget_show(self): + output_budget = self.cmd('consumption budget show --budget-name "havTest01"').get_output_in_json() + self.assertTrue(output_budget) + self._validate_budget(output_budget) diff --git a/src/command_modules/azure-cli-consumption/setup.py b/src/command_modules/azure-cli-consumption/setup.py index 71b677ca071..40ab7cfa5b4 100644 --- a/src/command_modules/azure-cli-consumption/setup.py +++ b/src/command_modules/azure-cli-consumption/setup.py @@ -16,7 +16,7 @@ cmdclass = {} -VERSION = "0.4.0" +VERSION = "0.4.1" # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers CLASSIFIERS = [