Implement move, set, unset on persistedstore
This commit is contained in:
@@ -9,6 +9,7 @@ from shep.store.file import SimpleFileStoreFactory
|
||||
from shep.error import (
|
||||
StateExists,
|
||||
StateInvalid,
|
||||
StateItemExists,
|
||||
)
|
||||
|
||||
|
||||
@@ -34,7 +35,7 @@ class TestStateReport(unittest.TestCase):
|
||||
|
||||
def test_dup(self):
|
||||
self.states.put('abcd', state=self.states.FOO)
|
||||
with self.assertRaises(FileExistsError):
|
||||
with self.assertRaises(StateItemExists):
|
||||
self.states.put('abcd', state=self.states.FOO)
|
||||
|
||||
with self.assertRaises(FileExistsError):
|
||||
@@ -66,7 +67,55 @@ class TestStateReport(unittest.TestCase):
|
||||
self.assertIn('yyy', keys)
|
||||
self.assertNotIn('1234', keys)
|
||||
self.assertNotIn('xx!', keys)
|
||||
|
||||
|
||||
def test_move(self):
|
||||
self.states.put('abcd', state=self.states.FOO, contents='foo')
|
||||
self.states.move('abcd', self.states.BAR)
|
||||
|
||||
fp = os.path.join(self.d, 'BAR', 'abcd')
|
||||
f = open(fp, 'r')
|
||||
v = f.read()
|
||||
f.close()
|
||||
|
||||
fp = os.path.join(self.d, 'FOO', 'abcd')
|
||||
with self.assertRaises(FileNotFoundError):
|
||||
os.stat(fp)
|
||||
|
||||
|
||||
def test_set(self):
|
||||
self.states.alias('xyzzy', self.states.FOO | self.states.BAR)
|
||||
self.states.put('abcd', state=self.states.FOO, contents='foo')
|
||||
self.states.set('abcd', self.states.BAR)
|
||||
|
||||
fp = os.path.join(self.d, 'XYZZY', 'abcd')
|
||||
f = open(fp, 'r')
|
||||
v = f.read()
|
||||
f.close()
|
||||
|
||||
fp = os.path.join(self.d, 'FOO', 'abcd')
|
||||
with self.assertRaises(FileNotFoundError):
|
||||
os.stat(fp)
|
||||
|
||||
fp = os.path.join(self.d, 'BAR', 'abcd')
|
||||
with self.assertRaises(FileNotFoundError):
|
||||
os.stat(fp)
|
||||
|
||||
self.states.unset('abcd', self.states.FOO)
|
||||
|
||||
fp = os.path.join(self.d, 'BAR', 'abcd')
|
||||
f = open(fp, 'r')
|
||||
v = f.read()
|
||||
f.close()
|
||||
|
||||
fp = os.path.join(self.d, 'FOO', 'abcd')
|
||||
with self.assertRaises(FileNotFoundError):
|
||||
os.stat(fp)
|
||||
|
||||
fp = os.path.join(self.d, 'XYZZY', 'abcd')
|
||||
with self.assertRaises(FileNotFoundError):
|
||||
os.stat(fp)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user