def save(self): """ Create a report using GsReportApi if it doesn't exist. Update the report if it does. """ target_report = TargetReport( position_source_id=self.position_source_id, position_source_type=self.position_source_type, type_=self.type, parameters=self.parameters) if self.id: target_report.id = self.id GsReportApi.update_report(target_report) else: GsReportApi.create_report(target_report)
def save(self): """ Create a report in Marquee if it doesn't exist. Update the report if it does. """ target_report = TargetReport(name=self.name, position_source_id=self.position_source_id, position_source_type=self.position_source_type, type_=self.type, parameters=self.parameters if self.parameters else ReportParameters()) if self.id: target_report.id = self.id GsReportApi.update_report(target_report) else: report = GsReportApi.create_report(target_report) self.__id = report.id
def test_create_report(mocker): id_1 = 'RX1' report = Report.from_dict({'id': id_1, 'positionSourceType': 'Portfolio', 'positionSourceId': 'MP1', 'type': 'Portfolio Performance Analytics', 'parameters': {'transactionCostModel': 'FIXED'}}) # 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=report) # run test response = GsReportApi.create_report(report) GsSession.current._post.assert_called_with('/reports', report, cls=Report) assert response == report
def create_report(report: Report): """ Creates a report using GsReportApi """ GsReportApi.create_report(report)