Added filtering
This commit is contained in:
parent
c118d12e6f
commit
db20dfcd82
4 changed files with 190 additions and 5 deletions
|
|
@ -47,6 +47,143 @@ def test_put_parameter():
|
|||
response['Parameters'][0]['Type'].should.equal('String')
|
||||
|
||||
|
||||
@mock_ssm
|
||||
def test_describe_parameters():
|
||||
client = boto3.client('ssm', region_name='us-east-1')
|
||||
|
||||
client.put_parameter(
|
||||
Name='test',
|
||||
Description='A test parameter',
|
||||
Value='value',
|
||||
Type='String')
|
||||
|
||||
response = client.describe_parameters()
|
||||
|
||||
len(response['Parameters']).should.equal(1)
|
||||
response['Parameters'][0]['Name'].should.equal('test')
|
||||
response['Parameters'][0]['Type'].should.equal('String')
|
||||
|
||||
|
||||
@mock_ssm
|
||||
def test_describe_parameters_paging():
|
||||
client = boto3.client('ssm', region_name='us-east-1')
|
||||
|
||||
for i in range(50):
|
||||
client.put_parameter(
|
||||
Name="param-%d" % i,
|
||||
Value="value-%d" % i,
|
||||
Type="String"
|
||||
)
|
||||
|
||||
response = client.describe_parameters()
|
||||
len(response['Parameters']).should.equal(10)
|
||||
response['NextToken'].should.equal('10')
|
||||
|
||||
response = client.describe_parameters(NextToken=response['NextToken'])
|
||||
len(response['Parameters']).should.equal(10)
|
||||
response['NextToken'].should.equal('20')
|
||||
|
||||
response = client.describe_parameters(NextToken=response['NextToken'])
|
||||
len(response['Parameters']).should.equal(10)
|
||||
response['NextToken'].should.equal('30')
|
||||
|
||||
response = client.describe_parameters(NextToken=response['NextToken'])
|
||||
len(response['Parameters']).should.equal(10)
|
||||
response['NextToken'].should.equal('40')
|
||||
|
||||
response = client.describe_parameters(NextToken=response['NextToken'])
|
||||
len(response['Parameters']).should.equal(10)
|
||||
response['NextToken'].should.equal('50')
|
||||
|
||||
response = client.describe_parameters(NextToken=response['NextToken'])
|
||||
len(response['Parameters']).should.equal(0)
|
||||
''.should.equal(response.get('NextToken', ''))
|
||||
|
||||
@mock_ssm
|
||||
def test_describe_parameters_filter_names():
|
||||
client = boto3.client('ssm', region_name='us-east-1')
|
||||
|
||||
for i in range(50):
|
||||
p = {
|
||||
'Name': "param-%d" % i,
|
||||
'Value': "value-%d" % i,
|
||||
'Type': "String"
|
||||
}
|
||||
if i % 5 == 0:
|
||||
p['Type'] = 'SecureString'
|
||||
p['KeyId'] = 'a key'
|
||||
client.put_parameter(**p)
|
||||
|
||||
|
||||
response = client.describe_parameters(Filters=[
|
||||
{
|
||||
'Key': 'Name',
|
||||
'Values': ['param-45', 'param-22']
|
||||
},
|
||||
])
|
||||
len(response['Parameters']).should.equal(2)
|
||||
response['Parameters'][0]['Name'].should.equal('param-22')
|
||||
response['Parameters'][0]['Type'].should.equal('String')
|
||||
response['Parameters'][1]['Name'].should.equal('param-45')
|
||||
response['Parameters'][1]['Type'].should.equal('SecureString')
|
||||
''.should.equal(response.get('NextToken', ''))
|
||||
|
||||
@mock_ssm
|
||||
def test_describe_parameters_filter_type():
|
||||
client = boto3.client('ssm', region_name='us-east-1')
|
||||
|
||||
for i in range(50):
|
||||
p = {
|
||||
'Name': "param-%d" % i,
|
||||
'Value': "value-%d" % i,
|
||||
'Type': "String"
|
||||
}
|
||||
if i % 5 == 0:
|
||||
p['Type'] = 'SecureString'
|
||||
p['KeyId'] = 'a key'
|
||||
client.put_parameter(**p)
|
||||
|
||||
|
||||
response = client.describe_parameters(Filters=[
|
||||
{
|
||||
'Key': 'Type',
|
||||
'Values': ['SecureString']
|
||||
},
|
||||
])
|
||||
len(response['Parameters']).should.equal(10)
|
||||
response['Parameters'][0]['Name'].should.equal('param-35')
|
||||
response['Parameters'][0]['Type'].should.equal('SecureString')
|
||||
'10'.should.equal(response.get('NextToken', ''))
|
||||
|
||||
@mock_ssm
|
||||
def test_describe_parameters_filter_keyid():
|
||||
client = boto3.client('ssm', region_name='us-east-1')
|
||||
|
||||
for i in range(50):
|
||||
p = {
|
||||
'Name': "param-%d" % i,
|
||||
'Value': "value-%d" % i,
|
||||
'Type': "String"
|
||||
}
|
||||
if i % 5 == 0:
|
||||
p['Type'] = 'SecureString'
|
||||
p['KeyId'] = "key:%d" % i
|
||||
client.put_parameter(**p)
|
||||
|
||||
|
||||
response = client.describe_parameters(Filters=[
|
||||
{
|
||||
'Key': 'KeyId',
|
||||
'Values': ['key:5','key:10']
|
||||
},
|
||||
])
|
||||
len(response['Parameters']).should.equal(2)
|
||||
response['Parameters'][0]['Name'].should.equal('param-10')
|
||||
response['Parameters'][0]['Type'].should.equal('SecureString')
|
||||
response['Parameters'][1]['Name'].should.equal('param-5')
|
||||
response['Parameters'][1]['Type'].should.equal('SecureString')
|
||||
''.should.equal(response.get('NextToken', ''))
|
||||
|
||||
@mock_ssm
|
||||
def test_put_parameter_secure_default_kms():
|
||||
client = boto3.client('ssm', region_name='us-east-1')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue