From: David Stainton Date: Sat, 18 Apr 2015 03:25:49 +0000 (+0100) Subject: Add further refinements to move tree uploader test X-Git-Url: https://git.rkrishnan.org/%5B/frontends/flags/index.php?a=commitdiff_plain;h=910bbb4d0696c90a9ae579005c391bb96c9b35e6;p=tahoe-lafs%2Ftahoe-lafs.git Add further refinements to move tree uploader test - test empty tree and small tree test cases using various stats counters --- diff --git a/src/allmydata/frontends/drop_upload.py b/src/allmydata/frontends/drop_upload.py index 60d304c0..ca91814b 100644 --- a/src/allmydata/frontends/drop_upload.py +++ b/src/allmydata/frontends/drop_upload.py @@ -188,9 +188,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 a64de30c..c174a90a 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