def METHOD_NAME(make_stubber, stub_runner, monkeypatch, error_code, stop_on_action):
    auditmanager_client = boto3.client('auditmanager')
    auditmanager_stubber = make_stubber(auditmanager_client)
    report = AuditReport(auditmanager_client)
    assessment_uuid = uuid.UUID('f66e7fc4-baf1-4661-85db-f6ff6ee76630')
    report_id = f'report-{"1"*36}'
    report_url = 'https://example.com/test-report'
    monkeypatch.setattr(urllib.request, 'urlretrieve', lambda x, y: None)
    with stub_runner(error_code, stop_on_action) as runner:
        runner.add(
            auditmanager_stubber.stub_create_assessment_report, 'ReportViaScript',
            'testing', str(assessment_uuid), report_id)
        runner.add(auditmanager_stubber.stub_list_assessment_reports, [report_id])
        runner.add(
            auditmanager_stubber.stub_get_assessment_report_url, report_id,
            str(assessment_uuid), report_url)
    if error_code is None:
        report.get_report(assessment_uuid)
    else:
        with pytest.raises(ClientError) as exc_info:
            report.get_report(assessment_uuid)
        assert exc_info.value.response['Error']['Code'] == error_code