예제 #1
0
    def test_get_context_data_when_social_app_exists_on_wrong_site(self):
        """Test getting context data when social app exists on wrong site."""
        view = ProviderOverview()
        view.request = APIRequestFactory().get(self.url)

        SocialApp.objects.create(
            provider="google", name="Google", client_id="xxxxxxxxxxxxxxxxxx", secret="xxxxxxxxxxxxxxxxxx", key=""
        )

        context = view.get_context_data("google")

        self.assertIsNotNone(context.get("provider"))
        self.assertIsNone(context.get("social_app"))
예제 #2
0
    def test_get_context_data_when_social_app_doesnt_exist(self):
        """Test getting context data when social app doesn't exist."""
        view = ProviderOverview()
        view.request = APIRequestFactory().get(self.url)

        social_app = SocialApp.objects.create(
            provider="facebook", name="Facebook", client_id="xxxxxxxxxxxxxxxxxx", secret="xxxxxxxxxxxxxxxxxx", key=""
        )
        social_app.sites.add(get_current_site(view.request))

        context = view.get_context_data("google")

        self.assertIsNotNone(context.get("provider"))
        self.assertIsNone(context.get("social_app"))
예제 #3
0
    def test_get_context_data_when_social_app_exists_on_wrong_site(self):
        """Test getting context data when social app exists on wrong site."""
        view = ProviderOverview()
        view.request = APIRequestFactory().get(self.url)

        SocialApp.objects.create(provider='google',
                                 name='Google',
                                 client_id='xxxxxxxxxxxxxxxxxx',
                                 secret='xxxxxxxxxxxxxxxxxx',
                                 key='')

        context = view.get_context_data('google')

        self.assertIsNotNone(context.get('provider'))
        self.assertIsNone(context.get('social_app'))
예제 #4
0
    def test_post_with_superuser_when_updating(self):
        """Test POST with superuser."""
        data = {
            'client_id': 'xxxxxxxxxxxxxxxxxx',
            'secret': 'xxxxxxxxxxxxxxxxxx',
            'key': ''
        }
        view = ProviderOverview.as_view()
        request = APIRequestFactory().post(self.url, data)
        request.user = UserFactory.create(**{'is_superuser': True})

        social_app = SocialApp.objects.create(provider='google',
                                              name='Google',
                                              client_id='yyyyyyyyyyyyyyyyyy',
                                              secret='yyyyyyyyyyyyyyyyyy',
                                              key='')
        social_app.sites.add(get_current_site(request))

        setattr(request, 'session', 'session')
        messages = FallbackStorage(request)
        setattr(request, '_messages', messages)

        response = view(request, provider_id='google').render()
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, 'Provider has been updated.')
        self.assertEqual(SocialApp.objects.latest('id'), social_app)

        reference = SocialApp.objects.get(pk=social_app.id)
        self.assertEqual(reference.client_id, data.get('client_id'))
        self.assertEqual(reference.secret, data.get('secret'))
        self.assertEqual(reference.key, data.get('key'))
예제 #5
0
    def test_get_context_data_when_social_app_doesnt_exist(self):
        """Test getting context data when social app doesn't exist."""
        view = ProviderOverview()
        view.request = APIRequestFactory().get(self.url)

        social_app = SocialApp.objects.create(provider='facebook',
                                              name='Facebook',
                                              client_id='xxxxxxxxxxxxxxxxxx',
                                              secret='xxxxxxxxxxxxxxxxxx',
                                              key='')
        social_app.sites.add(get_current_site(view.request))

        context = view.get_context_data('google')

        self.assertIsNotNone(context.get('provider'))
        self.assertIsNone(context.get('social_app'))
예제 #6
0
    def test_post_with_superuser_when_updating(self):
        """Test POST with superuser."""
        data = {
            'client_id': 'xxxxxxxxxxxxxxxxxx',
            'secret': 'xxxxxxxxxxxxxxxxxx',
            'key': ''
        }
        view = ProviderOverview.as_view()
        request = APIRequestFactory().post(self.url, data)
        request.user = UserFactory.create(**{'is_superuser': True})

        social_app = SocialApp.objects.create(
            provider='google',
            name='Google',
            client_id='yyyyyyyyyyyyyyyyyy',
            secret='yyyyyyyyyyyyyyyyyy',
            key=''
        )
        social_app.sites.add(get_current_site(request))

        setattr(request, 'session', 'session')
        messages = FallbackStorage(request)
        setattr(request, '_messages', messages)

        response = view(request, provider_id='google').render()
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, 'Provider has been updated.')
        self.assertEqual(SocialApp.objects.latest('id'), social_app)

        reference = SocialApp.objects.get(pk=social_app.id)
        self.assertEqual(reference.client_id, data.get('client_id'))
        self.assertEqual(reference.secret, data.get('secret'))
        self.assertEqual(reference.key, data.get('key'))
예제 #7
0
    def test_post_with_superuser_when_updating(self):
        """Test POST with superuser."""
        data = {"client_id": "xxxxxxxxxxxxxxxxxx", "secret": "xxxxxxxxxxxxxxxxxx", "key": ""}
        view = ProviderOverview.as_view()
        request = APIRequestFactory().post(self.url, data)
        request.user = UserFactory.create(**{"is_superuser": True})

        social_app = SocialApp.objects.create(
            provider="google", name="Google", client_id="yyyyyyyyyyyyyyyyyy", secret="yyyyyyyyyyyyyyyyyy", key=""
        )
        social_app.sites.add(get_current_site(request))

        setattr(request, "session", "session")
        messages = FallbackStorage(request)
        setattr(request, "_messages", messages)

        response = view(request, provider_id="google").render()
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, "Provider has been updated.")
        self.assertEqual(SocialApp.objects.latest("id"), social_app)

        reference = SocialApp.objects.get(pk=social_app.id)
        self.assertEqual(reference.client_id, data.get("client_id"))
        self.assertEqual(reference.secret, data.get("secret"))
        self.assertEqual(reference.key, data.get("key"))
예제 #8
0
    def test_get_context_data_when_social_app_exists_on_wrong_site(self):
        """Test getting context data when social app exists on wrong site."""
        view = ProviderOverview()
        view.request = APIRequestFactory().get(self.url)

        SocialApp.objects.create(
            provider='google',
            name='Google',
            client_id='xxxxxxxxxxxxxxxxxx',
            secret='xxxxxxxxxxxxxxxxxx',
            key=''
        )

        context = view.get_context_data('google')

        self.assertIsNotNone(context.get('provider'))
        self.assertIsNone(context.get('social_app'))
예제 #9
0
    def test_get_with_anonymous(self):
        """Test GET with anonymous user."""
        view = ProviderOverview.as_view()
        request = APIRequestFactory().get(self.url)
        request.user = AnonymousUser()
        view.request = request
        response = view(request, provider_id='google')

        self.assertTrue(isinstance(response, HttpResponseRedirect))
예제 #10
0
    def test_get_context_data_when_social_app_doesnt_exist(self):
        """Test getting context data when social app doesn't exist."""
        view = ProviderOverview()
        view.request = APIRequestFactory().get(self.url)

        social_app = SocialApp.objects.create(
            provider='facebook',
            name='Facebook',
            client_id='xxxxxxxxxxxxxxxxxx',
            secret='xxxxxxxxxxxxxxxxxx',
            key=''
        )
        social_app.sites.add(get_current_site(view.request))

        context = view.get_context_data('google')

        self.assertIsNotNone(context.get('provider'))
        self.assertIsNone(context.get('social_app'))
예제 #11
0
    def test_get_with_anonymous(self):
        """Test GET with anonymous user."""
        view = ProviderOverview.as_view()
        request = APIRequestFactory().get(self.url)
        request.user = AnonymousUser()
        view.request = request
        response = view(request, provider_id="google")

        self.assertTrue(isinstance(response, HttpResponseRedirect))
예제 #12
0
    def test_get_with_superuser(self):
        """Test GET with superuser."""
        view = ProviderOverview.as_view()
        request = APIRequestFactory().get(self.url)
        request.user = UserFactory.create(**{"is_superuser": True})
        view.request = request
        response = view(request, provider_id="google").render()

        self.assertEqual(response.status_code, 200)
        self.assertNotContains(response, "No rights to access superuser tools.")
예제 #13
0
    def test_get_with_user(self):
        """Test GET with user."""
        view = ProviderOverview.as_view()
        request = APIRequestFactory().get(self.url)
        request.user = UserFactory.create(**{'is_superuser': False})
        view.request = request
        response = view(request, provider_id='google').render()

        self.assertEqual(response.status_code, 200)
        self.assertContains(response, 'No rights to access superuser tools.')
예제 #14
0
    def test_post_with_anonymous(self):
        """Test POST with anonymous user."""
        data = {"client_id": "xxxxxxxxxxxxxxxxxx", "secret": "xxxxxxxxxxxxxxxxxx", "key": ""}
        view = ProviderOverview.as_view()
        request = APIRequestFactory().post(self.url, data)
        request.user = AnonymousUser()
        view.request = request
        response = view(request, provider_id="google")

        self.assertTrue(isinstance(response, HttpResponseRedirect))
        self.assertEqual(SocialApp.objects.count(), 0)
예제 #15
0
    def test_get_context_data_when_provider_doesnt_exist(self):
        """Test getting context data when provider doesn't exist."""
        url = reverse("admin:superusertools_provider_overview", kwargs={"provider_id": "myawesomeprovider"})
        view = ProviderOverview.as_view()
        request = APIRequestFactory().get(url)
        request.user = UserFactory.create(**{"is_superuser": True})
        view.request = request
        response = view(request, provider_id="myawesomeprovider").render()

        self.assertEqual(response.status_code, 200)
        self.assertContains(response, "Provider not found.")
예제 #16
0
    def test_post_with_user(self):
        """Test POST with user."""
        data = {"client_id": "xxxxxxxxxxxxxxxxxx", "secret": "xxxxxxxxxxxxxxxxxx", "key": ""}
        view = ProviderOverview.as_view()
        request = APIRequestFactory().post(self.url, data)
        request.user = UserFactory.create(**{"is_superuser": False})
        view.request = request
        response = view(request, provider_id="google").render()

        self.assertEqual(response.status_code, 200)
        self.assertContains(response, "No rights to access superuser tools.")
        self.assertEqual(SocialApp.objects.count(), 0)
예제 #17
0
    def test_get_context_data_when_provider_doesnt_exist(self):
        """Test getting context data when provider doesn't exist."""
        url = reverse('admin:superusertools_provider_overview',
                      kwargs={'provider_id': 'myawesomeprovider'})
        view = ProviderOverview.as_view()
        request = APIRequestFactory().get(url)
        request.user = UserFactory.create(**{'is_superuser': True})
        view.request = request
        response = view(request, provider_id='myawesomeprovider').render()

        self.assertEqual(response.status_code, 200)
        self.assertContains(response, 'Provider not found.')
예제 #18
0
    def test_post_with_anonymous(self):
        """Test POST with anonymous user."""
        data = {
            'client_id': 'xxxxxxxxxxxxxxxxxx',
            'secret': 'xxxxxxxxxxxxxxxxxx',
            'key': ''
        }
        view = ProviderOverview.as_view()
        request = APIRequestFactory().post(self.url, data)
        request.user = AnonymousUser()
        view.request = request
        response = view(request, provider_id='google')

        self.assertTrue(isinstance(response, HttpResponseRedirect))
        self.assertEqual(SocialApp.objects.count(), 0)
예제 #19
0
    def test_post_with_user(self):
        """Test POST with user."""
        data = {
            'client_id': 'xxxxxxxxxxxxxxxxxx',
            'secret': 'xxxxxxxxxxxxxxxxxx',
            'key': ''
        }
        view = ProviderOverview.as_view()
        request = APIRequestFactory().post(self.url, data)
        request.user = UserFactory.create(**{'is_superuser': False})
        view.request = request
        response = view(request, provider_id='google').render()

        self.assertEqual(response.status_code, 200)
        self.assertContains(response, 'No rights to access superuser tools.')
        self.assertEqual(SocialApp.objects.count(), 0)
예제 #20
0
    def test_post_with_user(self):
        """Test POST with user."""
        data = {
            'client_id': 'xxxxxxxxxxxxxxxxxx',
            'secret': 'xxxxxxxxxxxxxxxxxx',
            'key': ''
        }
        view = ProviderOverview.as_view()
        request = APIRequestFactory().post(self.url, data)
        request.user = UserFactory.create(**{'is_superuser': False})
        view.request = request
        response = view(request, provider_id='google').render()

        self.assertEqual(response.status_code, 200)
        self.assertContains(
            response,
            'No rights to access superuser tools.'
        )
        self.assertEqual(SocialApp.objects.count(), 0)