Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
aws
GitHub Repository: aws/aws-cli
Path: blob/develop/tests/unit/customizations/test_cloudwatch.py
1567 views
1
# Copyright 2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
#
3
# Licensed under the Apache License, Version 2.0 (the "License"). You
4
# may not use this file except in compliance with the License. A copy of
5
# the License is located at
6
#
7
# http://aws.amazon.com/apache2.0/
8
#
9
# or in the "license" file accompanying this file. This file is
10
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
# ANY KIND, either express or implied. See the License for the specific
12
# language governing permissions and limitations under the License.
13
import decimal
14
15
from awscli.testutils import mock, unittest
16
from awscli.customizations import putmetricdata
17
18
19
class TestPutMetricArgument(unittest.TestCase):
20
def test_build_metric_name_arg(self):
21
arg = putmetricdata.PutMetricArgument('metric-name',
22
help_text='metric-name')
23
parameters = {}
24
arg.add_to_params(parameters, 'MyMetricName')
25
self.assertEqual(parameters['MetricData'][0]['MetricName'],
26
'MyMetricName')
27
28
def test_build_unit_arg(self):
29
arg = putmetricdata.PutMetricArgument('unit',
30
help_text='unit')
31
parameters = {}
32
arg.add_to_params(parameters, 'Percent')
33
self.assertEqual(parameters['MetricData'][0]['Unit'],
34
'Percent')
35
36
def test_value_arg(self):
37
arg = putmetricdata.PutMetricArgument('value',
38
help_text='value')
39
parameters = {}
40
arg.add_to_params(parameters, '123.1')
41
self.assertEqual(parameters['MetricData'][0]['Value'],
42
decimal.Decimal('123.1'))
43
44
def test_timestamp_arg(self):
45
arg = putmetricdata.PutMetricArgument('timestamp',
46
help_text='timestamp')
47
parameters = {}
48
arg.add_to_params(parameters, '2013-09-01')
49
self.assertEqual(parameters['MetricData'][0]['Timestamp'],
50
'2013-09-01')
51
52
def test_dimensions_arg(self):
53
arg = putmetricdata.PutMetricArgument('dimensions',
54
help_text='dimensions')
55
parameters = {}
56
arg.add_to_params(parameters, 'User=someuser,Stack=test')
57
self.assertEqual(parameters['MetricData'][0]['Dimensions'],
58
[{"Name": "User", "Value": "someuser"},
59
{"Name": "Stack", "Value": "test"}])
60
61
def test_statistics_arg(self):
62
arg = putmetricdata.PutMetricArgument('statistic-values',
63
help_text='statistic-values')
64
parameters = {}
65
arg.add_to_params(parameters,
66
'Sum=250,Minimum=30,Maximum=70,SampleCount=5')
67
self.assertEqual(parameters['MetricData'][0]['StatisticValues'],
68
{'Maximum': decimal.Decimal('70'),
69
'Minimum': decimal.Decimal('30'),
70
'SampleCount': decimal.Decimal('5'),
71
'Sum': decimal.Decimal('250')})
72
73
def test_parse_empty_value(self):
74
arg = putmetricdata.PutMetricArgument('dimensions',
75
help_text='dimensions')
76
parameters = {}
77
arg.add_to_params(parameters, None)
78
self.assertEqual(parameters, {})
79
80