response = self.client.get('/admin/django_processinfo/sitestatistics/') assert response.status_code == 403 response = self.client.get('/admin/django_processinfo/processinfo/') assert response.status_code == 403 assert SiteStatistics.objects.count() == 1 assert ProcessInfo.objects.count() == 1 @unittest.skipIf('CI' in os.environ, 'Skip, selenium tests does not work on CI run!') @unittest.skipUnless(chromium_available(), "Skip because Chromium is not available!") @override_settings(SECURE_SSL_REDIRECT=False) class AdminChromiumTests(SeleniumChromiumStaticLiveServerTestCase): def test_admin_login_page(self): self.driver.get(self.live_server_url + "/admin/login/") self.assert_equal_page_title(f"Log in | PyInventory v{__version__}") self.assert_in_page_source('<form action="/admin/login/" method="post" id="login-form">') self.assert_no_javascript_alert() @unittest.skipIf('CI' in os.environ, 'Skip, selenium tests does not work on CI run!') @unittest.skipUnless(firefox_available(), "Skip because Firefox is not available!") @override_settings(SECURE_SSL_REDIRECT=False) class AdminFirefoxTests(SeleniumFirefoxStaticLiveServerTestCase): def test_admin_login_page(self): self.driver.get(self.live_server_url + "/admin/login/") self.assert_equal_page_title(f"Log in | PyInventory v{__version__}") self.assert_in_page_source('<form action="/admin/login/" method="post" id="login-form">') self.assert_no_javascript_alert()
@unittest.skipUnless(chromium_available(), "Skip because Chromium is not available!") class ExampleChromiumTests(SeleniumChromiumStaticLiveServerTestCase): def test_admin_login_page(self): self.driver.get(self.live_server_url + "/admin/login/") assert self.driver.execute_script( 'return window.navigator.languages') == ['en'] self.assert_equal_page_title("Log in | Django site admin") self.assert_in_page_source( '<form action="/admin/login/" method="post" id="login-form">') self.assert_no_javascript_alert() @unittest.skipUnless(firefox_available(), "Skip because Firefox is not available!") class ExampleFirefoxTests(SeleniumFirefoxStaticLiveServerTestCase): def test_admin_login_page(self): self.driver.get(self.live_server_url + "/admin/login/") assert 'en' in self.driver.execute_script( 'return window.navigator.languages') self.assert_equal_page_title("Log in | Django site admin") self.assert_in_page_source( '<form action="/admin/login/" method="post" id="login-form">') self.assert_no_javascript_alert() class SeleniumHelperTests(unittest.TestCase): def test_find_executable(self): with tempfile.NamedTemporaryFile(prefix="test_not_executable_",
from django_tools.selenium.geckodriver import SeleniumFirefoxTestCase, firefox_available from django_tools.selenium.utils import find_executable from django_tools.unittest_utils.assertments import assert_pformat_equal from django_tools.unittest_utils.user import TestUserMixin @unittest.skipUnless(chromium_available(), "Skip because Chromium is not available!") class ExampleChromiumTests(SeleniumChromiumStaticLiveServerTestCase): def test_admin_login_page(self): self.driver.get(self.live_server_url + "/admin/login/") self.assert_equal_page_title("Log in | Django site admin") self.assert_in_page_source('<form action="/admin/login/" method="post" id="login-form">') self.assert_no_javascript_alert() @unittest.skipUnless(firefox_available(), "Skip because Firefox is not available!") class ExampleFirefoxTests(SeleniumFirefoxStaticLiveServerTestCase): def test_admin_login_page(self): self.driver.get(self.live_server_url + "/admin/login/") self.assert_equal_page_title("Log in | Django site admin") self.assert_in_page_source('<form action="/admin/login/" method="post" id="login-form">') self.assert_no_javascript_alert() class SeleniumHelperTests(unittest.TestCase): def test_find_executable(self): with tempfile.NamedTemporaryFile(prefix="test_not_executable_", delete=False) as f: filepath = Path(f.name).resolve() self.assertTrue(filepath.is_file()) name = filepath.name path = filepath.parent