def test_invalidate(self): s = Storage() object = 'object' object2 = 'object2' key = ('view', (), ('answer', 41)) key2 = ('view2', (), ('answer', 42)) value = 'yes' ts = time() s._data = {object: {key: [value, ts, 0], key2: [value, ts, 0]}, object2: {key: [value, ts, 0]}} s.writelock.acquire() try: s.invalidate(object) finally: s.writelock.release() self.assertEqual(s._invalidate_queue, [(object, None)], "nothing in the invalidation queue") s._data = {object: {key: [value, ts, 0], key2: [value, ts, 0]}, object2: {key: [value, ts, 0]}} s.invalidate(object) self.assertEqual(s._data, {object2: {key: [value, ts, 0]}}, "not invalidated")