from __future__ import unicode_literals import boto3 import sure # noqa from moto import mock_ssm @mock_ssm def test_delete_parameter(): client = boto3.client('ssm', region_name='us-east-1') client.put_parameter( Name='test', Description='A test parameter', Value='value', Type='String') response = client.get_parameters(Names=['test']) len(response['Parameters']).should.equal(1) client.delete_parameter(Name='test') response = client.get_parameters(Names=['test']) len(response['Parameters']).should.equal(0) @mock_ssm def test_put_parameter(): client = boto3.client('ssm', region_name='us-east-1') client.put_parameter( Name='test', Description='A test parameter', Value='value', Type='String') response = client.get_parameters( Names=[ 'test' ], WithDecryption=False) len(response['Parameters']).should.equal(1) response['Parameters'][0]['Name'].should.equal('test') response['Parameters'][0]['Value'].should.equal('value') response['Parameters'][0]['Type'].should.equal('String') @mock_ssm def test_put_parameter_secure_default_kms(): client = boto3.client('ssm', region_name='us-east-1') client.put_parameter( Name='test', Description='A test parameter', Value='value', Type='SecureString') response = client.get_parameters( Names=[ 'test' ], WithDecryption=False) len(response['Parameters']).should.equal(1) response['Parameters'][0]['Name'].should.equal('test') response['Parameters'][0]['Value'].should.equal('kms:default:value') response['Parameters'][0]['Type'].should.equal('SecureString') response = client.get_parameters( Names=[ 'test' ], WithDecryption=True) len(response['Parameters']).should.equal(1) response['Parameters'][0]['Name'].should.equal('test') response['Parameters'][0]['Value'].should.equal('value') response['Parameters'][0]['Type'].should.equal('SecureString') @mock_ssm def test_put_parameter_secure_custom_kms(): client = boto3.client('ssm', region_name='us-east-1') client.put_parameter( Name='test', Description='A test parameter', Value='value', Type='SecureString', KeyId='foo') response = client.get_parameters( Names=[ 'test' ], WithDecryption=False) len(response['Parameters']).should.equal(1) response['Parameters'][0]['Name'].should.equal('test') response['Parameters'][0]['Value'].should.equal('kms:foo:value') response['Parameters'][0]['Type'].should.equal('SecureString') response = client.get_parameters( Names=[ 'test' ], WithDecryption=True) len(response['Parameters']).should.equal(1) response['Parameters'][0]['Name'].should.equal('test') response['Parameters'][0]['Value'].should.equal('value') response['Parameters'][0]['Type'].should.equal('SecureString')