summaryrefslogtreecommitdiff
path: root/ick2/persistent_tests.py
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2019-07-14 12:50:04 +0300
committerLars Wirzenius <liw@liw.fi>2019-08-03 21:06:50 +0300
commit581f6cd53f57599326439dccb355e882e7858faa (patch)
tree19236daf6feaab66dd07b8cbcdb609db4b653be1 /ick2/persistent_tests.py
parent97f3390944d2189d6bf0be2f2d451784c71e1856 (diff)
downloadick2-581f6cd53f57599326439dccb355e882e7858faa.tar.gz
Add: MemoryPersitentState
Diffstat (limited to 'ick2/persistent_tests.py')
-rw-r--r--ick2/persistent_tests.py30
1 files changed, 18 insertions, 12 deletions
diff --git a/ick2/persistent_tests.py b/ick2/persistent_tests.py
index de279a1..61cd43f 100644
--- a/ick2/persistent_tests.py
+++ b/ick2/persistent_tests.py
@@ -22,18 +22,7 @@ import unittest
import ick2
-class FilePersistentStateTests(unittest.TestCase):
-
- def setUp(self):
- self.tempdir = tempfile.mkdtemp()
- self.state = ick2.FilePersistentState()
- self.state.set_directory(self.tempdir)
-
- def tearDown(self):
- shutil.rmtree(self.tempdir)
-
- def test_returns_dirname(self):
- self.assertEqual(self.state.get_directory(), self.tempdir)
+class PersistentStateTestsMixIn:
def test_has_no_resources_initially(self):
self.assertEqual(self.state.get_resource_ids('silly'), [])
@@ -60,3 +49,20 @@ class FilePersistentStateTests(unittest.TestCase):
self.state.remove_resource('silly', '#1')
self.assertFalse(self.state.has_resource('silly', '#1'))
self.assertEqual(self.state.get_resource_ids('silly'), [])
+
+ def test_raises_error_removing_nonexistent_resource_kind(self):
+ with self.assertRaises(ick2.NotFound):
+ self.state.remove_resource('silly', '#1')
+
+ def test_raises_error_removing_nonexistent_resource(self):
+ as_dict = {'foo': 'bar'}
+ r = ick2.resource_from_dict(as_dict)
+ self.state.write_resource('silly', '#1', r)
+ with self.assertRaises(ick2.NotFound):
+ self.state.remove_resource('silly', '#2')
+
+
+class MemoryPersistentStateTests(unittest.TestCase, PersistentStateTestsMixIn):
+
+ def setUp(self):
+ self.state = ick2.MemoryPersistentState()