示例#1
0
    def test_switch_superuser001_editor001(self):
        """
        Test switching from superuser001 to Editor001

        That should work.
        """
        original_user = User.objects.get(username="******")
        target_user = User.objects.get(username="******")

        self.client.login(username="******", password="******")
        response = self.client.get("%s?redirect=%s" % (reverse("grp_switch_user", args=[target_user.id]), reverse("admin:grappelli_category_changelist")), follow=True)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(self.client.session.get("original_user", None), {"id": original_user.id, "username": original_user.username})
        self.assertEqual(int(self.client.session['_auth_user_id']), target_user.pk)

        # templatetag (Superuser001, Editor001, Editor002)
        # now we have an additional list element with the original user, Superuser001
        t = switch_user_dropdown(response.context)
        t_cmp = '<li><a href="/grappelli/switch/user/1/?redirect=/admin/grappelli/category/" class="grp-switch-user-is-original">Superuser001</a></li><li><a href="/grappelli/switch/user/3/?redirect=/admin/grappelli/category/" class="grp-switch-user-is-target">Editor001</a></li><li><a href="/grappelli/switch/user/4/?redirect=/admin/grappelli/category/" class="grp-switch-user-is-target">Editor002</a></li>'
        self.assertEqual(t, t_cmp)

        # switch back to superuser
        response = self.client.get("%s?redirect=%s" % (reverse("grp_switch_user", args=[original_user.id]), reverse("admin:grappelli_category_changelist")), follow=True)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(self.client.session.get("original_user", None), None)
        self.assertEqual(int(self.client.session['_auth_user_id']), original_user.pk)
示例#2
0
    def test_switch_superuser001_editor001(self):
        """
        Test switching from superuser001 to Editor001

        That should work.
        """
        original_user = User.objects.get(username="******")
        target_user = User.objects.get(username="******")

        self.client.login(username="******", password="******")
        response = self.client.get("%s?redirect=%s" % (reverse("grp_switch_user", args=[target_user.id]), reverse("admin:grappelli_category_changelist")), follow=True)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(self.client.session.get("original_user", None), {"id": original_user.id, "username": original_user.username})
        self.assertEqual(int(self.client.session['_auth_user_id']), target_user.pk)

        # templatetag (Superuser001, Editor001, Editor002)
        # now we have an additional list element with the original user, Superuser001
        t = switch_user_dropdown(response.context)
        t_cmp = '<li><a href="/grappelli/switch/user/1/?redirect=/admin/grappelli/category/" class="grp-switch-user-is-original">Superuser001</a></li><li><a href="/grappelli/switch/user/3/?redirect=/admin/grappelli/category/" class="grp-switch-user-is-target">Editor001</a></li><li><a href="/grappelli/switch/user/4/?redirect=/admin/grappelli/category/" class="grp-switch-user-is-target">Editor002</a></li>'
        self.assertEqual(t, t_cmp)

        # switch back to superuser
        response = self.client.get("%s?redirect=%s" % (reverse("grp_switch_user", args=[original_user.id]), reverse("admin:grappelli_category_changelist")), follow=True)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(self.client.session.get("original_user", None), None)
        self.assertEqual(int(self.client.session['_auth_user_id']), original_user.pk)
示例#3
0
    def test_switch_login(self):
        """
        Test login users
        """
        self.assertEqual(User.objects.all().count(), 5)
        self.assertEqual(Category.objects.all().count(), 100)

        self.client.login(username="******", password="******")
        response = self.client.get(
            reverse("admin:grappelli_category_changelist"))
        self.assertEqual(response.status_code, 200)

        # templatetag (Editor001, Editor002)
        t = switch_user_dropdown(response.context)
        t_cmp = '<li><a href="/grappelli/switch/user/3/?redirect=/admin/grappelli/category/" class="grp-switch-user-is-target">Editor001</a></li><li><a href="/grappelli/switch/user/4/?redirect=/admin/grappelli/category/" class="grp-switch-user-is-target">Editor002</a></li>'
        self.assertEqual(t, t_cmp)

        self.client.login(username="******", password="******")
        response = self.client.get(
            reverse("admin:grappelli_category_changelist"))
        self.assertEqual(response.status_code, 200)

        # templatetag (Editor001, Editor002)
        t = switch_user_dropdown(response.context)
        t_cmp = '<li><a href="/grappelli/switch/user/3/?redirect=/admin/grappelli/category/" class="grp-switch-user-is-target">Editor001</a></li><li><a href="/grappelli/switch/user/4/?redirect=/admin/grappelli/category/" class="grp-switch-user-is-target">Editor002</a></li>'
        self.assertEqual(t, t_cmp)

        self.client.login(username="******", password="******")
        response = self.client.get(
            reverse("admin:grappelli_category_changelist"))
        self.assertEqual(response.status_code, 200)

        # templatetag (empty)
        t = switch_user_dropdown(response.context)
        t_cmp = ''
        self.assertEqual(t, t_cmp)

        self.client.login(username="******", password="******")
        response = self.client.get(
            reverse("admin:grappelli_category_changelist"))
        self.assertEqual(response.status_code, 403)

        self.client.login(username="******", password="******")
        response = self.client.get(
            reverse("admin:grappelli_category_changelist"), follow=True)
        self.assertEqual(response.status_code,
                         200)  # redirect to login, FIXME: better testing
示例#4
0
    def test_switch_login(self):
        """
        Test login users
        """
        self.assertEqual(User.objects.all().count(), 5)
        self.assertEqual(Category.objects.all().count(), 100)

        self.client.login(username="******", password="******")
        response = self.client.get(reverse("admin:grappelli_category_changelist"))
        self.assertEqual(response.status_code, 200)

        # templatetag (Editor001, Editor002)
        t = switch_user_dropdown(response.context)
        t_cmp = '<li><a href="/grappelli/switch/user/3/?redirect=/admin/grappelli/category/" class="grp-switch-user-is-target">Editor001</a></li><li><a href="/grappelli/switch/user/4/?redirect=/admin/grappelli/category/" class="grp-switch-user-is-target">Editor002</a></li>'
        self.assertEqual(t, t_cmp)

        self.client.login(username="******", password="******")
        response = self.client.get(reverse("admin:grappelli_category_changelist"))
        self.assertEqual(response.status_code, 200)

        # templatetag (Editor001, Editor002)
        t = switch_user_dropdown(response.context)
        t_cmp = '<li><a href="/grappelli/switch/user/3/?redirect=/admin/grappelli/category/" class="grp-switch-user-is-target">Editor001</a></li><li><a href="/grappelli/switch/user/4/?redirect=/admin/grappelli/category/" class="grp-switch-user-is-target">Editor002</a></li>'
        self.assertEqual(t, t_cmp)

        self.client.login(username="******", password="******")
        response = self.client.get(reverse("admin:grappelli_category_changelist"))
        self.assertEqual(response.status_code, 200)

        # templatetag (empty)
        t = switch_user_dropdown(response.context)
        t_cmp = ''
        self.assertEqual(t, t_cmp)

        self.client.login(username="******", password="******")
        response = self.client.get(reverse("admin:grappelli_category_changelist"))
        self.assertEqual(response.status_code, 403)

        self.client.login(username="******", password="******")
        response = self.client.get(reverse("admin:grappelli_category_changelist"), follow=True)
        self.assertEqual(response.status_code, 200)  # redirect to login, FIXME: better testing