def reporter(request, env): from lektor.reporter import BufferReporter reporter = BufferReporter(env) reporter.push() request.addfinalizer(reporter.pop) return reporter
def test_get_default_child_slug_reports_failure(self, datamodel, pad): data = {"_id": "id"} with BufferReporter(pad.env) as reporter: assert datamodel.get_default_child_slug(pad, data) == "temp-id" _, event_data = reporter.buffer[-1] message = event_data["message"] assert re.search(r"failed to expand\b.*\bslug_format\b", message, re.I)
def test_bad_file_ignored(tmpdir): pad, builder = get_unicode_builder(tmpdir) record = pad.root.children.first() with BufferReporter(builder.env) as reporter: builder.build(record) failures = reporter.get_failures() assert len(failures) == 1 exc_info = failures[0]["exc_info"] assert exc_info[0] is BuildError assert ("The URL for this record contains non " "ASCII characters" in exc_info[1].message)
def test_unicode_attachment_filename(tmpdir): pad, builder = get_unicode_builder(tmpdir) with BufferReporter(builder.env) as reporter: prog, _ = builder.build(pad.root.attachments.first()) failures = reporter.get_failures() assert len(failures) == 0 with prog.artifacts[0].open("rb") as f: assert f.read().rstrip() == b"attachment"
def test_bad_file_ignored(tmpdir): pad, builder = get_unicode_builder(tmpdir) record = pad.root.children.first() with BufferReporter(builder.env) as reporter: prog, _ = builder.build(record) # pylint: disable=no-member failures = reporter.get_failures() assert len(failures) == 1 exc_info = failures[0]['exc_info'] assert exc_info[0] is BuildError assert 'The URL for this record contains non ' \ 'ASCII characters' in exc_info[1].message
def test_unicode_attachment_filename(tmpdir): from lektor.reporter import BufferReporter pad, builder = get_unicode_builder(tmpdir) with BufferReporter(builder.env) as reporter: prog, _ = builder.build(pad.root.attachments.first()) failures = reporter.get_failures() assert len(failures) == 0 with prog.artifacts[0].open('rb') as f: assert f.read() == b'attachment\n'
def test_bad_file_ignored(): from lektor.reporter import BufferReporter from lektor.build_programs import BuildError pad, builder = get_unicode_builder() try: record = pad.root.children.first() with BufferReporter(builder.env) as reporter: prog, _ = builder.build(record) failures = reporter.get_failures() assert len(failures) == 1 exc_info = failures[0]['exc_info'] assert exc_info[0] is BuildError assert 'The URL for this record contains non ' \ 'ASCII characters' in exc_info[1].message finally: shutil.rmtree(builder.destination_path)
def test_missing_file(self, git_repo, env): with BufferReporter(env) as reporter: assert _fs_mtime('test.txt') is None event, data = reporter.buffer[0] assert event == 'generic' assert re.match(r'(?i)test.txt: .*\bno such file', data['message'])
def reporter(request, env): reporter = BufferReporter(env) reporter.push() request.addfinalizer(reporter.pop) return reporter