Esempio n. 1
0
    def test_get_from_cache(self):
        if settings.ENABLE_CACHING:
            s = Student().blocking_save()

            cached_value = ""
            clean_value = s._data

            try:
                cached_value = cache.get(s.key)
            except:
                pass

            if six.PY3:
                cached_value = cached_value.decode()

            cached_value_d = json.loads(cached_value)

            for key in cached_value_d.keys():
                assert cached_value_d[key] == clean_value[key]


            # To make sure the data is read from cache while key is in it
            try:
                cache.set(s.key, "a")
                assert Student.objects.get(s.key) == "a"
            except:
                pass

            s.blocking_delete()

            try:
                assert not cache.get(s.key)
            except:
                pass
Esempio n. 2
0
    def test_delete_model(self):
        self.prepare_testbed(True)
        s2 = Student(name='Foo').blocking_save()
        qs = Student.objects.filter(deleted=True)

        # len is to test __iter__
        assert len([i for i in qs]) == qs.count() == 0
        assert Student.objects.filter(name='Foo').count() == 1
        assert Student.objects.count() == 2
        s2.blocking_delete()
        qs = Student.objects.filter(deleted=True)
        assert Student.objects.filter(name='Foo').count() == 0

        # len is to test __iter__
        assert len([i for i in qs]) == qs.count() == 1
        assert Student.objects.count() == 1