Path: blob/develop/tests/functional/elasticache/test_create_cache_cluster.py
1567 views
#!/usr/bin/env python1# Copyright 2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.2#3# Licensed under the Apache License, Version 2.0 (the "License"). You4# may not use this file except in compliance with the License. A copy of5# the License is located at6#7# http://aws.amazon.com/apache2.0/8#9# or in the "license" file accompanying this file. This file is10# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF11# ANY KIND, either express or implied. See the License for the specific12# language governing permissions and limitations under the License.13from awscli.testutils import BaseAWSCommandParamsTest141516class TestCreateCacheCluster(BaseAWSCommandParamsTest):17maxDiff = None1819prefix = 'elasticache create-cache-cluster '2021def test_create_cache_cluster(self):22args = ('--cache-cluster-id cachecluster-us-east-1c '23'--num-cache-nodes 1 '24'--cache-node-type cache.m1.small '25'--engine memcached '26'--engine-version 1.4.5 '27'--cache-security-group-names group1 group2 '28'--preferred-availability-zone us-east-1c '29'--auto-minor-version-upgrade '30'--preferred-maintenance-window fri:08:00-fri:09:00')31cmdline = self.prefix + args32result = {'AutoMinorVersionUpgrade': True,33'CacheClusterId': 'cachecluster-us-east-1c',34'CacheNodeType': 'cache.m1.small',35'CacheSecurityGroupNames': ['group1', 'group2'],36'Engine': 'memcached',37'EngineVersion': '1.4.5',38'NumCacheNodes': 1,39'PreferredAvailabilityZone': 'us-east-1c',40'PreferredMaintenanceWindow': 'fri:08:00-fri:09:00'}41self.assert_params_for_cmd(cmdline, result)4243def test_create_cache_cluster_no_auto_minor_upgrade(self):44args = ('--cache-cluster-id cachecluster-us-east-1c '45'--num-cache-nodes 1 '46'--cache-node-type cache.m1.small '47'--engine memcached '48'--engine-version 1.4.5 '49'--cache-security-group-names group1 group2 '50'--preferred-availability-zone us-east-1c '51'--no-auto-minor-version-upgrade '52'--preferred-maintenance-window fri:08:00-fri:09:00')53cmdline = self.prefix + args54result = {'AutoMinorVersionUpgrade': False,55'CacheClusterId': 'cachecluster-us-east-1c',56'CacheNodeType': 'cache.m1.small',57'CacheSecurityGroupNames': ['group1', 'group2'],58'Engine': 'memcached',59'EngineVersion': '1.4.5',60'NumCacheNodes': 1,61'PreferredAvailabilityZone': 'us-east-1c',62'PreferredMaintenanceWindow': 'fri:08:00-fri:09:00'}63self.assert_params_for_cmd(cmdline, result)6465def test_minor_upgrade_arg_not_specified(self):66args = ('--cache-cluster-id cachecluster-us-east-1c '67'--num-cache-nodes 1 '68'--cache-node-type cache.m1.small '69'--engine memcached '70'--engine-version 1.4.5 '71'--cache-security-group-names group1 group2 '72'--preferred-availability-zone us-east-1c '73'--preferred-maintenance-window fri:08:00-fri:09:00')74cmdline = self.prefix + args75# Note how if neither '--auto-minor-version-upgrade' nor76# '--no-auto-minor-version-upgrade' is specified, then77# AutoMinorVersionUpgrade is not in the result dict.78result = {'CacheClusterId': 'cachecluster-us-east-1c',79'CacheNodeType': 'cache.m1.small',80'CacheSecurityGroupNames': ['group1', 'group2'],81'Engine': 'memcached',82'EngineVersion': '1.4.5',83'NumCacheNodes': 1,84'PreferredAvailabilityZone': 'us-east-1c',85'PreferredMaintenanceWindow': 'fri:08:00-fri:09:00'}86self.assert_params_for_cmd(cmdline, result)878889