From 5183e1dd7b021c2b027c787bbbd15cd2a3434f38 Mon Sep 17 00:00:00 2001
From: meejah <meejah@meejah.ca>
Date: Wed, 7 Oct 2015 20:32:19 -0600
Subject: [PATCH] Make downloader delay a class-variable

This gives the integration-style CLI-based tests a chance
to set the delay to 0 before the first 3-second delayed
call is queued to _lazy_tail in the Downloader
---
 src/allmydata/frontends/magic_folder.py | 4 +++-
 src/allmydata/test/test_magic_folder.py | 1 +
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/allmydata/frontends/magic_folder.py b/src/allmydata/frontends/magic_folder.py
index 422a7c11..b6a9476f 100644
--- a/src/allmydata/frontends/magic_folder.py
+++ b/src/allmydata/frontends/magic_folder.py
@@ -378,6 +378,8 @@ class Uploader(QueueMixin):
 
 
 class Downloader(QueueMixin):
+    REMOTE_SCAN_INTERVAL = 3  # facilitates tests
+
     def __init__(self, client, local_path_u, db, collective_dircap, clock):
         QueueMixin.__init__(self, client, local_path_u, db, 'downloader', clock)
 
@@ -389,7 +391,7 @@ class Downloader(QueueMixin):
         if self._collective_dirnode.is_unknown() or not self._collective_dirnode.is_readonly():
             raise AssertionError("The URI in 'private/collective_dircap' is not a readonly cap to a directory.")
 
-        self._turn_delay = 3 # delay between remote scans
+        self._turn_delay = self.REMOTE_SCAN_INTERVAL
         self._download_scan_batch = {} # path -> [(filenode, metadata)]
 
     def start_scanning(self):
diff --git a/src/allmydata/test/test_magic_folder.py b/src/allmydata/test/test_magic_folder.py
index 75511b79..5e2afa00 100644
--- a/src/allmydata/test/test_magic_folder.py
+++ b/src/allmydata/test/test_magic_folder.py
@@ -31,6 +31,7 @@ class MagicFolderTestMixin(MagicFolderCLITestMixin, ShouldFailMixin, ReallyEqual
         temp = self.mktemp()
         self.basedir = abspath_expanduser_unicode(temp.decode(get_filesystem_encoding()))
         self.magicfolder = None
+        Downloader.REMOTE_SCAN_INTERVAL = 0
 
     def _get_count(self, name, client=None):
         counters = (client or self.get_client()).stats_provider.get_stats()["counters"]
-- 
2.45.2