Django 5: LogoutView must be called via POST now
Some checks failed
Run tests / Execute tox to run the test suite (push) Failing after 1m26s
Some checks failed
Run tests / Execute tox to run the test suite (push) Failing after 1m26s
This commit is contained in:
@@ -17,6 +17,10 @@ class SeleniumAuthMixin:
|
||||
return driver
|
||||
|
||||
def logout(self, driver):
|
||||
driver.get(self.complete_url(reverse('dav_auth:logout')))
|
||||
#driver.get(self.complete_url(reverse('dav_auth:logout')))
|
||||
dropdown_button = driver.find_element(By.ID, 'user_dropdown_button')
|
||||
dropdown_button.click()
|
||||
logout_button = driver.find_element(By.ID, 'id_logout_button')
|
||||
logout_button.click()
|
||||
self.wait_on_presence(driver, (By.CSS_SELECTOR, "#messages .alert-success"))
|
||||
return driver
|
||||
|
||||
@@ -189,8 +189,10 @@ class TestCase(ScreenshotTestCase):
|
||||
dropdown_button = self.wait_on_presence(c, (By.ID, 'user_dropdown_button'))
|
||||
dropdown_button.click()
|
||||
user_menu = c.find_element(By.CSS_SELECTOR, '#login-widget ul')
|
||||
link = user_menu.find_element(By.PARTIAL_LINK_TEXT, gettext('Logout'))
|
||||
link.click()
|
||||
#link = user_menu.find_element(By.PARTIAL_LINK_TEXT, gettext('Logout'))
|
||||
#link.click()
|
||||
button = c.find_element(By.ID, 'id_logout_button')
|
||||
button.click()
|
||||
self.wait_until_stale(c, user_menu)
|
||||
self.save_screenshot('logout_succeed', sequence=sequence_name)
|
||||
|
||||
|
||||
@@ -6,7 +6,8 @@ from .. import views
|
||||
class TestCase(UrlsTestCase):
|
||||
urls = (
|
||||
Url('/auth/login', 'dav_auth:login', views.LoginView.as_view()),
|
||||
Url('/auth/logout', 'dav_auth:logout', views.LogoutView.as_view(), status_code=302),
|
||||
Url('/auth/logout', 'dav_auth:logout', views.LogoutView.as_view(), status_code=302,
|
||||
http_method='POST'),
|
||||
Url('/auth/password', 'dav_auth:set_password', views.SetPasswordView.as_view(),
|
||||
redirect='/auth/login?next=/auth/password'),
|
||||
Url('/auth/password/recreate', 'dav_auth:recreate_password', views.CreateAndSendPasswordView.as_view()),
|
||||
|
||||
@@ -61,7 +61,7 @@ class ViewsTestCase(TestCase):
|
||||
|
||||
response = self.client.post(self.login_url, {'username': self.test_username, 'password': self.test_password})
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertFormError(response, 'form', None, self.wrong_credentials_message)
|
||||
self.assertFormError(response.context['form'], None, self.wrong_credentials_message)
|
||||
self.assertFalse(response.context['user'].is_authenticated, 'User is logged in')
|
||||
|
||||
def test_integrated_login_fail_with_wrong_credentials(self):
|
||||
@@ -69,7 +69,7 @@ class ViewsTestCase(TestCase):
|
||||
|
||||
response = self.client.post(self.login_url, {'username': self.test_username, 'password': wrong_password})
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertFormError(response, 'form', None, self.wrong_credentials_message)
|
||||
self.assertFormError(response.context['form'],None, self.wrong_credentials_message)
|
||||
self.assertFalse(response.context['user'].is_authenticated, 'User is logged in')
|
||||
|
||||
def test_integrated_login_succeed(self):
|
||||
@@ -88,7 +88,7 @@ class ViewsTestCase(TestCase):
|
||||
def test_integrated_logout(self):
|
||||
self.client.login(username=self.test_username, password=self.test_password)
|
||||
|
||||
response = self.client.get(self.logout_url)
|
||||
response = self.client.post(self.logout_url)
|
||||
self.assertEqual(response.status_code, 302)
|
||||
self.assertEqual(response.url, self.logout_redirect_url)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user