summaryrefslogtreecommitdiff
path: root/ick2/persistent_tests.py
diff options
context:
space:
mode:
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()