Add reddit refresh token view tests
This commit is contained in:
parent
1fd4b60710
commit
eb661b8abc
2 changed files with 49 additions and 2 deletions
|
|
@ -1,3 +1,4 @@
|
||||||
|
from unittest import skip
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
from urllib.parse import urlencode
|
from urllib.parse import urlencode
|
||||||
from uuid import uuid4
|
from uuid import uuid4
|
||||||
|
|
@ -122,3 +123,51 @@ class RedditTemplateViewTestCase(TestCase):
|
||||||
self.assertEquals(self.user.reddit_refresh_token, None)
|
self.assertEquals(self.user.reddit_refresh_token, None)
|
||||||
|
|
||||||
self.assertEquals(cache.get(f"{self.user.email}-reddit-auth"), self.state)
|
self.assertEquals(cache.get(f"{self.user.email}-reddit-auth"), self.state)
|
||||||
|
|
||||||
|
|
||||||
|
class RedditTokenRedirectViewTestCase(TestCase):
|
||||||
|
def setUp(self):
|
||||||
|
self.user = UserFactory(email="test@test.nl", password="test")
|
||||||
|
self.client.force_login(self.user)
|
||||||
|
|
||||||
|
self.patch = patch("newsreader.accounts.views.integrations.RedditTokenTask")
|
||||||
|
self.mocked_task = self.patch.start()
|
||||||
|
|
||||||
|
def tearDown(self):
|
||||||
|
cache.clear()
|
||||||
|
|
||||||
|
def test_simple(self):
|
||||||
|
response = self.client.get(reverse("accounts:reddit-refresh"))
|
||||||
|
|
||||||
|
self.assertRedirects(response, reverse("accounts:integrations"))
|
||||||
|
|
||||||
|
self.mocked_task.delay.assert_called_once_with(self.user.pk)
|
||||||
|
|
||||||
|
self.assertEquals(1, cache.get(f"{self.user.email}-reddit-refresh"))
|
||||||
|
|
||||||
|
def test_not_active(self):
|
||||||
|
cache.set(f"{self.user.email}-reddit-refresh", 1)
|
||||||
|
|
||||||
|
response = self.client.get(reverse("accounts:reddit-refresh"))
|
||||||
|
|
||||||
|
self.assertRedirects(response, reverse("accounts:integrations"))
|
||||||
|
|
||||||
|
self.mocked_task.delay.assert_not_called()
|
||||||
|
|
||||||
|
|
||||||
|
class RedditRevokeRedirectViewTestCase(TestCase):
|
||||||
|
@skip("Not implemented")
|
||||||
|
def test_simple(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@skip("Not implemented")
|
||||||
|
def test_no_refresh_token(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@skip("Not implemented")
|
||||||
|
def test_unsuccessful_response(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@skip("Not implemented")
|
||||||
|
def test_stream_exception(self):
|
||||||
|
pass
|
||||||
|
|
|
||||||
|
|
@ -100,7 +100,6 @@ class RedditTemplateView(TemplateView):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
# TODO add tests
|
|
||||||
class RedditTokenRedirectView(RedirectView):
|
class RedditTokenRedirectView(RedirectView):
|
||||||
url = reverse_lazy("accounts:integrations")
|
url = reverse_lazy("accounts:integrations")
|
||||||
|
|
||||||
|
|
@ -120,7 +119,6 @@ class RedditTokenRedirectView(RedirectView):
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
|
||||||
# TODO add tests
|
|
||||||
class RedditRevokeRedirectView(RedirectView):
|
class RedditRevokeRedirectView(RedirectView):
|
||||||
url = reverse_lazy("accounts:integrations")
|
url = reverse_lazy("accounts:integrations")
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue