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')
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)
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')
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)
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)
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)
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)
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()
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