Exemple #1
0
def test_get_temporary_credentials_in_ec2(monkeypatch):
    monkeypatch.setattr('boto3facade.ec2.in_ec2', lambda: True)
    Role = namedtuple('Role', 'name')

    def get_role():
        return Role('dummyrole')

    monkeypatch.setattr('boto3facade.ec2.get_instance_profile_role', get_role)

    def get_metadata(field):
        if field == 'iam/security-credentials/dummyrole':
            return {'AccessKeyId': 'blahblah',
                    'SecretAccessKey': 'yeahyeah',
                    'Token': 'pupu'}

    monkeypatch.setattr('boto3facade.ec2.get_instance_metadata', get_metadata)
    creds = get_temporary_credentials()
    # Running tests in an EC2 instance: must have a role associated to it
    assert isinstance(creds, TemporaryCredentials)
    expected_fields = {'key_id', 'secret_key', 'token'}
    assert not set(creds._fields).difference(expected_fields)
Exemple #2
0
def test_get_temporary_credentials_outside_ec2(monkeypatch):
    monkeypatch.setattr('boto3facade.ec2.in_ec2', lambda: False)
    creds = get_temporary_credentials()
    assert creds is None