From 1d92720b299eef805bb8941dfb57ee5758d1a657 Mon Sep 17 00:00:00 2001 From: Simon Humpohl Date: Fri, 6 Jul 2018 11:52:03 +0200 Subject: [PATCH] Add test for __delitem__ --- tests/serialization_tests.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tests/serialization_tests.py b/tests/serialization_tests.py index 02c7af3ef..37be15976 100644 --- a/tests/serialization_tests.py +++ b/tests/serialization_tests.py @@ -590,6 +590,31 @@ def test_beautified_json(self) -> None: }""" self.assertEqual(expected, pulse_storage._storage_backend['foo']) + def test_delitem(self): + instance_1 = DummySerializable(identifier='my_id_1') + instance_2 = DummySerializable(identifier='my_id_2') + + backend = DummyStorageBackend() + + pulse_storage = PulseStorage(backend) + with self.assertRaises(KeyError): + del pulse_storage[instance_1.identifier] + + # write first instance to backend + pulse_storage[instance_1.identifier] = instance_1 + + del pulse_storage + + # now instance_1 is not in the temporary storage + pulse_storage = PulseStorage(backend) + pulse_storage[instance_2.identifier] = instance_2 + + del pulse_storage[instance_1.identifier] + del pulse_storage[instance_2.identifier] + + self.assertEqual({}, backend.stored_items) + self.assertEqual(pulse_storage.temporary_storage, {}) + class JSONSerializableDecoderTests(unittest.TestCase): def test_filter_serializables(self):