From d9153c482eb30eb15117d758fc7303f4a90076d3 Mon Sep 17 00:00:00 2001 From: David Stainton Date: Sat, 18 Apr 2015 04:25:49 +0100 Subject: [PATCH] Add further refinements to move tree uploader test - test empty tree and small tree test cases using various stats counters --- src/allmydata/frontends/drop_upload.py | 2 ++ src/allmydata/test/test_drop_upload.py | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/src/allmydata/frontends/drop_upload.py b/src/allmydata/frontends/drop_upload.py index 07f109f9..5e6cba46 100644 --- a/src/allmydata/frontends/drop_upload.py +++ b/src/allmydata/frontends/drop_upload.py @@ -183,9 +183,11 @@ class DropUploader(service.MultiService): if os.path.isdir(path.path): d.addCallback(_add_dir) + self._stats_provider.count('drop_upload.directories_created', 1) return None elif os.path.isfile(path.path): d.addCallback(_add_file) + self._stats_provider.count('drop_upload.files_uploaded', 1) return None else: self._log("operator ERROR: non-directory/non-regular file not being processed.") diff --git a/src/allmydata/test/test_drop_upload.py b/src/allmydata/test/test_drop_upload.py index d33ba97e..700ecec0 100644 --- a/src/allmydata/test/test_drop_upload.py +++ b/src/allmydata/test/test_drop_upload.py @@ -89,6 +89,27 @@ class DropUploadTestMixin(GridTestMixin, ShouldFailMixin, ReallyEqualMixin, NonA d.addCallback(testMoveEmptyTree) d.addCallback(lambda ign: self.failUnlessReallyEqual(self._get_count('drop_upload.objects_uploaded'), 1)) + d.addCallback(lambda ign: self.failUnlessReallyEqual(self._get_count('drop_upload.files_uploaded'), 0)) + d.addCallback(lambda ign: self.failUnlessReallyEqual(self._get_count('drop_upload.objects_queued'), 0)) + d.addCallback(lambda ign: self.failUnlessReallyEqual(self._get_count('drop_upload.directories_created'), 1)) + + def testMoveSmallTree(res): + tree_dir = os.path.join(self.basedir, 'creepy_tree') + os.mkdir(tree_dir) + os.path.join(tree_dir, u"tree_frog") + f = open(path.path, "wb") + f.write("meow") + f.close() + shutil.move(tree_dir, self.local_dir) + d = defer.Deferred() + self.uploader.set_uploaded_callback(d.callback) + return d + d.addCallback(testMoveSmallTree) + d.addCallback(lambda ign: self.failUnlessReallyEqual(self._get_count('drop_upload.objects_uploaded'), 2)) + d.addCallback(lambda ign: self.failUnlessReallyEqual(self._get_count('drop_upload.files_uploaded'), 1)) + d.addCallback(lambda ign: self.failUnlessReallyEqual(self._get_count('drop_upload.objects_queued'), 0)) + d.addCallback(lambda ign: self.failUnlessReallyEqual(self._get_count('drop_upload.directories_created'), 1)) + d.addBoth(self._cleanup) return d -- 2.45.2