update tests

pull/19/head
deadc0de6 4 years ago
parent e10a65f91c
commit bf0ecf83cc

@ -78,7 +78,7 @@ class Walker:
self._debug('\tskip file {}'.format(sub)) self._debug('\tskip file {}'.format(sub))
self.noder.flag(n) self.noder.flag(n)
continue continue
Logger.out('- new file \"{}\"'.format(sub)) Logger.out('- update catalag for \"{}\"'.format(sub))
n = self.noder.file_node(os.path.basename(f), sub, n = self.noder.file_node(os.path.basename(f), sub,
parent, storagepath) parent, storagepath)
self.noder.flag(n) self.noder.flag(n)
@ -90,7 +90,7 @@ class Walker:
treepath = os.path.join(storagepath, d) treepath = os.path.join(storagepath, d)
reindex, dummy = self._need_reindex(parent, sub, treepath) reindex, dummy = self._need_reindex(parent, sub, treepath)
if reindex: if reindex:
Logger.out('- new directory \"{}\"'.format(sub)) Logger.out('- update catalog for \"{}\"'.format(sub))
dummy = self.noder.dir_node(base, sub, parent, storagepath) dummy = self.noder.dir_node(base, sub, parent, storagepath)
cnt += 1 cnt += 1
self.noder.flag(dummy) self.noder.flag(dummy)
@ -124,7 +124,6 @@ class Walker:
self._debug('\t{} has changed'.format(path)) self._debug('\t{} has changed'.format(path))
self._debug('\tremoving node {} for {}'.format(cnode.name, path)) self._debug('\tremoving node {} for {}'.format(cnode.name, path))
cnode.parent = None cnode.parent = None
Logger.out('- update \"{}\"'.format(path))
return True, cnode return True, cnode
def _debug(self, string): def _debug(self, string):

@ -41,6 +41,7 @@ class TestIndexing(unittest.TestCase):
d1f1 = create_rnd_file(d1, 'dir1file1') d1f1 = create_rnd_file(d1, 'dir1file1')
d1f2 = create_rnd_file(d1, 'dir1file2') d1f2 = create_rnd_file(d1, 'dir1file2')
d2f1 = create_rnd_file(d2, 'dir2file1') d2f1 = create_rnd_file(d2, 'dir2file1')
d2f2 = create_rnd_file(d2, 'dir2file2')
noder = Noder(debug=True) noder = Noder(debug=True)
noder.set_hashing(True) noder.set_hashing(True)
@ -52,6 +53,8 @@ class TestIndexing(unittest.TestCase):
self.assertTrue(f4_md5) self.assertTrue(f4_md5)
d1f1_md5 = md5sum(d1f1) d1f1_md5 = md5sum(d1f1)
self.assertTrue(d1f1_md5) self.assertTrue(d1f1_md5)
d2f2_md5 = md5sum(d2f2)
self.assertTrue(d2f2_md5)
# create fake args # create fake args
tmpdirname = 'tmpdir' tmpdirname = 'tmpdir'
@ -93,13 +96,22 @@ class TestIndexing(unittest.TestCase):
maccess = os.path.getmtime(f4) maccess = os.path.getmtime(f4)
EDIT = 'edited' EDIT = 'edited'
edit_file(f4, EDIT) edit_file(f4, EDIT)
# reset edit time # reset edit time
os.utime(f4, (maccess, maccess)) os.utime(f4, (maccess, maccess))
f4_md5_new = md5sum(d1f1) f4_md5_new = md5sum(d1f1)
self.assertTrue(f4_md5_new) self.assertTrue(f4_md5_new)
self.assertTrue(f4_md5_new != f4_md5) self.assertTrue(f4_md5_new != f4_md5)
# change file without mtime
maccess = os.path.getmtime(d2f2)
EDIT = 'edited'
edit_file(d2f2, EDIT)
# reset edit time
os.utime(d2f2, (maccess, maccess))
d2f2_md5_new = md5sum(d2f2)
self.assertTrue(d2f2_md5_new)
self.assertTrue(d2f2_md5_new != d2f2_md5)
# update storage # update storage
cmd_update(args, noder, catalog, top, debug=True) cmd_update(args, noder, catalog, top, debug=True)
@ -128,6 +140,14 @@ class TestIndexing(unittest.TestCase):
self.assertTrue(nod.md5 != f4_md5) self.assertTrue(nod.md5 != f4_md5)
self.assertTrue(nod.md5 == f4_md5_new) self.assertTrue(nod.md5 == f4_md5_new)
# ensure d2f2 md5 sum has changed in catalog
nods = noder.find_name(top, os.path.basename(d2f2))
self.assertTrue(len(nods) == 1)
nod = nods[0]
self.assertTrue(nod)
self.assertTrue(nod.md5 != d2f2_md5)
self.assertTrue(nod.md5 == d2f2_md5_new)
# ensures files and directories are in # ensures files and directories are in
names = [node.name for node in anytree.PreOrderIter(storage)] names = [node.name for node in anytree.PreOrderIter(storage)]
print(names) print(names)
@ -150,7 +170,7 @@ class TestIndexing(unittest.TestCase):
if node.name == os.path.basename(d1): if node.name == os.path.basename(d1):
self.assertTrue(len(node.children) == 3) self.assertTrue(len(node.children) == 3)
elif node.name == os.path.basename(d2): elif node.name == os.path.basename(d2):
self.assertTrue(len(node.children) == 2) self.assertTrue(len(node.children) == 3)
elif node.name == os.path.basename(new3): elif node.name == os.path.basename(new3):
self.assertTrue(len(node.children) == 0) self.assertTrue(len(node.children) == 0)
elif node.name == os.path.basename(new4): elif node.name == os.path.basename(new4):
@ -172,11 +192,13 @@ class TestIndexing(unittest.TestCase):
self.assertTrue(os.path.basename(f1) in names) self.assertTrue(os.path.basename(f1) in names)
self.assertTrue(os.path.basename(f2) in names) self.assertTrue(os.path.basename(f2) in names)
self.assertTrue(os.path.basename(f3) in names) self.assertTrue(os.path.basename(f3) in names)
self.assertTrue(os.path.basename(f4) in names)
self.assertTrue(os.path.basename(d1) in names) self.assertTrue(os.path.basename(d1) in names)
self.assertTrue(os.path.basename(d1f1) not in names) self.assertTrue(os.path.basename(d1f1) not in names)
self.assertTrue(os.path.basename(d1f2) in names) self.assertTrue(os.path.basename(d1f2) in names)
self.assertTrue(os.path.basename(d2) not in names) self.assertTrue(os.path.basename(d2) not in names)
self.assertTrue(os.path.basename(d2f1) not in names) self.assertTrue(os.path.basename(d2f1) not in names)
self.assertTrue(os.path.basename(d2f1) not in names)
self.assertTrue(os.path.basename(new1) in names) self.assertTrue(os.path.basename(new1) in names)
self.assertTrue(os.path.basename(new2) not in names) self.assertTrue(os.path.basename(new2) not in names)
self.assertTrue(os.path.basename(new3) in names) self.assertTrue(os.path.basename(new3) in names)

Loading…
Cancel
Save