def update(self): """ Updates factor risk model object on Marquee """ updated_model = RiskModelBuilder(self.coverage, self.id, self.name, self.term, self.universe_identifier, self.vendor, self.version, description=self.description, entitlements=self.entitlements) GsRiskModelApi.update_risk_model(updated_model)
def test_update_risk_model(mocker): model = RiskModel.from_dict({ "coverage": "Global", "id": "WW_TEST_MODEL", "name": "World Wide Medium Term Test Model", "term": "Medium", "vendor": "Goldman Sachs", "universeIdentifier": "gsid", "version": 4 }) # mock GsSession mocker.patch.object( GsSession.__class__, 'default_value', return_value=GsSession.get( Environment.QA, 'client_id', 'secret')) mocker.patch.object(GsSession.current, '_put', return_value=model) # run test response = GsRiskModelApi.update_risk_model(model) GsSession.current._put.assert_called_with('/risk/models/{id}'.format(id='WW_TEST_MODEL'), model, cls=RiskModel) assert response == model
def save(self): """ Upload current Risk Model object to Marquee """ model = RiskModelBuilder( self.coverage, self.id, self.name, self.term, self.universe_identifier, self.vendor, self.version, type_=self.type, description=self.description, entitlements=self.entitlements, expected_update_time=self.expected_update_time.strftime('%H:%M:%S') if self.expected_update_time else None) try: GsRiskModelApi.create_risk_model(model) except MqRequestError: GsRiskModelApi.update_risk_model(model)