def set_entitlements(self, entitlements: Entitlements): """ Set the entitlements of a portfolio :param entitlements: Entitlements object """ entitlements_as_target = entitlements.to_target() portfolio_as_target = GsPortfolioApi.get_portfolio(self.__portfolio_id) portfolio_as_target.entitlements = entitlements_as_target GsPortfolioApi.update_portfolio(portfolio_as_target)
def set_aum_source(self, aum_source: RiskAumSource): """ Set portfolio AUM Source :param aum_source: aum source for portfolio :return: """ portfolio = GsPortfolioApi.get_portfolio(self.portfolio_id) portfolio.aum_source = aum_source GsPortfolioApi.update_portfolio(portfolio)
def _update(self): GsPortfolioApi.update_portfolio( portfolio=MQPortfolio(name=self.name, id_=self.id, currency=self.currency, entitlements=self.entitlements.to_target())) if self.__need_to_schedule_reports: self._schedule_first_reports(self.get_position_dates()) self.__need_to_schedule_reports = False
def test_update_portfolio(mocker): id_1 = 'MP1' portfolio = Portfolio(id=id_1, currency='USD', name='Example Port Renamed') # mock GsSession mocker.patch.object(GsSession.__class__, 'current', return_value=GsSession.get(Environment.QA, 'client_id', 'secret')) mocker.patch.object(GsSession.current, '_put', return_value=portfolio) # run test response = GsPortfolioApi.update_portfolio(portfolio) GsSession.current._put.assert_called_with('/portfolios/{id}'.format(id=id_1), portfolio, cls=Portfolio) assert response == portfolio