def test_get_many_portfolios(mocker): id_1 = 'MP1' id_2 = 'MP2' mock_response = {'results': ( Portfolio.from_dict({'id': id_1, 'currency': 'USD', 'name': 'Example Port 1'}), Portfolio.from_dict({'id': id_2, 'currency': 'USD', 'name': 'Example Port 2'}) ), 'totalResults': 2} expected_response = ( Portfolio(id=id_1, currency='USD', name='Example Port 1'), Portfolio(id=id_2, currency='USD', name='Example Port 2') ) # mock GsSession mocker.patch.object( GsSession.__class__, 'default_value', return_value=GsSession.get( Environment.QA, 'client_id', 'secret')) mocker.patch.object(GsSession.current, '_get', return_value=mock_response) # run test response = GsPortfolioApi.get_portfolios() GsSession.current._get.assert_called_with('/portfolios?&limit=100', cls=Portfolio) assert response == expected_response
def test_get_portfolio(mocker): id_1 = 'MP1' mock_response = Portfolio(id=id_1, currency='USD', name='Example Port') # mock GsSession mocker.patch.object(GsSession.__class__, 'current', return_value=GsSession.get(Environment.QA, 'client_id', 'secret')) mocker.patch.object(GsSession.current, '_get', return_value=mock_response) # run test response = GsPortfolioApi.get_portfolio(id_1) GsSession.current._get.assert_called_with('/portfolios/{id}'.format(id=id_1), cls=Portfolio) assert response == mock_response
def test_create_portfolio(mocker): id_1 = 'MP1' portfolio = Portfolio(id=id_1, currency='USD', name='Example Port') # mock GsSession mocker.patch.object(GsSession.__class__, 'current', return_value=GsSession.get(Environment.QA, 'client_id', 'secret')) mocker.patch.object(GsSession.current, '_post', return_value=portfolio) # run test response = GsPortfolioApi.create_portfolio(portfolio) GsSession.current._post.assert_called_with('/portfolios', portfolio, cls=Portfolio) assert response == portfolio