Ejemplo n.º 1
0
class test_Session(TestCase):
    def setUp(self):
        self.session = Session()

    def test_client(self):
        assert self.session.client('aaaa') is None
        assert type(self.session.client('s3')).__name__ == 'S3'

    def test_client_boto(self):
        assert "Unknown service: 'aaaa'. Valid service names are:" in self.session.client_boto3(
            'aaaa').get('data')
        Globals.aws_session_profile_name = 'bad_profile'
        assert type(
            self.session.client_boto3('s3').get('client')).__name__ == 'S3'
        Globals.aws_session_profile_name = 'default'
Ejemplo n.º 2
0
class test_Session(Unit_Test):
    def setUp(self):
        super().setUp()
        self.session = Session()

    def test_client(self):
        assert self.session.client('aaaa') is None
        assert type(self.session.client('s3')).__name__ == 'S3'

    def test_client_boto3(self):
        assert "Unknown service: 'aaaa'. Valid service names are:" in self.session.client_boto3(
            'aaaa').get('data')
        AWS_Config().set_aws_session_profile_name('bad_profile')
        assert type(
            self.session.client_boto3('s3').get('client')).__name__ == 'S3'
        AWS_Config().set_aws_session_profile_name('default')

    def test_profiles(self):
        profiles = self.session.profiles()
        if len(set(profiles)) > 0:
            pass  # todo: add tests when there are credentials configured at ~/.aws/credentials

        #assert set(self.session.profiles().get('default')) == {'aws_access_key_id', 'aws_secret_access_key', 'region'}

    @pytest.mark.skip('Fix test')
    def test_session(self):
        assert self.session.session().profile_name == AWS_Config(
        ).aws_session_profile_name()
        assert self.session.session().region_name == AWS_Config(
        ).aws_session_region_name()

        with Temp_User() as temp_user:
            iam = temp_user.iam
            user_info = iam.user_info()

            access_key = iam.user_access_key_create(wait_for_key_working=True)

            aws_access_key_id = access_key.get('AccessKeyId')
            aws_secret_access_key = access_key.get('SecretAccessKey')

            session = boto3.Session(
                aws_access_key_id=aws_access_key_id,
                aws_secret_access_key=aws_secret_access_key)
            user_identity = session.client('sts').get_caller_identity()

            assert user_identity.get('UserId') == user_info.get('UserId')
            assert user_identity.get('Arn') == user_info.get('Arn')
            self.result = user_identity