Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
aws
GitHub Repository: aws/aws-cli
Path: blob/develop/tests/functional/elasticache/test_create_cache_cluster.py
1567 views
1
#!/usr/bin/env python
2
# Copyright 2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
#
4
# Licensed under the Apache License, Version 2.0 (the "License"). You
5
# may not use this file except in compliance with the License. A copy of
6
# the License is located at
7
#
8
# http://aws.amazon.com/apache2.0/
9
#
10
# or in the "license" file accompanying this file. This file is
11
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
12
# ANY KIND, either express or implied. See the License for the specific
13
# language governing permissions and limitations under the License.
14
from awscli.testutils import BaseAWSCommandParamsTest
15
16
17
class TestCreateCacheCluster(BaseAWSCommandParamsTest):
18
maxDiff = None
19
20
prefix = 'elasticache create-cache-cluster '
21
22
def test_create_cache_cluster(self):
23
args = ('--cache-cluster-id cachecluster-us-east-1c '
24
'--num-cache-nodes 1 '
25
'--cache-node-type cache.m1.small '
26
'--engine memcached '
27
'--engine-version 1.4.5 '
28
'--cache-security-group-names group1 group2 '
29
'--preferred-availability-zone us-east-1c '
30
'--auto-minor-version-upgrade '
31
'--preferred-maintenance-window fri:08:00-fri:09:00')
32
cmdline = self.prefix + args
33
result = {'AutoMinorVersionUpgrade': True,
34
'CacheClusterId': 'cachecluster-us-east-1c',
35
'CacheNodeType': 'cache.m1.small',
36
'CacheSecurityGroupNames': ['group1', 'group2'],
37
'Engine': 'memcached',
38
'EngineVersion': '1.4.5',
39
'NumCacheNodes': 1,
40
'PreferredAvailabilityZone': 'us-east-1c',
41
'PreferredMaintenanceWindow': 'fri:08:00-fri:09:00'}
42
self.assert_params_for_cmd(cmdline, result)
43
44
def test_create_cache_cluster_no_auto_minor_upgrade(self):
45
args = ('--cache-cluster-id cachecluster-us-east-1c '
46
'--num-cache-nodes 1 '
47
'--cache-node-type cache.m1.small '
48
'--engine memcached '
49
'--engine-version 1.4.5 '
50
'--cache-security-group-names group1 group2 '
51
'--preferred-availability-zone us-east-1c '
52
'--no-auto-minor-version-upgrade '
53
'--preferred-maintenance-window fri:08:00-fri:09:00')
54
cmdline = self.prefix + args
55
result = {'AutoMinorVersionUpgrade': False,
56
'CacheClusterId': 'cachecluster-us-east-1c',
57
'CacheNodeType': 'cache.m1.small',
58
'CacheSecurityGroupNames': ['group1', 'group2'],
59
'Engine': 'memcached',
60
'EngineVersion': '1.4.5',
61
'NumCacheNodes': 1,
62
'PreferredAvailabilityZone': 'us-east-1c',
63
'PreferredMaintenanceWindow': 'fri:08:00-fri:09:00'}
64
self.assert_params_for_cmd(cmdline, result)
65
66
def test_minor_upgrade_arg_not_specified(self):
67
args = ('--cache-cluster-id cachecluster-us-east-1c '
68
'--num-cache-nodes 1 '
69
'--cache-node-type cache.m1.small '
70
'--engine memcached '
71
'--engine-version 1.4.5 '
72
'--cache-security-group-names group1 group2 '
73
'--preferred-availability-zone us-east-1c '
74
'--preferred-maintenance-window fri:08:00-fri:09:00')
75
cmdline = self.prefix + args
76
# Note how if neither '--auto-minor-version-upgrade' nor
77
# '--no-auto-minor-version-upgrade' is specified, then
78
# AutoMinorVersionUpgrade is not in the result dict.
79
result = {'CacheClusterId': 'cachecluster-us-east-1c',
80
'CacheNodeType': 'cache.m1.small',
81
'CacheSecurityGroupNames': ['group1', 'group2'],
82
'Engine': 'memcached',
83
'EngineVersion': '1.4.5',
84
'NumCacheNodes': 1,
85
'PreferredAvailabilityZone': 'us-east-1c',
86
'PreferredMaintenanceWindow': 'fri:08:00-fri:09:00'}
87
self.assert_params_for_cmd(cmdline, result)
88
89