test_enabling_sso.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. from django.urls import reverse
  2. from ...models import Setting
  3. admin_link = reverse("misago:admin:settings:sso:index")
  4. def test_sso_form_generates_public_key_when_enabling_sso(admin_client):
  5. response = admin_client.post(
  6. admin_link, {"enable_sso": "1", "sso_url": "https://test.com"}
  7. )
  8. setting = Setting.objects.get(setting="sso_public_key")
  9. assert setting.value
  10. def test_sso_form_generates_private_key_when_enabling_sso(admin_client):
  11. response = admin_client.post(
  12. admin_link, {"enable_sso": "1", "sso_url": "https://test.com"}
  13. )
  14. setting = Setting.objects.get(setting="sso_private_key")
  15. assert setting.value
  16. def test_sso_public_key_can_be_set_explicitly_when_enabling_sso(admin_client):
  17. response = admin_client.post(
  18. admin_link,
  19. {"enable_sso": "1", "sso_public_key": "custom", "sso_url": "https://test.com"},
  20. )
  21. setting = Setting.objects.get(setting="sso_public_key")
  22. assert setting.value == "custom"
  23. def test_sso_private_key_can_be_set_explicitly_when_enabling_sso(admin_client):
  24. response = admin_client.post(
  25. admin_link,
  26. {"enable_sso": "1", "sso_private_key": "custom", "sso_url": "https://test.com"},
  27. )
  28. setting = Setting.objects.get(setting="sso_private_key")
  29. assert setting.value == "custom"
  30. def test_form_requires_sso_url_when_enabling_sso(admin_client):
  31. response = admin_client.post(
  32. admin_link, {"enable_sso": "1", "sso_private_key": "custom", "sso_url": ""}
  33. )
  34. setting = Setting.objects.get(setting="enable_sso")
  35. assert not setting.value