def __init__(self, model_id: str): model = GsRiskModelApi.get_risk_model(model_id) self.__id: str = model.id self.__name: str = model.name self.__description: str = model.description self.__entitlements: Entitlements = model.entitlements if type(model.entitlements) == Entitlements or not \ model.entitlements else Entitlements.from_dict(model.entitlements)
def test_get_risk_model(mocker): model_id = 'WW_TEST_MODEL' 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 }) expected_response = RiskModel(coverage='Global', id='WW_TEST_MODEL', name='World Wide Medium Term Test Model', term='Medium', vendor='Goldman Sachs', version=4, universe_identifier='gsid') # 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=model) # run test response = GsRiskModelApi.get_risk_model(model_id) GsSession.current._get.assert_called_with( '/risk/models/{id}'.format(id=model_id), cls=RiskModel) assert response == expected_response
def remove_entitlements(self, entitlements: Union[Entitlements, Dict]): """ Removes entitlements for existing risk model """ entitlements = Entitlements.from_dict(entitlements) if type( entitlements) == dict else entitlements model = GsRiskModelApi.get_risk_model(self.__id) edit_ls = list(model.entitlements.edit) for edit in entitlements.edit: edit_ls.remove(edit) admin_ls = list(model.entitlements.admin) for admin in entitlements.admin: admin_ls.remove(admin) query_ls = list(model.entitlements.query) for query in entitlements.query: query_ls.remove(query) upload_ls = list(model.entitlements.upload) for upload in entitlements.upload: upload_ls.remove(upload) view_ls = list(model.entitlements.view) for view in entitlements.view: view_ls.remove(view) execute_ls = list(model.entitlements.execute) for execute in entitlements.execute: execute_ls.remove(execute) removed_entitlements = Entitlements(edit=tuple(edit_ls), admin=tuple(admin_ls), query=tuple(query_ls), upload=tuple(upload_ls), view=tuple(view_ls), execute=tuple(execute_ls)) self.entitlements = removed_entitlements
def get(cls, model_id: str): """ Get a risk model from Marquee :param model_id: risk model id corresponding to Marquee Risk Model :return: Risk Model object """ model = GsRiskModelApi.get_risk_model(model_id) return cls.from_target(model)
def __init__(self, model_id: str): super().__init__(model_id) model = GsRiskModelApi.get_risk_model(model_id) self.__coverage: Union[CoverageType, str] = model.coverage self.__term: Union[Term, str] = model.term self.__universe_identifier: Union[UniverseIdentifier, str] = model.universe_identifier self.__vendor: str = model.vendor self.__version: float = model.version
def get(cls, model_id: str): """ Get a factor risk model from Marquee :param model_id: risk model id corresponding to Marquee Factor Risk Model :return: Factor Risk Model object """ model = GsRiskModelApi.get_risk_model(model_id) return FactorRiskModel(model_id, model.name, model.coverage, model.term, model.universe_identifier, model.vendor, model.version, entitlements=model.entitlements, description=model.description)
def __init__(self, model_id: str): self.model = GsRiskModelApi.get_risk_model(model_id)