Ejemplo n.º 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()
Ejemplo n.º 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)
Ejemplo n.º 3
0
def edit_resource(resource_identifier):
    """edit a resource"""
    resource = Resource.query.filter_by(identifier=resource_identifier).first()
    if resource is None:
        flash(gettext('Resource not found'), 'danger')
        return redirect(request.referrer)

    probes_avail = views.get_probes_avail(resource.resource_type, resource)

    suggestions = json.dumps(Recipient.get_suggestions('email',
                                                       g.user.username))

    return render_template('edit_resource.html',
                           lang=g.current_lang,
                           resource=resource,
                           suggestions=suggestions,
                           auths_avail=ResourceAuth.get_auth_defs(),
                           probes_avail=probes_avail)
Ejemplo n.º 4
0
 def auth(self):
     return ResourceAuth.decode(self._auth)
Ejemplo n.º 5
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')