1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- import pytest
- from django.urls import reverse
- from ...models import SocialAuthProvider
- admin_link = reverse(
- "misago:admin:settings:socialauth:edit", kwargs={"pk": "google-oauth2"}
- )
- @pytest.fixture
- def provider(db):
- return SocialAuthProvider.objects.create(
- provider="google-oauth2", is_active=True, order=0
- )
- def test_google_form_can_be_accessed(admin_client):
- response = admin_client.get(admin_link)
- assert response.status_code == 200
- def test_google_login_can_be_setup(admin_client):
- admin_client.post(
- admin_link,
- {
- "is_active": "1",
- "associate_by_email": "1",
- "key": "test-key",
- "secret": "test-secret",
- },
- )
- provider = SocialAuthProvider.objects.get(provider="google-oauth2")
- assert provider.is_active
- assert provider.settings == {
- "associate_by_email": 1,
- "key": "test-key",
- "secret": "test-secret",
- }
- def test_google_login_can_be_disabled(admin_client, provider):
- admin_client.post(admin_link, {"is_active": "0"})
- provider = SocialAuthProvider.objects.get(provider="google-oauth2")
- assert not provider.is_active
- def test_google_login_form_requires_key_to_setup(admin_client):
- admin_client.post(admin_link, {"is_active": "1", "secret": "test-secret"})
- with pytest.raises(SocialAuthProvider.DoesNotExist):
- SocialAuthProvider.objects.get(provider="google-oauth2")
- def test_google_login_form_requires_secret_to_setup(admin_client):
- admin_client.post(admin_link, {"is_active": "1", "key": "test-key"})
- with pytest.raises(SocialAuthProvider.DoesNotExist):
- SocialAuthProvider.objects.get(provider="google-oauth2")
|