Ejemplo n.º 1
0
 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)
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
 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
Ejemplo n.º 4
0
 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)
Ejemplo n.º 5
0
 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
Ejemplo n.º 6
0
 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)
Ejemplo n.º 7
0
 def __init__(self, model_id: str):
     self.model = GsRiskModelApi.get_risk_model(model_id)