Exemplo n.º 1
0
    def test_create_credentials_response(self):
        client_json = client_data()
        client = Client(**client_json)
        client.client_id = 'client_id'
        client.client_secret = 'client_secret'

        result_json = service.create_credentials_response(client)
        eq_(result_json['client_id'], 'client_id')
        eq_(result_json['client_secret'], 'client_secret')
Exemplo n.º 2
0
 def test_client_load_updating(self, mock_client):
     schema = ClientSchema()
     client_json = client_data(json=False)
     client_json['id'] = 1
     client = Client(**client_json)
     mock_client.return_value = client
     mock_client.query.filter.return_value.first.return_value = Client(
         name=client_json['name'])
     with self.app.app_context():
         response_object, errors = schema.load(client_json)
     eq_(errors, {})
     eq_(response_object, client)
Exemplo n.º 3
0
    def test_reset_credentials(self, mock_client, mock_db,
                               mock_create_credentials):
        client_json = client_data()
        client = Client(**client_json)
        client.client_id = 'client_id'
        client.client_secret = 'client_secret'

        mock_db.session.commit.return_value = 'test'
        mock_client.query.filter_by.return_value.first.return_value = client
        mock_create_credentials.return_value = client
        result_json = service.reset_credentials(client_json['name'])
        eq_(result_json['client_id'], 'client_id')
        eq_(result_json['client_secret'], 'client_secret')
Exemplo n.º 4
0
    def test_list_clients(self, mock_client):
        client_json = client_data()

        client = Client(**client_json)
        mock_client.query.all.return_value = [client]
        with self.app.test_request_context('/?name=Peter'):
            result_client = service.list_clients()
            eq_(result_client[0], client)
Exemplo n.º 5
0
 def test_client_load(self, mock_client):
     schema = ClientSchema()
     client_json = client_data(json=False)
     client = Client(**client_json)
     mock_client.return_value = client
     mock_client.query.filter.return_value.first.return_value = None
     with self.app.app_context():
         response_object, errors = schema.load(client_json,
                                               partial=('id', ))
     eq_(errors, {})
     eq_(response_object, client)
Exemplo n.º 6
0
    def test_create_client_credentials(self, mock_db):
        client_json = client_data()

        client = Client(**client_json)
        mock_db.session.add.return_value = "test"
        mock_db.session.commit.return_value = "test"
        with self.app.test_request_context('/?name=Peter'):
            result_client = service.create_client_credentials(client)
            eq_(result_client._default_scopes, 'email')
            assert_is_not_none(result_client.client_id)
            assert_is_not_none(result_client.client_secret)
Exemplo n.º 7
0
    def test_client_load_name_registered(self, mock_client):
        schema = ClientSchema()
        client_json = client_data(json=False)
        mock_client.query.filter.return_value.first.return_value = Client(
            name=client_json['name'])
        with self.app.app_context(), self.assertRaises(
                RequestDataException) as error_context:
            response_object, errors = schema.load(client_json,
                                                  partial=('id', ))
        failure = CommonFailures.name_already_exists
        failure['message'] = "client name already registered"
        failure['details'] = "the name of your choice is already in usage"

        eq_(error_context.exception.errors, failure)
Exemplo n.º 8
0
 def create_oauth_credentials(self):
     client = Client(**client_data())
     client._default_scopes = 'email'
     client.client_id = 'abcd'
     client.client_secret = 'abcd'
     with self.app.app_context():
         user = User.query.get(1)
         client.user = user
         db.session.add(client)
         db.session.commit()
Exemplo n.º 9
0
def create_test_objects():
    if not test_objects:
        json_header = {'Content-Type': 'application/json'}
        app = create_app(
            settings_override={'SQLALCHEMY_DATABASE_URI': "sqlite://"})
        app.config['TESTING'] = True
        app.config['LOGIN_DISABLED'] = True

        with app.app_context():
            recreate_db(db)

        client = Client(**client_data())
        client._default_scopes = 'email'
        client.client_id = 'abcd'
        client.client_secret = 'abcd'
        with app.app_context():
            user = User.query.get(1)
            client.user = user
            db.session.add(client)
            db.session.commit()
        app.login_manager.init_app(app)
        app_client = app.test_client()
        rv = app_client.post('/passport/api/v1/auth/token',
                             data={
                                 'grant_type': 'client_credentials',
                                 'client_id': 'abcd',
                                 'client_secret': 'abcd',
                             })
        response = json.loads(rv.data)
        header = {
            'Authorization': 'Bearer {0}'.format(response['access_token'])
        }
        json_header.update(header)
        test_objects['header'] = header
        test_objects['json_header'] = json_header
        test_objects['app'] = app
        test_objects['client'] = app_client
    return test_objects