class TestFilterPermissionFilter(TestCase): """ test filter """ def setUp(self): self.filterperm = FilterPermission() self.me = User.objects.create(username="******", password='******') self.userok = User.objects.create(username="******", password='******') self.not_admin = User.objects.create(username="******", password='******') self.wrong = User.objects.create(username="******", password='******') self.admin = User.objects.create_superuser(username="******", password="******", email="") self.user_ct = ContentType.objects.get_by_natural_key("auth", "user") self.q = Q(Q(username='******') | Q(username='******')) self.qserializer = QSerializer(base64=True) self.myfilter = self.qserializer.dumps(self.q) self.fpm = FilterPermissionModel.objects.create(user=self.me, content_type=self.user_ct, filter=self.myfilter) self.request = HttpRequest() self.request.user = self.me self.queryset = User.objects.all() self.filterbackend = FilterPermissionBackend() def test_manager_valid(self): filter = self.filterbackend.filter_queryset(self.request, self.queryset, None) self.assertEqual(len(filter.all()), 2) self.assertEqual(filter.get(username='******'), self.userok) def test_manager_not_valid(self): filter = self.filterbackend.filter_queryset(self.request, self.queryset, None) self.assertEqual(len(filter.all()), 2) with self.assertRaises(User.DoesNotExist): filter.get(username='******') def test_superuser(self): self.request.user = self.admin filter = self.filterbackend.filter_queryset(self.request, self.queryset, None) self.assertEqual(len(filter.all()), 5) def test_no_filter(self): self.request.user = self.not_admin filter = self.filterbackend.filter_queryset(self.request, self.queryset, None) self.assertEqual(len(filter.all()), 5)
def setUp(self): self.filterperm = FilterPermission() self.me = User.objects.create(username="******", password='******') self.userok = User.objects.create(username="******", password='******') self.not_admin = User.objects.create(username="******", password='******') self.wrong = User.objects.create(username="******", password='******') self.admin = User.objects.create_superuser(username="******", password="******", email="") self.user_ct = ContentType.objects.get_by_natural_key("auth", "user") self.q = Q(Q(username='******') | Q(username='******')) self.qserializer = QSerializer(base64=True) self.myfilter = self.qserializer.dumps(self.q) self.fpm = FilterPermissionModel.objects.create(user=self.me, content_type=self.user_ct, filter=self.myfilter) self.request = HttpRequest() self.request.user = self.me self.queryset = User.objects.all() self.filterbackend = FilterPermissionBackend()