Add replace method, remove force option, remove purge

This commit is contained in:
lash
2022-02-04 22:15:51 +00:00
parent 488687a8d8
commit ade8582528
7 changed files with 57 additions and 89 deletions

View File

@@ -38,17 +38,8 @@ class TestStateReport(unittest.TestCase):
with self.assertRaises(StateItemExists):
self.states.put('abcd', state=self.states.FOO)
with self.assertRaises(FileExistsError):
self.states.put('abcd', state=self.states.FOO, force=True)
self.states.put('abcd', contents='foo', state=self.states.FOO, force=True)
self.assertEqual(self.states.get('abcd'), 'foo')
with self.assertRaises(FileExistsError):
self.states.put('abcd', state=self.states.FOO, force=True)
self.states.put('abcd', contents='bar', state=self.states.FOO, force=True)
self.assertEqual(self.states.get('abcd'), 'bar')
with self.assertRaises(StateItemExists): #FileExistsError):
self.states.put('abcd', state=self.states.FOO)
def test_list(self):
@@ -167,5 +158,17 @@ class TestStateReport(unittest.TestCase):
os.stat(fp)
def test_replace(self):
self.states.put('abcd')
self.states.replace('abcd', 'foo')
self.assertEqual(self.states.get('abcd'), 'foo')
fp = os.path.join(self.d, 'NEW', 'abcd')
f = open(fp, 'r')
r = f.read()
f.close()
self.assertEqual(r, 'foo')
if __name__ == '__main__':
unittest.main()

View File

@@ -65,15 +65,6 @@ class TestStateItems(unittest.TestCase):
self.assertEqual(self.states.state(item), self.states.XYZZY)
def test_item_purge(self):
item = b'foo'
self.states.put(item, state=self.states.BAZ)
self.assertEqual(self.states.state(item), self.states.BAZ)
self.states.purge(item)
with self.assertRaises(StateItemNotFound):
self.states.state(item)
def test_item_get(self):
item = b'foo'
self.states.put(item, state=self.states.BAZ, contents='bar')
@@ -116,22 +107,5 @@ class TestStateItems(unittest.TestCase):
self.states.unset(item, self.states.FOO) # bit not set
def test_item_force(self):
item = b'foo'
self.states.put(item, state=self.states.XYZZY)
contents = 'xyzzy'
self.states.put(item, state=self.states.XYZZY, contents=contents, force=True)
self.assertEqual(self.states.get(item), 'xyzzy')
contents = None
self.states.put(item, state=self.states.XYZZY, contents=contents, force=True)
self.assertEqual(self.states.get(item), 'xyzzy')
contents = 'plugh'
self.states.put(item, state=self.states.XYZZY, contents=contents, force=True)
self.assertEqual(self.states.get(item), 'plugh')
if __name__ == '__main__':
unittest.main()

View File

@@ -21,7 +21,7 @@ class MockStore:
self.for_state = 0
def add(self, k, contents=None, force=False):
def add(self, k, contents=None):
self.v[k] = contents
@@ -72,14 +72,6 @@ class TestStateItems(unittest.TestCase):
self.assertIsNone(self.mockstore.v.get(item))
def test_persist_purge(self):
item = b'foo'
self.states.put(item, self.states.FOO, True)
self.states.purge(item)
self.assertEqual(self.mockstore.for_state, self.states.name(self.states.FOO))
self.assertIsNone(self.mockstore.v.get(item))
def test_persist_move_new(self):
item = b'foo'
self.states.put(item)