diff options
Diffstat (limited to 'ick2/persistent_tests.py')
-rw-r--r-- | ick2/persistent_tests.py | 30 |
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() |