Files
django-dav-events/dav_auth/tests/generic.py
Jens Kleineheismann e5c1bbed4b
Some checks failed
Run tests / Execute tox to run the test suite (push) Failing after 1m26s
Django 5: LogoutView must be called via POST now
2025-04-11 09:37:12 +02:00

27 lines
1.1 KiB
Python

from django.urls import reverse
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
class SeleniumAuthMixin:
def login(self, driver, username, password):
driver.get(self.complete_url(reverse('dav_auth:login')))
username_field = self.wait_on_presence(driver, (By.ID, 'id_username'))
username_field.clear()
username_field.send_keys(username)
password_field = driver.find_element(By.ID, 'id_password')
password_field.clear()
password_field.send_keys(password)
password_field.send_keys(Keys.RETURN)
self.wait_on_presence(driver, (By.CSS_SELECTOR, "#messages .alert-success"))
return driver
def logout(self, driver):
#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