def test_makemessages(self): with work_in(self.basedir): with captured_output() as (out, err): args = copy(DEFAULT_ARGS) args["makemessages"] = True core(args, self.application) self.assertTrue(os.path.exists(self.pofile))
def test_compilemessages(self): with work_in(self.basedir): shutil.copy(self.poexample, self.pofile) args = copy(DEFAULT_ARGS) args["compilemessages"] = True core(args, self.application) self.assertTrue(os.path.exists(self.mofile))
def test_testrun_persistent_path(self): try: import cms except ImportError: raise unittest.SkipTest("django CMS not available, skipping test") path = mkdtemp() with work_in(self.basedir): with captured_output() as (out, err): with self.assertRaises(SystemExit) as exit: try: from django.test.utils import _TestState del _TestState.saved_data except (ImportError, AttributeError): pass args = copy(DEFAULT_ARGS) args["test"] = True args["--persistent"] = True args["--persistent-path"] = path args["--runner"] = "runners.CapturedOutputRunner" core(args, self.application) self.assertTrue("Ran 14 tests in" in err.getvalue()) self.assertEqual(exit.exception.code, 0) self.assertTrue(args["STATIC_ROOT"].startswith(path)) self.assertTrue(args["MEDIA_ROOT"].startswith(path)) self.assertTrue(os.path.exists(args["STATIC_ROOT"])) self.assertTrue(os.path.exists(args["MEDIA_ROOT"]))
def test_server(self, mocked_command): with work_in(self.basedir): with captured_output() as (out, err): args = copy(DEFAULT_ARGS) args["server"] = True core(args, self.application) self.assertTrue( "A admin user (username: admin, password: admin) has been created." in out.getvalue())
def test_authors(self): with work_in(self.basedir): with captured_output() as (out, err): args = copy(DEFAULT_ARGS) args["authors"] = True core(args, self.application) self.assertTrue("Generating AUTHORS" in out.getvalue()) self.assertTrue("* Iacopo Spalletti" in out.getvalue()) self.assertTrue("Authors (" in out.getvalue())
def test_makemigrations_merge(self): with work_in(self.basedir): with captured_output() as (out, err): args = copy(DEFAULT_ARGS) args["makemigrations"] = True args["--merge"] = True core(args, self.application) self.assertTrue( "No conflicts detected to merge" in out.getvalue())
def test_any_command_check(self): with work_in(self.basedir): with captured_output() as (out, err): args = copy(DEFAULT_ARGS) args["<command>"] = "check" args["options"] = [ "helper", "check", "--extra-settings=cms_helper_extra.py" ] core(args, self.application) self.assertTrue("no issues" in out.getvalue())
def skip_test_makemigrations_update(self): os.makedirs(self.migration_dir) open(os.path.join(self.migration_dir, "__init__.py"), "w") shutil.copy(self.migration_partial, self.migration_file) with work_in(self.basedir): with captured_output() as (out, err): args = copy(DEFAULT_ARGS) args["makemigrations"] = True core(args, self.application) self.assertTrue("Migrations for 'example1':" in out.getvalue())
def test_any_command_compilemessages(self): with work_in(os.path.join(self.basedir, self.application)): with captured_output() as (out, err): shutil.copy(self.poexample, self.pofile) args = copy(DEFAULT_ARGS) args["<command>"] = "compilemessages" args[ "options"] = "helper compilemessages --cms -len --verbosity=2".split( " ") core(args, self.application) self.assertTrue(os.path.exists(self.mofile))
def test_makemigrations(self): with work_in(self.basedir): with captured_output() as (out, err): args = copy(DEFAULT_ARGS) args["makemigrations"] = True args["<extra-applications>"] = ["example2"] core(args, self.application) self.assertTrue(os.path.exists(self.migration_file)) self.assertTrue(os.path.exists(self.migration_file_2)) self.assertTrue("Create model ExampleModel1" in out.getvalue()) self.assertTrue("Create model ExampleModel2" in out.getvalue())
def test_pyflakes(self): try: import cms except ImportError: raise unittest.SkipTest("django CMS not available, skipping test") with work_in(self.basedir): with captured_output() as (out, err): args = copy(DEFAULT_ARGS) args["pyflakes"] = True core(args, self.application) self.assertFalse(os.path.exists(args["STATIC_ROOT"])) self.assertFalse(os.path.exists(args["MEDIA_ROOT"]))
def test_any_command_migrations(self): with work_in(self.basedir): with captured_output() as (out, err): args = copy(DEFAULT_ARGS) args["<command>"] = "makemigrations" args[ "options"] = "helper makemigrations example2 --verbosity=2".split( " ") core(args, self.application) self.assertFalse("Create model ExampleModel1" in out.getvalue()) self.assertFalse(os.path.exists(self.migration_file)) self.assertTrue("Create model ExampleModel2" in out.getvalue()) self.assertTrue(os.path.exists(self.migration_file_2))
def test_urls_nocms(self): try: from django.urls import reverse, NoReverseMatch except ImportError: from django.core.urlresolvers import reverse, NoReverseMatch with work_in(self.basedir): with captured_output() as (out, err): shutil.copy(self.poexample, self.pofile) args = copy(DEFAULT_ARGS) args["makemessages"] = True args["--cms"] = False core(args, self.application) with self.assertRaises(NoReverseMatch): reverse("pages-root")
def test_cms_check_nocms_19(self): try: import cms raise unittest.SkipTest("django CMS available, skipping test") except ImportError: pass with work_in(self.basedir): with self.assertRaises(ImportError): shutil.copy(self.poexample, self.pofile) args = copy(DEFAULT_ARGS) args["cms_check"] = True args["--extra-settings"] = "helper.py" args["--migrate"] = False core(args, self.application)
def test_cms_check(self): try: import cms except ImportError: raise unittest.SkipTest("django CMS not available, skipping test") with work_in(self.basedir): with captured_output() as (out, err): shutil.copy(self.poexample, self.pofile) args = copy(DEFAULT_ARGS) args["cms_check"] = True args["--extra-settings"] = "helper.py" args["--migrate"] = False core(args, self.application) self.assertTrue("Installation okay" in out.getvalue()) self.assertFalse("[WARNING]" in out.getvalue()) self.assertFalse("[ERROR]" in out.getvalue())
def test_urls(self): try: import cms except ImportError: raise unittest.SkipTest("django CMS not available, skipping test") try: from django.urls import reverse except ImportError: from django.core.urlresolvers import reverse with work_in(self.basedir): with captured_output() as (out, err): shutil.copy(self.poexample, self.pofile) args = copy(DEFAULT_ARGS) args["makemessages"] = True core(args, self.application) self.assertTrue(reverse("pages-root"))
def test_pyflakes_nocms(self): try: import cms raise unittest.SkipTest("django CMS available, skipping test") except ImportError: pass with work_in(self.basedir): with captured_output() as (out, err): args = copy(DEFAULT_ARGS) args["pyflakes"] = True core(args, self.application) self.assertTrue( "Static analysis available only if django CMS and pyflakes are installed" in out.getvalue()) self.assertFalse(os.path.exists(args["STATIC_ROOT"])) self.assertFalse(os.path.exists(args["MEDIA_ROOT"]))
def test_testrun_nocms(self): with work_in(self.basedir): with captured_output() as (out, err): with self.assertRaises(SystemExit) as exit: try: from django.test.utils import _TestState del _TestState.saved_data except (ImportError, AttributeError): pass args = copy(DEFAULT_ARGS) args["test"] = True args["--cms"] = False args["--runner"] = "runners.CapturedOutputRunner" core(args, self.application) self.assertTrue("Ran 14 tests in" in err.getvalue()) self.assertEqual(exit.exception.code, 0)
def test_cms_check_nocms(self): try: import cms raise unittest.SkipTest("django CMS available, skipping test") except ImportError: pass with work_in(self.basedir): with captured_output() as (out, err): shutil.copy(self.poexample, self.pofile) args = copy(DEFAULT_ARGS) args["cms_check"] = True args["--extra-settings"] = "helper.py" args["--migrate"] = False core(args, self.application) self.assertTrue( "cms_check available only if django CMS is installed" in out.getvalue())
def test_testrun_native(self): try: import cms except ImportError: raise unittest.SkipTest("django CMS not available, skipping test") with work_in(self.basedir): with captured_output() as (out, err): try: from django.test.utils import _TestState del _TestState.saved_data except (ImportError, AttributeError): pass args = copy(DEFAULT_ARGS) args["<command>"] = "test" args["--cms"] = False args["--native"] = True args["--extra-settings"] = "cms_helper_extra_runner.py" core(args, self.application) self.assertTrue("Ran 14 tests in" in err.getvalue())
def test_testrun_pytest(self): try: import cms except ImportError: raise unittest.SkipTest("django CMS not available, skipping test") with work_in(self.basedir): with captured_output() as (out, err): try: from django.test.utils import _TestState del _TestState.saved_data except (ImportError, AttributeError): pass args = copy(DEFAULT_ARGS) args["<command>"] = "test" args["--cms"] = False args["--runner"] = "app_helper.pytest_runner.PytestTestRunner" args["--extra-settings"] = "helper_no_cms.py" core(args, self.application) self.assertTrue("collected 15 items" in out.getvalue()) # warnings will depend on django version and adds too much noise self.assertTrue("10 passed, 5 skipped" in out.getvalue())