예제 #1
0
    def auth(self, auth_dict):
        if auth_dict is None:
            self._auth = None
            return

        self.auth_obj = ResourceAuth.create(auth_dict)
        self._auth = self.auth_obj.encode()
예제 #2
0
    def add_auth_header(self, headers_dict):
        if 'Authorization' in headers_dict:
            del headers_dict['Authorization']

        if not self.has_auth():
            return headers_dict

        self.auth_obj = ResourceAuth.create(self.auth)

        return self.auth_obj.add_auth_header(headers_dict)
예제 #3
0
    def testResoureAuthPlugins(self):
        auth_defs = ResourceAuth.get_auth_defs()
        for auth_type in ['None', 'Basic', 'Bearer Token']:
            self.assertEqual(auth_type in auth_defs, True)

        # No Auth
        auth_dict = {'type': 'None', 'data': {}}

        auth_obj = ResourceAuth.create(auth_dict)

        self.assertEqual(auth_obj.__class__.__name__, 'NoAuth')
        self.assertEqual(auth_obj.NAME, 'None')
        self.assertEqual(auth_obj.verify(), False)

        # Basic Auth
        auth_dict = {
            'type': 'Basic',
            'data': {
                'username': '******',
                'password': '******'
            }
        }

        auth_obj = ResourceAuth.create(auth_dict)

        self.assertEqual(auth_obj.__class__.__name__, 'BasicAuth')
        self.assertEqual(auth_obj.NAME, 'Basic')
        self.assertEqual(auth_obj.verify(), True)
        encoded_val = auth_obj.encode()
        auth_dict_test = auth_obj.decode(encoded_val)
        self.assertEqual(auth_dict_test['type'], 'Basic')
        self.assertEqual(auth_dict_test['data']['username'], 'the_user')
        self.assertEqual(auth_dict_test['data']['password'], 'the_password')

        auth_dict = {'type': 'Basic', 'data': {'username': '', 'password': ''}}
        auth_obj = ResourceAuth.create(auth_dict)
        self.assertEqual(auth_obj.verify(), False)

        auth_dict = {
            'type': 'Basic',
            'data': {
                'username': None,
                'password': None
            }
        }
        auth_obj = ResourceAuth.create(auth_dict)
        self.assertEqual(auth_obj.verify(), False)

        # Bearer Token
        auth_dict = {
            'type': 'Bearer Token',
            'data': {
                'token': 'a8KeTFOceitnRWT3M2rt'
            }
        }

        auth_obj = ResourceAuth.create(auth_dict)

        self.assertEqual(auth_obj.__class__.__name__, 'BearerTokenAuth')
        self.assertEqual(auth_obj.NAME, 'Bearer Token')
        self.assertEqual(auth_obj.verify(), True)
        encoded_val = auth_obj.encode()
        auth_dict_test = auth_obj.decode(encoded_val)
        self.assertEqual(auth_dict_test['type'], 'Bearer Token')
        self.assertEqual(auth_dict_test['data']['token'],
                         'a8KeTFOceitnRWT3M2rt')