def test_get_many(): users = [ TargetUser.from_dict({ 'id': 'userId', 'email': '*****@*****.**', 'name': 'Doe, Jane', 'company': 'Goldman Sachs Group' }), TargetUser.from_dict({ 'id': 'userId2', 'email': '*****@*****.**', 'name': 'Doe, John', 'company': 'Goldman Sachs Group' }) ] replace = Replacer() mock = replace('gs_quant.api.gs.users.GsUsersApi.get_users', Mock()) mock.return_value = users assert len(User.get_many(user_ids=['userId', 'userId2'])) == 2 replace.restore()
def test_get(): user = TargetUser.from_dict({ 'id': 'userId', 'email': '*****@*****.**', 'name': 'Doe, Jane', 'company': 'Goldman Sachs Group' }) replace = Replacer() mock = replace('gs_quant.api.gs.users.GsUsersApi.get_users', Mock()) mock.return_value = [user] assert User.get(name='Doe, Jane').id == 'userId' replace.restore()
def mock_basket_init(mocker, user: Dict, existing: bool = True): """ Mock basket initialization helper """ if existing: mock_response(mocker, GsAssetApi, 'resolve_assets', resolved_asset) mock_response(mocker, GsAssetApi, 'get_asset', gs_asset) mock_response(mocker, GsAssetApi, 'get_latest_positions', target_position_set) mock_response(mocker, GsAssetApi, 'get_many_assets_data', assets_data) mock_response(mocker, GsIndexApi, 'initial_price', initial_price) mock_response(mocker, GsReportApi, 'get_reports', [report]) mock_response(mocker, GsUsersApi, 'get_users', [TargetUser.from_dict(user)]) mock_response(mocker, GsUsersApi, 'get_current_user_info', user)
def test_from_dict(): replace = Replacer() mock = replace('gs_quant.api.gs.users.GsUsersApi.get_users', Mock()) mock.return_value = [ TargetUser.from_dict({ 'id': 'userId', 'email': '*****@*****.**', 'name': 'Jane Doe', 'company': 'Goldman Sachs Group' }) ] ent = Entitlements.from_dict({'edit': ['guid:userId', 'role:roleId']}) replace.restore() assert ent.edit.users == [get_fake_user()] assert ent.edit.roles == ['roleId']
def get_fake_user(): user = TargetUser.from_dict({ 'id': 'userId', 'email': '*****@*****.**', 'name': 'Jane Doe', 'company': 'Goldman Sachs Group' }) replace = Replacer() mock = replace('gs_quant.api.gs.users.GsUsersApi.get_users', Mock()) mock.return_value = [user] user = User.get(email='*****@*****.**') replace.restore() return user
def test_basket_update_entitlements(mocker): mock_session() mock_basket_init(mocker, user_ia) basket = Basket.get(ticker) mock_response(mocker, GsUsersApi, 'get_users', [TargetUser.from_dict(user_ena)]) new_admin = User.get(user_id='user_xyz') basket.entitlements.admin.users += [new_admin] entitlements_response = TargetEntitlements( admin=['guid:user_abc', 'guid:user_xyz']) mock_response(mocker, GsAssetApi, 'update_asset_entitlements', entitlements_response) response = basket.update() GsAssetApi.update_asset_entitlements.assert_called() assert response == entitlements_response.as_dict()