Пример #1
0
    def save_factor_metadata(self, factor_metadata: RiskModelFactor):
        """ Add metadata to a factor in a risk model

        :param factor_metadata: factor metadata object
        """
        try:
            GsFactorRiskModelApi.update_risk_model_factor(
                self.id, factor_metadata)
        except MqRequestError:
            GsFactorRiskModelApi.create_risk_model_factor(
                self.id, factor_metadata)
Пример #2
0
def test_create_risk_model_factor(mocker):
    factor = Factor.from_dict({"identifier": "Factor1", "type": "Factor"})

    expected_response = Factor(identifier='Factor1', type='Factor')

    # mock GsSession
    mocker.patch.object(GsSession.__class__,
                        'default_value',
                        return_value=GsSession.get(Environment.QA, 'client_id',
                                                   'secret'))
    mocker.patch.object(GsSession.current, '_post', return_value=factor)

    # run test
    response = GsFactorRiskModelApi.create_risk_model_factor(model_id='id',
                                                             factor=factor)
    GsSession.current._post.assert_called_with('/risk/models/id/factors',
                                               factor,
                                               cls=Factor)
    assert response == expected_response
Пример #3
0
 def create_factor(self, factor: RiskModelFactor) -> RiskModelFactor:
     """ Create a new risk model factor
         :param factor: factor object
         :return: Risk Model Factor object """
     return GsFactorRiskModelApi.create_risk_model_factor(self.id, factor)