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')
							 |