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 )
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