def test_debug_sql_contextmanager(caplog, settings): from pootle_project.models import Project with debug_sql(): pass assert len(caplog.records) == 1 assert caplog.records[0].message == "total db calls: 0" # should work even when debug is False settings.DEBUG = False # trigger some sql and log with debug_sql(): Project.objects.count() timing = caplog.records[1].message sql = caplog.records[2].message assert caplog.records[3].message == "total db calls: 1" # match the timing, sql assert re.match("^\d+?\.\d+?$", timing) assert "SELECT COUNT" in sql assert "pootle_app_project" in sql # settings shold be correct assert settings.DEBUG is False
def test_format_chooser(project0): registry = formats.get() po = Format.objects.get(name="po") po2 = registry.register("special_po_2", "po") po3 = registry.register("special_po_3", "po") xliff = Format.objects.get(name="xliff") project0.filetypes.add(xliff) project0.filetypes.add(po2) project0.filetypes.add(po3) filetype_tool = project0.filetype_tool from pootle.core.debug import debug_sql with debug_sql(): assert filetype_tool.choose_filetype("foo.po") == po assert filetype_tool.choose_filetype("foo.pot") == po assert filetype_tool.choose_filetype("foo.xliff") == xliff # push po to the back of the queue project0.filetypes.remove(po) project0.filetypes.add(po) assert filetype_tool.choose_filetype("foo.po") == po2 assert filetype_tool.choose_filetype("foo.pot") == po assert filetype_tool.choose_filetype("foo.xliff") == xliff with pytest.raises(UnrecognizedFiletype): filetype_tool.choose_filetype("foo.bar")