def test_federated_unknown_token_type(self):
        context = self.create_authentication_context_stub(
            cp['authorityTenant'])
        mex = self.create_mex_stub(cp['adfsWsTrust'])
        userRealm = self.create_user_realm_stub('wstrust', 'federated',
                                                cp['adfsMex'],
                                                cp['adfsWsTrust'])
        wstrustRequest = self.create_wstrust_request_stub(
            None, 'urn:oasis:names:tc:SAML:100.0:assertion')

        response = util.create_response()
        oauthClient = self.create_oauth2_client_stub(
            cp['authority'], response['decodedResponse'], None)

        tokenRequest = TokenRequest(cp['callContext'], context,
                                    response['clientId'], response['resource'])
        self.stub_out_token_request_dependencies(tokenRequest, userRealm, mex,
                                                 wstrustRequest, oauthClient)

        #action
        try:
            tokenRequest.get_token_with_username_password(
                cp['username'], cp['password'])
            self.assertTrue(receivedException,
                            'Did not receive expected error')
        except Exception as err:
            #assert
            self.assertTrue(
                'token type' in err.args[0],
                "Error message did not contain 'token type'. message:{}".
                format(err.args[0]))
    def test_federated_wstrust_unknown_token_type(self):
        context = self.create_authentication_context_stub(
            cp['authorityTenant'])
        mex = self.create_mex_stub(cp['adfsWsTrust'])
        userRealm = self.create_user_realm_stub('wstrust', 'federated', None,
                                                cp['adfsWsTrust'])
        wstrustRequest = self.create_wstrust_request_stub(
            None, 'urn:oasis:names:tc:SAML:100.0:assertion', True)

        response = util.create_response()
        oauthClient = self.create_oauth2_client_stub(
            cp['authority'], response['decodedResponse'], None)

        tokenRequest = TokenRequest(cp['callContext'], context,
                                    response['clientId'], response['resource'])
        self.stub_out_token_request_dependencies(tokenRequest, userRealm, mex,
                                                 wstrustRequest, oauthClient)

        #action
        try:
            tokenRequest.get_token_with_username_password(
                cp['username'], cp['password'])
            self.fail(receivedException, 'Did not receive expected error')
        except Exception as exp:
            #assert
            self.assertEqual(
                'Unsuccessful RSTR.\n\terror code: None\n\tfaultMessage: None',
                exp.args[0])
    def test_federated_failed_wstrust(self):
        context = self.create_authentication_context_stub(
            cp['authorityTenant'])
        mex = self.create_mex_stub(cp['adfsWsTrust'])
        userRealm = self.create_user_realm_stub('wstrust', 'federated', None,
                                                cp['adfsWsTrust'])
        mock_err_msg = 'Network not available'
        wstrustRequest = self.create_wstrust_request_stub(
            Exception(mock_err_msg), 'urn:oasis:names:tc:SAML:1.0:assertion')

        response = util.create_response()
        oauthClient = self.create_oauth2_client_stub(
            cp['authority'], response['cachedResponse'], None)

        tokenRequest = TokenRequest(cp['callContext'], context,
                                    response['clientId'], response['resource'])
        self.stub_out_token_request_dependencies(tokenRequest, userRealm, mex,
                                                 wstrustRequest, oauthClient)

        #action
        try:
            tokenRequest.get_token_with_username_password(
                cp['username'], cp['password'])
            self.fail('Did not receive expected error')
        except Exception as exp:
            #assert
            self.assertEqual(mock_err_msg, exp.args[0])
    def test_federated_saml2(self):
        context = self.create_authentication_context_stub(
            cp['authorityTenant'])
        mex = self.create_mex_stub(cp['adfsWsTrust'])
        userRealm = self.create_user_realm_stub('wstrust', 'federated',
                                                cp['adfsMex'],
                                                cp['adfsWsTrust'])
        wstrustRequest = self.create_wstrust_request_stub(
            None, 'urn:oasis:names:tc:SAML:2.0:assertion')

        response = util.create_response()
        oauthClient = self.create_oauth2_client_stub(
            cp['authority'], response['cachedResponse'], None)

        tokenRequest = TokenRequest(cp['callContext'], context,
                                    response['clientId'], response['resource'])
        self.stub_out_token_request_dependencies(tokenRequest, userRealm, mex,
                                                 wstrustRequest, oauthClient)

        #action
        token_response = tokenRequest.get_token_with_username_password(
            cp['username'], cp['password'])

        #assert
        self.assertTrue(
            util.is_match_token_response(response['cachedResponse'],
                                         token_response),
            'The response did not match what was expected')
    def test_user_realm_returns_unknown_account_type(self):
        context = self.create_authentication_context_stub(cp['authorityTenant'])
        mex = self.create_mex_stub(cp['adfsWsTrust'])
        userRealm = self.create_user_realm_stub('wstrust', 'unknown', cp['adfsMex'], cp['adfsWsTrust'])

        tokenRequest = TokenRequest(cp['callContext'], context, cp['clientId'], cp['resource'])
        self.stub_out_token_request_dependencies(tokenRequest, userRealm, mex)

        def callback(err, token_response):
            self.assertTrue(err, 'Did not receive expected err.')
            self.assertTrue('unknown AccountType' in  err.args[0], 'Did not receive expected error message.')

        tokenRequest._get_token_with_username_password('username', 'password', callback)
Exemplo n.º 6
0
 def token_func(context):
     context.token_request = TokenRequest(
         context._call_context, context, client_id, resource, redirect_uri
     )
     context.token_request._get_token_with_authorization_code(
         authorization_code, client_secret, callback
     )
Exemplo n.º 7
0
    def test_user_realm_returns_unknown_account_type(self):
        context = self.create_authentication_context_stub(cp['authorityTenant'])
        mex = self.create_mex_stub(cp['adfsWsTrust'])
        userRealm = self.create_user_realm_stub('wstrust', 'unknown', cp['adfsMex'], cp['adfsWsTrust'])

        tokenRequest = TokenRequest(cp['callContext'], context, cp['clientId'], cp['resource'])
        self.stub_out_token_request_dependencies(tokenRequest, userRealm, mex)

        #action
        try:
            tokenRequest.get_token_with_username_password(cp['username'], cp['password'])
            self.fail('Exception not raised, when it should have been')
        except Exception as err:
            #assert
            self.assertTrue(err, 'Did not receive expected err.')
            self.assertTrue('unknown AccountType' in err.args[0], 'Did not receive expected error message.')
    def test_user_realm_returns_unknown_account_type(self):
        context = self.create_authentication_context_stub(cp['authorityTenant'])
        mex = self.create_mex_stub(cp['adfsWsTrust'])
        userRealm = self.create_user_realm_stub('wstrust', 'unknown', cp['adfsMex'], cp['adfsWsTrust'])

        tokenRequest = TokenRequest(cp['callContext'], context, cp['clientId'], cp['resource'])
        self.stub_out_token_request_dependencies(tokenRequest, userRealm, mex)

        #action
        try:
            tokenRequest.get_token_with_username_password(cp['username'], cp['password'])
            self.fail('Exception not raised, when it should have been')
        except Exception as err:
            #assert
            self.assertTrue(err, 'Did not receive expected err.')
            self.assertTrue('unknown AccountType' in err.args[0], 'Did not receive expected error message.')
    def test_federated_wstrust_unknown_token_type(self):
        context = self.create_authentication_context_stub(cp['authorityTenant'])
        mex = self.create_mex_stub(cp['adfsWsTrust'])
        userRealm = self.create_user_realm_stub('wstrust', 'federated', None, cp['adfsWsTrust'])
        wstrustRequest = self.create_wstrust_request_stub(None, 'urn:oasis:names:tc:SAML:100.0:assertion', True)

        response = util.create_response()
        oauthClient = self.create_oauth2_client_stub(cp['authority'], response['decodedResponse'], None)

        #util.turnOnLogging()
        tokenRequest = TokenRequest(cp['callContext'], context, response['clientId'], response['resource'])
        self.stub_out_token_request_dependencies(tokenRequest, userRealm, mex, wstrustRequest, oauthClient)

        def callback(err, token_response):
            self.assertTrue(err, 'Did not receive expected error')

        tokenRequest._get_token_with_username_password('username', 'password', callback)
    def test_federated_failed_mex(self):
        context = self.create_authentication_context_stub(cp['authorityTenant'])
        mex = self.create_mex_stub(cp['adfsWsTrust'], Exception('mex failed'))
        userRealm = self.create_user_realm_stub('wstrust', 'federated', cp['adfsMex'], cp['adfsWsTrust'])
        wstrustRequest = self.create_wstrust_request_stub(None, 'urn:oasis:names:tc:SAML:1.0:assertion')

        response = util.create_response()
        oauthClient = self.create_oauth2_client_stub(cp['authority'], response['decodedResponse'], None)

        tokenRequest = TokenRequest(cp['callContext'], context, response['clientId'], response['resource'])
        self.stub_out_token_request_dependencies(tokenRequest, userRealm, mex, wstrustRequest, oauthClient)

        def callback(err, token_response):
            if not err:
                self.assertTrue(util.is_match_token_response(response['cachedResponse'], token_response), 'The response did not match what was expected')

        tokenRequest._get_token_with_username_password('username', 'password', callback)
    def test_federated_user_realm_returns_no_mex_endpoint_wstrust2005(self):
         context = self.create_authentication_context_stub(cp['authorityTenant'])
         mex = self.create_mex_stub(cp['adfsWsTrust2005'])
         userRealm = self.create_user_realm_stub('wstrust', 'federated', None, cp['adfsWsTrust2005'])
         wstrustRequest = self.create_wstrust_request_stub(None, 'urn:oasis:names:tc:SAML:1.0:assertion')

         response = util.create_response()
         oauthClient = self.create_oauth2_client_stub(cp['authority'], response['decodedResponse'], None)

         tokenRequest = TokenRequest(cp['callContext'], context, response['clientId'], response['resource'])
         self.stub_out_token_request_dependencies(tokenRequest, userRealm, mex, wstrustRequest, oauthClient);

         #action
         token_response = tokenRequest.get_token_with_username_password(cp['username'], cp['password'])

         #assert
         self.assertTrue(util.is_match_token_response(response['cachedResponse'], token_response), 'The response did not match what was expected')
    def test_federated_unknown_token_type(self):
        ''' TODO: Test Failing as of 2015/06/03 and needs to be completed. '''
        context = self.create_authentication_context_stub(cp['authorityTenant'])
        mex = self.create_mex_stub(cp['adfsWsTrust'])
        userRealm = self.create_user_realm_stub('wstrust', 'federated', cp['adfsMex'], cp['adfsWsTrust'])
        wstrustRequest = self.create_wstrust_request_stub(None, 'urn:oasis:names:tc:SAML:100.0:assertion')

        response = util.create_response()
        oauthClient = self.create_oauth2_client_stub(cp['authority'], response['decodedResponse'], None)

        #util.turnOnLogging()
        tokenRequest = TokenRequest(cp['callContext'], context, response['clientId'], response['resource'])
        self.stub_out_token_request_dependencies(tokenRequest, userRealm, mex, wstrustRequest, oauthClient)

        def callback(err, token_response):
            self.assertTrue(err, 'Did not receive expected err.')
            self.assertTrue('tokenType' in  err.args[0], "Error message did not contain 'token type'. message:{}".format(err.args[0]))

        tokenRequest._get_token_with_username_password('username', 'password', callback)
    def test_federated_wstrust_unknown_token_type(self):
        context = self.create_authentication_context_stub(cp['authorityTenant'])
        mex = self.create_mex_stub(cp['adfsWsTrust'])
        userRealm = self.create_user_realm_stub('wstrust', 'federated', None, cp['adfsWsTrust'])
        wstrustRequest = self.create_wstrust_request_stub(None, 'urn:oasis:names:tc:SAML:100.0:assertion', True)

        response = util.create_response()
        oauthClient = self.create_oauth2_client_stub(cp['authority'], response['decodedResponse'], None)

        tokenRequest = TokenRequest(cp['callContext'], context, response['clientId'], response['resource'])
        self.stub_out_token_request_dependencies(tokenRequest, userRealm, mex, wstrustRequest, oauthClient)

        #action
        try:
            tokenRequest.get_token_with_username_password(cp['username'], cp['password'])
            self.fail(receivedException, 'Did not receive expected error')
        except Exception as exp:
            #assert
            self.assertEqual('Unsuccessful RSTR.\n\terror code: None\n\tfaultMessage: None', exp.args[0])
    def test_federated_unknown_token_type(self):
        context = self.create_authentication_context_stub(cp['authorityTenant'])
        mex = self.create_mex_stub(cp['adfsWsTrust'])
        userRealm = self.create_user_realm_stub('wstrust', 'federated', cp['adfsMex'], cp['adfsWsTrust'])
        wstrustRequest = self.create_wstrust_request_stub(None, 'urn:oasis:names:tc:SAML:100.0:assertion')

        response = util.create_response()
        oauthClient = self.create_oauth2_client_stub(cp['authority'], response['decodedResponse'], None)

        tokenRequest = TokenRequest(cp['callContext'], context, response['clientId'], response['resource'])
        self.stub_out_token_request_dependencies(tokenRequest, userRealm, mex, wstrustRequest, oauthClient)

        #action
        try:
            tokenRequest.get_token_with_username_password(cp['username'], cp['password'])
            self.assertTrue(receivedException, 'Did not receive expected error')
        except Exception as err:
            #assert
            self.assertTrue('token type' in err.args[0], "Error message did not contain 'token type'. message:{}".format(err.args[0]))
    def test_federated_failed_wstrust(self):
        context = self.create_authentication_context_stub(cp['authorityTenant'])
        mex = self.create_mex_stub(cp['adfsWsTrust'])
        userRealm = self.create_user_realm_stub('wstrust', 'federated', None, cp['adfsWsTrust'])
        mock_err_msg = 'Network not available'
        wstrustRequest = self.create_wstrust_request_stub(Exception(mock_err_msg), 'urn:oasis:names:tc:SAML:1.0:assertion')

        response = util.create_response()
        oauthClient = self.create_oauth2_client_stub(cp['authority'], response['cachedResponse'], None)

        tokenRequest = TokenRequest(cp['callContext'], context, response['clientId'], response['resource'])
        self.stub_out_token_request_dependencies(tokenRequest, userRealm, mex, wstrustRequest, oauthClient)

        #action
        try:
            tokenRequest.get_token_with_username_password(cp['username'], cp['password'])
            self.fail('Did not receive expected error')
        except Exception as exp:
            #assert
            self.assertEqual(mock_err_msg, exp.args[0])
Exemplo n.º 16
0
 def token_func(context):
     context.token_request = TokenRequest(context._call_context, context, client_id, resource)
     context.token_request._get_token_with_username_password(username, password, callback)
Exemplo n.º 17
0
 def token_func(context, extra=None):
     context.token_request = TokenRequest(context._call_context, context, client_id, resource)
     context.token_request._get_token_with_client_credentials(client_secret, callback)
Exemplo n.º 18
0
 def token_func(context):
     context.token_request = TokenRequest(context._call_context, context, client_id, resource)
     context.token_request.get_token_with_certificate(certificate, thumbprint, callback)
Exemplo n.º 19
0
 def token_func(context):
     context.token_request = TokenRequest(context._call_context, context, client_id, resource)
     context.token_request.get_token_with_refresh_token(refresh_token, client_secret, callback)