def provider_fixture(app): """Fixture that contains test data for provider tests.""" from invenio_oauth2server.proxies import current_oauth2server # Mock the oauth client calls to prevent them from going online. oauth_client = create_oauth_client(app, 'oauth2test') oauth_client.http_request = MagicMock( side_effect=patch_request(app) ) datastore = app.extensions['security'].datastore with app.test_request_context(): with db.session.begin_nested(): current_oauth2server.register_scope(Scope('test:scope')) user1 = datastore.create_user( email='*****@*****.**', password='******', active=True, ) datastore.create_user( email='*****@*****.**', password='******', active=True ) c1 = Client(client_id='dev', client_secret='dev', name='dev', description='', is_confidential=False, user=user1, _redirect_uris=url_for( 'oauth2test.authorized', _external=True ), _default_scopes='test:scope' ) c2 = Client(client_id='confidential', client_secret='confidential', name='confidential', description='', is_confidential=True, user=user1, _redirect_uris=url_for( 'oauth2test.authorized', _external=True ), _default_scopes='test:scope' ) db.session.add(c1) db.session.add(c2) personal_token = Token.create_personal('test-personal', user1.id, scopes=[], is_internal=True) db.session.commit() app.user1_id = user1.id app.personal_token = personal_token.access_token return app
def provider_fixture(app): """Fixture that contains test data for provider tests.""" from invenio_oauth2server.proxies import current_oauth2server # Mock the oauth client calls to prevent them from going online. oauth_client = create_oauth_client(app, 'oauth2test') oauth_client.http_request = MagicMock( side_effect=patch_request(app) ) datastore = app.extensions['security'].datastore with app.test_request_context(): with db.session.begin_nested(): current_oauth2server.register_scope(Scope('test:scope')) app.user1 = datastore.create_user( email='*****@*****.**', password='******', active=True, ) app.user2 = datastore.create_user( email='*****@*****.**', password='******', active=True ) app.c1 = Client(client_id='dev', client_secret='dev', name='dev', description='', is_confidential=False, user=app.user1, _redirect_uris=url_for( 'oauth2test.authorized', _external=True ), _default_scopes='test:scope' ) app.c2 = Client(client_id='confidential', client_secret='confidential', name='confidential', description='', is_confidential=True, user=app.user1, _redirect_uris=url_for( 'oauth2test.authorized', _external=True ), _default_scopes='test:scope' ) db.session.add(app.c1) db.session.add(app.c2) app.personal_token = Token.create_personal('test-personal', app.user1.id, scopes=[], is_internal=True) return app
def provider_fixture(app): """Fixture that contains test data for provider tests.""" from invenio_oauth2server.proxies import current_oauth2server # Mock the oauth client calls to prevent them from going online. oauth_client = create_oauth_client(app, 'oauth2test') oauth_client.http_request = MagicMock(side_effect=patch_request(app)) datastore = app.extensions['security'].datastore with app.test_request_context(): with db.session.begin_nested(): current_oauth2server.register_scope(Scope('test:scope')) user1 = datastore.create_user( email='*****@*****.**', password='******', active=True, ) datastore.create_user(email='*****@*****.**', password='******', active=True) user3 = datastore.create_user(email='*****@*****.**', password='******', active=False) c1 = Client(client_id='dev', client_secret='dev', name='dev', description='', is_confidential=False, user=user1, _redirect_uris=url_for('oauth2test.authorized', _external=True), _default_scopes='test:scope') c2 = Client(client_id='confidential', client_secret='confidential', name='confidential', description='', is_confidential=True, user=user1, _redirect_uris=url_for('oauth2test.authorized', _external=True), _default_scopes='test:scope') # Same as 'c2' but user belonging to a user that's inactive c3 = Client(client_id='confidential-user-inactive', client_secret='confidential-user-inactive', name='confidential-user-inactive', description='', is_confidential=True, user=user3, _redirect_uris=url_for('oauth2test.authorized', _external=True), _default_scopes='test:scope') c4 = Client(client_id='confidential-email', client_secret='confidential-email', name='confidential-email', description='', is_confidential=True, user=user1, _redirect_uris=url_for('oauth2test.authorized', _external=True), _default_scopes='email') db.session.add(c1) db.session.add(c2) db.session.add(c3) db.session.add(c4) personal_token = Token.create_personal('test-personal', user1.id, scopes=[], is_internal=True) personal_token3 = Token.create_personal('test-personal', user3.id, scopes=[], is_internal=True) db.session.commit() app.user1_id = user1.id app.user3_id = user3.id app.personal_token = personal_token.access_token app.personal_token3 = personal_token3.access_token return app