Пример #1
0
 def test_create_boto_sts_client(self, mock_boto_session_function):
     mock_boto_client = mock.Mock()
     mock_returned_session = mock.Mock()
     mock_returned_session.client = mock_boto_client
     mock_boto_session_function.return_value = mock_returned_session
     awsumepy.create_boto_sts_client('profile-name', 'secret-access-key',
                                     'access-key-id', 'session-token')
     self.assertEqual(mock_boto_session_function.call_count, 1)
     self.assertEqual(mock_boto_client.call_count, 1)
Пример #2
0
def refresh_session(oldSession, roleArn, sessionName):
    """
    oldSession - the session to refresh;
    roleArn - the role_arn used to make the assume_role call;
    sessionName - what to name the assumed role session;
    refresh the `oldSession` role credentials and return them
    """
    #create the client to make aws calls
    refreshClient = awsumepy.create_boto_sts_client(
        None, oldSession['SecretAccessKey'], oldSession['AccessKeyId'],
        oldSession['SessionToken'])
    #call assume_role
    roleCredentials = awsumepy.get_assume_role_credentials(
        refreshClient, roleArn, sessionName)
    #format the credentials for awsume
    newRoleSession = awsumepy.create_awsume_session(roleCredentials,
                                                    oldSession)
    #localize the expiration
    newRoleSession['Expiration'] = newRoleSession['Expiration'].replace(
        tzinfo=None)
    return newRoleSession