Ejemplo n.º 1
0
    def test(self):
        expected = set()
        results = set((r.pk for r in SearchQuerySet()))
        self.assertEqual(results, expected)

        all_pks = [self.video0.pk, self.video1.pk, self.video2.pk,
                   self.video3.pk, self.video4.pk]
        haystack_update.apply(args=(Video._meta.app_label,
                                    Video._meta.module_name,
                                    all_pks))
        expected = set(all_pks[1:])
        results = set((int(r.pk) for r in SearchQuerySet()))
        self.assertEqual(results, expected)
Ejemplo n.º 2
0
    def test(self):
        expected = set()
        results = set((r.pk for r in SearchQuerySet()))
        self.assertEqual(results, expected)

        all_pks = [self.video0.pk, self.video1.pk, self.video2.pk,
                   self.video3.pk, self.video4.pk]
        haystack_update.apply(args=(Video._meta.app_label,
                                    Video._meta.module_name,
                                    all_pks))
        expected = set(all_pks[1:])
        results = set((int(r.pk) for r in SearchQuerySet()))
        self.assertEqual(results, expected)
Ejemplo n.º 3
0
    def test_remove(self):
        """
        Any instances which are not in the main queryset should be removed if
        the ``remove`` kwarg is ``True``.

        """
        all_pks = [self.video0.pk, self.video1.pk, self.video2.pk,
                   self.video3.pk, self.video4.pk]
        haystack_update.apply(args=(Video._meta.app_label,
                                    Video._meta.module_name,
                                    all_pks))

        # If remove is True, the changed instance should be removed.
        self.video1.status = Video.REJECTED
        self.video1.save(update_index=False)
        expected = set(all_pks[1:])
        results = set((int(r.pk) for r in SearchQuerySet()))
        self.assertEqual(results, expected)

        haystack_update.apply(args=(Video._meta.app_label,
                                    Video._meta.module_name,
                                    all_pks),
                              kwargs={'remove': True})
        expected = set(all_pks[2:])
        results = set((int(r.pk) for r in SearchQuerySet()))
        self.assertEqual(results, expected)

        # Otherwise, it shouldn't be removed.
        self.video2.status = Video.REJECTED
        self.video2.save(update_index=False)
        expected = set(all_pks[2:])
        results = set((int(r.pk) for r in SearchQuerySet()))
        self.assertEqual(results, expected)

        haystack_update.apply(args=(Video._meta.app_label,
                                    Video._meta.module_name,
                                    all_pks),
                              kwargs={'remove': False})
        expected = set(all_pks[2:])
        results = set((int(r.pk) for r in SearchQuerySet()))
        self.assertEqual(results, expected)
Ejemplo n.º 4
0
    def test_remove(self):
        """
        Any instances which are not in the main queryset should be removed if
        the ``remove`` kwarg is ``True``.

        """
        all_pks = [self.video0.pk, self.video1.pk, self.video2.pk,
                   self.video3.pk, self.video4.pk]
        haystack_update.apply(args=(Video._meta.app_label,
                                    Video._meta.module_name,
                                    all_pks))

        # If remove is True, the changed instance should be removed.
        self.video1.status = Video.REJECTED
        self.video1.save(update_index=False)
        expected = set(all_pks[1:])
        results = set((int(r.pk) for r in SearchQuerySet()))
        self.assertEqual(results, expected)

        haystack_update.apply(args=(Video._meta.app_label,
                                    Video._meta.module_name,
                                    all_pks),
                              kwargs={'remove': True})
        expected = set(all_pks[2:])
        results = set((int(r.pk) for r in SearchQuerySet()))
        self.assertEqual(results, expected)

        # Otherwise, it shouldn't be removed.
        self.video2.status = Video.REJECTED
        self.video2.save(update_index=False)
        expected = set(all_pks[2:])
        results = set((int(r.pk) for r in SearchQuerySet()))
        self.assertEqual(results, expected)

        haystack_update.apply(args=(Video._meta.app_label,
                                    Video._meta.module_name,
                                    all_pks),
                              kwargs={'remove': False})
        expected = set(all_pks[2:])
        results = set((int(r.pk) for r in SearchQuerySet()))
        self.assertEqual(results, expected)