def init(self):
        '''This method is invoked automatically in order to setup common dependencies for all test cases.'''

        self._db_conn = Mock()

        self._tokens_generator = Mock()
        self._tokens_factory = Mock()
        self._tokens_factory.get_generator = Mock(
            return_value=self._tokens_generator)

        factory_cls = Mock(return_value=self._tokens_factory)

        self._client_repo = Mock()
        client_repo_cls = Mock(return_value=self._client_repo)

        self._encryptor = Mock()
        encryptor_cls = Mock(return_value=self._encryptor)

        self._tokens_service = TokensService(self._db_conn,
                                             factory_cls,
                                             client_repo_cls,
                                             encryptor_cls=encryptor_cls)

        factory_cls.assert_called_once_with()
        client_repo_cls.assert_called_once_with(self._db_conn)
Beispiel #2
0
    def _invalidate_encrypted_token(self, encrypted_token):
        '''This method invalidates a given encrypted token using tokens service implementation.'''

        db_conn = None
        conn_manager = None
        request_id = None

        try:
            conn_manager, request_id, db_conn = self._get_db_conn()

            tokens_service = TokensService(db_conn)
            token = tokens_service.decrypt(encrypted_token)

            tokens_service.invalidate(token)
        finally:
            if db_conn != None:
                conn_manager.close_connection(request_id)
Beispiel #3
0
    def _get_token(self, token_type, token_desc):
        '''This method provides a generic token generation method which can be used in integration tests.'''

        db_conn = None
        conn_manager = None
        request_id = None

        try:
            conn_manager, request_id, db_conn = self._get_db_conn()

            tokens_service = TokensService(db_conn)

            token = tokens_service.generate(token_desc, token_type)

            return tokens_service.encrypt(token, token_desc["client_id"])
        finally:
            if db_conn != None:
                conn_manager.close_connection(request_id)