Пример #1
0
 def get_view(self,
              mode: FactorRiskViewsMode,
              factor: str = None,
              factor_category: str = None,
              start_date: dt.date = None,
              end_date: dt.date = None,
              currency: Currency = None) -> Dict:
     """
     Get the results associated with the factor risk report as seen on the Marquee user interface
     :param mode: views mode
     :param factor: optional factor name
     :param factor_category: optional factor category
     :param start_date: start date
     :param end_date: end date
     :param currency: currency
     :return: risk report results
     """
     return GsReportApi.get_factor_risk_report_view(
         risk_report_id=self.id,
         view=mode.value,
         factor=factor,
         factor_category=factor_category,
         currency=currency,
         start_date=start_date,
         end_date=end_date
     )
Пример #2
0
def test_get_factor_risk_report_view(mocker):
    report_id = 'RP123'
    mock_response = {
        "summary": {
            "riskModel": "BARRA_USSLOWL",
            "fxHedged": True,
            "assetCount": 1,
            "longExposure": 415,
            "shortExposure": 0,
            "factorProportionOfRisk": 70.28206437467601,
            "specificProportionOfRisk": 29.71793562532398,
            "date": "2021-08-12"
        }
    }
    # 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=mock_response)

    # run test
    response = GsReportApi.get_factor_risk_report_view(report_id, view='Risk')

    GsSession.current._get.assert_called_with(f'/risk/factors/reports/{report_id}/views?view=Risk')
    assert response == mock_response