def test_long_error_message(self): report = self.build2.delayed_reports.create() prepared_report = prepare_report(report.pk) data = {"lineno": 1234, "message": LONG_ERROR_MESSAGE} update_delayed_report(prepared_report, data, 400) self.assertEqual( yaml.load(prepared_report.error_message)['message'], LONG_ERROR_MESSAGE)
def __return_delayed_report(self, request): output_format = request.query_params.get("output", "text/plain") template_id = request.query_params.get("template", None) baseline_id = request.query_params.get("baseline", None) email_recipient = request.query_params.get("email_recipient", None) callback = request.query_params.get("callback", None) callback_token = request.query_params.get("callback_token", None) # keep the cached reports for 1 day by default data_retention_days = request.query_params.get("keep", 1) if request.method == "POST": output_format = request.data.get("output", "text/plain") template_id = request.data.get("template", None) baseline_id = request.data.get("baseline", None) email_recipient = request.data.get("email_recipient", None) callback = request.data.get("callback", None) callback_token = request.data.get("callback_token", None) # keep the cached reports for 1 day by default data_retention_days = request.data.get("keep", 1) template = None if template_id != "default": template = self.get_object().project.custom_email_template if template_id is not None: try: template = EmailTemplate.objects.get(pk=template_id) except EmailTemplate.DoesNotExist: pass baseline = None delayed_report, created = self.get_object( ).delayed_reports.get_or_create( baseline=baseline, template=template, output_format=output_format, email_recipient=email_recipient, callback=callback, callback_token=callback_token, data_retention_days=data_retention_days) if baseline_id is not None: try: previous_build = Build.objects.get(pk=baseline_id) baseline = previous_build.status delayed_report.baseline = baseline delayed_report.save() except Build.DoesNotExist: data = { "message": "Baseline build %s does not exist" % baseline_id } # return created=False to avoid running prepare_report return update_delayed_report( delayed_report, data, status.HTTP_400_BAD_REQUEST), False except ProjectStatus.DoesNotExist: data = {"message": "Build %s has no status" % baseline_id} # return created=False to avoid running prepare_report return update_delayed_report( delayed_report, data, status.HTTP_400_BAD_REQUEST), False return delayed_report, created
def test_long_error_message(self): report = self.build2.delayed_reports.create() prepared_report = prepare_report(report.pk) data = { "lineno": 1234, "message": LONG_ERROR_MESSAGE } update_delayed_report(prepared_report, data, 400) self.assertEqual(yaml.load(prepared_report.error_message)['message'], LONG_ERROR_MESSAGE)
def __return_delayed_report(self, request): output_format = request.query_params.get("output", "text/plain") template_id = request.query_params.get("template", None) baseline_id = request.query_params.get("baseline", None) email_recipient = request.query_params.get("email_recipient", None) callback = request.query_params.get("callback", None) callback_token = request.query_params.get("callback_token", None) # keep the cached reports for 1 day by default data_retention_days = request.query_params.get("keep", 1) if request.method == "POST": output_format = request.data.get("output", "text/plain") template_id = request.data.get("template", None) baseline_id = request.data.get("baseline", None) email_recipient = request.data.get("email_recipient", None) callback = request.data.get("callback", None) callback_token = request.data.get("callback_token", None) # keep the cached reports for 1 day by default data_retention_days = request.data.get("keep", 1) template = None if template_id != "default": template = self.get_object().project.custom_email_template if template_id is not None: try: template = EmailTemplate.objects.get(pk=template_id) except EmailTemplate.DoesNotExist: pass baseline = None report_kwargs = { "baseline": baseline, "template": template, "output_format": output_format, "email_recipient": email_recipient, "callback": callback, "callback_token": callback_token, "data_retention_days": data_retention_days } if baseline_id is not None: try: previous_build = Build.objects.get(pk=baseline_id) report_kwargs["baseline"] = previous_build.status except Build.DoesNotExist: data = { "message": "Baseline build %s does not exist" % baseline_id } report_kwargs.update({"build": self.get_object()}) # return created=False to avoid running prepare_report return update_delayed_report(None, data, status.HTTP_400_BAD_REQUEST, **report_kwargs), False except ProjectStatus.DoesNotExist: data = { "message": "Build %s has no status" % baseline_id } report_kwargs.update({"build": self.get_object()}) # return created=False to avoid running prepare_report return update_delayed_report(None, data, status.HTTP_400_BAD_REQUEST, **report_kwargs), False try: delayed_report, created = self.get_object().delayed_reports.get_or_create(**report_kwargs) except core_exceptions.MultipleObjectsReturned: delayed_report = self.get_object().delayed_reports.all()[0] # return first available object created = False return delayed_report, created