def test_api(self): base_count = ModelDictModel.objects.count() mydict = ModelDict(ModelDictModel, key='key', value='value') mydict['foo'] = 'bar' self.assertEquals(mydict['foo'], 'bar') self.assertEquals( ModelDictModel.objects.values_list('value', flat=True).get(key='foo'), 'bar') self.assertEquals(ModelDictModel.objects.count(), base_count + 1) mydict['foo'] = 'bar2' self.assertEquals(mydict['foo'], 'bar2') self.assertEquals( ModelDictModel.objects.values_list('value', flat=True).get(key='foo'), 'bar2') self.assertEquals(ModelDictModel.objects.count(), base_count + 1) mydict['foo2'] = 'bar' self.assertEquals(mydict['foo2'], 'bar') self.assertEquals( ModelDictModel.objects.values_list('value', flat=True).get(key='foo2'), 'bar') self.assertEquals(ModelDictModel.objects.count(), base_count + 2) del mydict['foo2'] self.assertRaises(KeyError, mydict.__getitem__, 'foo2') self.assertFalse(ModelDictModel.objects.filter(key='foo2').exists()) self.assertEquals(ModelDictModel.objects.count(), base_count + 1) ModelDictModel.objects.create(key='foo3', value='hello') self.assertEquals(mydict['foo3'], 'hello') self.assertTrue( ModelDictModel.objects.filter(key='foo3').exists(), True) self.assertEquals(ModelDictModel.objects.count(), base_count + 2) request_finished.send(sender=self) self.assertEquals(mydict._last_checked_for_remote_changes, None) # These should still error because even though the cache repopulates (local cache) # the remote cache pool does not # self.assertRaises(KeyError, mydict.__getitem__, 'foo3') # self.assertTrue(ModelDictModel.objects.filter(key='foo3').exists()) # self.assertEquals(ModelDictModel.objects.count(), base_count + 2) self.assertEquals(mydict['foo'], 'bar2') self.assertEquals( ModelDictModel.objects.values_list('value', flat=True).get(key='foo'), 'bar2') self.assertEquals(ModelDictModel.objects.count(), base_count + 2) self.assertEquals(mydict.pop('foo'), 'bar2') self.assertEquals(mydict.pop('foo', None), None) self.assertFalse(ModelDictModel.objects.filter(key='foo').exists()) self.assertEquals(ModelDictModel.objects.count(), base_count + 1)
def test_api(self): base_count = ModelDictModel.objects.count() mydict = ModelDict(ModelDictModel, key='key', value='value') mydict['foo'] = 'bar' assert mydict['foo'] == 'bar' assert ModelDictModel.objects.values_list( 'value', flat=True).get(key='foo') == 'bar' assert ModelDictModel.objects.count() == base_count + 1 mydict['foo'] = 'bar2' assert mydict['foo'] == 'bar2' assert ModelDictModel.objects.values_list( 'value', flat=True).get(key='foo') == 'bar2' assert ModelDictModel.objects.count() == base_count + 1 mydict['foo2'] = 'bar' assert mydict['foo2'] == 'bar' assert ModelDictModel.objects.values_list( 'value', flat=True).get(key='foo2') == 'bar' assert ModelDictModel.objects.count() == base_count + 2 del mydict['foo2'] with pytest.raises(KeyError): mydict.__getitem__('foo2') assert not ModelDictModel.objects.filter(key='foo2').exists() assert ModelDictModel.objects.count() == base_count + 1 ModelDictModel.objects.create(key='foo3', value='hello') assert mydict['foo3'] == 'hello' assert ModelDictModel.objects.filter(key='foo3').exists(), True assert ModelDictModel.objects.count() == base_count + 2 request_finished.send(sender=self) assert mydict._last_checked_for_remote_changes == 0.0 # These should still error because even though the cache repopulates (local cache) # the remote cache pool does not # self.assertRaises(KeyError, mydict.__getitem__, 'foo3') # self.assertTrue(ModelDictModel.objects.filter(key='foo3').exists()) # self.assertEquals(ModelDictModel.objects.count(), base_count + 2) assert mydict['foo'] == 'bar2' assert ModelDictModel.objects.values_list( 'value', flat=True).get(key='foo') == 'bar2' assert ModelDictModel.objects.count() == base_count + 2 assert mydict.pop('foo') == 'bar2' assert mydict.pop('foo', None) is None assert not ModelDictModel.objects.filter(key='foo').exists() assert ModelDictModel.objects.count() == base_count + 1
def test_api(self): base_count = ModelDictModel.objects.count() mydict = ModelDict(ModelDictModel, key='key', value='value') mydict['foo'] = 'bar' assert mydict['foo'] == 'bar' assert ModelDictModel.objects.values_list('value', flat=True).get(key='foo') == 'bar' assert ModelDictModel.objects.count() == base_count + 1 mydict['foo'] = 'bar2' assert mydict['foo'] == 'bar2' assert ModelDictModel.objects.values_list('value', flat=True).get(key='foo') == 'bar2' assert ModelDictModel.objects.count() == base_count + 1 mydict['foo2'] = 'bar' assert mydict['foo2'] == 'bar' assert ModelDictModel.objects.values_list('value', flat=True).get(key='foo2') == 'bar' assert ModelDictModel.objects.count() == base_count + 2 del mydict['foo2'] with pytest.raises(KeyError): mydict.__getitem__('foo2') assert not ModelDictModel.objects.filter(key='foo2').exists() assert ModelDictModel.objects.count() == base_count + 1 ModelDictModel.objects.create(key='foo3', value='hello') assert mydict['foo3'] == 'hello' assert ModelDictModel.objects.filter(key='foo3').exists(), True assert ModelDictModel.objects.count() == base_count + 2 request_finished.send(sender=self) assert mydict._last_checked_for_remote_changes == 0.0 # These should still error because even though the cache repopulates (local cache) # the remote cache pool does not # self.assertRaises(KeyError, mydict.__getitem__, 'foo3') # self.assertTrue(ModelDictModel.objects.filter(key='foo3').exists()) # self.assertEquals(ModelDictModel.objects.count(), base_count + 2) assert mydict['foo'] == 'bar2' assert ModelDictModel.objects.values_list('value', flat=True).get(key='foo') == 'bar2' assert ModelDictModel.objects.count() == base_count + 2 assert mydict.pop('foo') == 'bar2' assert mydict.pop('foo', None) is None assert not ModelDictModel.objects.filter(key='foo').exists() assert ModelDictModel.objects.count() == base_count + 1
def test_api(self): base_count = ModelDictModel.objects.count() mydict = ModelDict(ModelDictModel, key='key', value='value') mydict['foo'] = 'bar' self.assertEquals(mydict['foo'], 'bar') self.assertEquals(ModelDictModel.objects.values_list('value', flat=True).get(key='foo'), 'bar') self.assertEquals(ModelDictModel.objects.count(), base_count + 1) mydict['foo'] = 'bar2' self.assertEquals(mydict['foo'], 'bar2') self.assertEquals(ModelDictModel.objects.values_list('value', flat=True).get(key='foo'), 'bar2') self.assertEquals(ModelDictModel.objects.count(), base_count + 1) mydict['foo2'] = 'bar' self.assertEquals(mydict['foo2'], 'bar') self.assertEquals(ModelDictModel.objects.values_list('value', flat=True).get(key='foo2'), 'bar') self.assertEquals(ModelDictModel.objects.count(), base_count + 2) del mydict['foo2'] self.assertRaises(KeyError, mydict.__getitem__, 'foo2') self.assertFalse(ModelDictModel.objects.filter(key='foo2').exists()) self.assertEquals(ModelDictModel.objects.count(), base_count + 1) ModelDictModel.objects.create(key='foo3', value='hello') self.assertEquals(mydict['foo3'], 'hello') self.assertTrue(ModelDictModel.objects.filter(key='foo3').exists(), True) self.assertEquals(ModelDictModel.objects.count(), base_count + 2) request_finished.send(sender=self) self.assertEquals(mydict._last_checked_for_remote_changes, None) # These should still error because even though the cache repopulates (local cache) # the remote cache pool does not # self.assertRaises(KeyError, mydict.__getitem__, 'foo3') # self.assertTrue(ModelDictModel.objects.filter(key='foo3').exists()) # self.assertEquals(ModelDictModel.objects.count(), base_count + 2) self.assertEquals(mydict['foo'], 'bar2') self.assertEquals(ModelDictModel.objects.values_list('value', flat=True).get(key='foo'), 'bar2') self.assertEquals(ModelDictModel.objects.count(), base_count + 2) self.assertEquals(mydict.pop('foo'), 'bar2') self.assertEquals(mydict.pop('foo', None), None) self.assertFalse(ModelDictModel.objects.filter(key='foo').exists()) self.assertEquals(ModelDictModel.objects.count(), base_count + 1)