This commit adds initial support for the Simple System Manager client. It currently only mocks the following api endpoints: - delete_parameter() - put_parameter() - get_parameters()
		
			
				
	
	
		
			115 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
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')
 |