From: David Stainton <dstainton415@gmail.com>
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/status?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