mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2025-01-12 07:52:38 +00:00
Add basic bob upload test and fix conflict detect
This commit is contained in:
parent
44e2c6acc8
commit
976ea15863
@ -688,9 +688,10 @@ class Downloader(QueueMixin, WriteFileMixin):
|
|||||||
local_last_downloaded_uri = self._db.get_last_downloaded_uri(relpath_u)
|
local_last_downloaded_uri = self._db.get_last_downloaded_uri(relpath_u)
|
||||||
print "metadata %r" % (metadata,)
|
print "metadata %r" % (metadata,)
|
||||||
print "<<<<--- if %r != %r" % (dmd_last_downloaded_uri, local_last_downloaded_uri)
|
print "<<<<--- if %r != %r" % (dmd_last_downloaded_uri, local_last_downloaded_uri)
|
||||||
if dmd_last_downloaded_uri is not None and dmd_last_downloaded_uri != local_last_downloaded_uri:
|
if dmd_last_downloaded_uri is not None and local_last_downloaded_uri is not None:
|
||||||
is_conflict = True
|
if dmd_last_downloaded_uri != local_last_downloaded_uri:
|
||||||
self._count('objects_conflicted')
|
is_conflict = True
|
||||||
|
self._count('objects_conflicted')
|
||||||
|
|
||||||
#dmd_last_uploaded_uri = metadata.get('last_uploaded_uri', None)
|
#dmd_last_uploaded_uri = metadata.get('last_uploaded_uri', None)
|
||||||
#local_last_uploaded_uri = ...
|
#local_last_uploaded_uri = ...
|
||||||
|
@ -681,9 +681,13 @@ class MagicFolderTestMixin(MagicFolderCLITestMixin, ShouldFailMixin, ReallyEqual
|
|||||||
self.failUnlessReallyEqual(self._get_count('uploader.'+name, client=self.bob_magicfolder._client),
|
self.failUnlessReallyEqual(self._get_count('uploader.'+name, client=self.bob_magicfolder._client),
|
||||||
expected)
|
expected)
|
||||||
|
|
||||||
def _check_downloader_count(ign, name, expected):
|
def _check_downloader_count(ign, name, expected, alice=True):
|
||||||
self.failUnlessReallyEqual(self._get_count('downloader.'+name, client=self.bob_magicfolder._client),
|
if alice:
|
||||||
expected)
|
self.failUnlessReallyEqual(self._get_count('downloader.'+name, client=self.bob_magicfolder._client),
|
||||||
|
expected)
|
||||||
|
else:
|
||||||
|
self.failUnlessReallyEqual(self._get_count('downloader.'+name, client=self.alice_magicfolder._client),
|
||||||
|
expected)
|
||||||
|
|
||||||
def _wait_for_Alice(ign, downloaded_d):
|
def _wait_for_Alice(ign, downloaded_d):
|
||||||
print "Now waiting for Alice to download\n"
|
print "Now waiting for Alice to download\n"
|
||||||
@ -727,6 +731,8 @@ class MagicFolderTestMixin(MagicFolderCLITestMixin, ShouldFailMixin, ReallyEqual
|
|||||||
d.addCallback(_check_uploader_count, 'files_uploaded', 1)
|
d.addCallback(_check_uploader_count, 'files_uploaded', 1)
|
||||||
d.addCallback(_check_uploader_count, 'objects_queued', 0)
|
d.addCallback(_check_uploader_count, 'objects_queued', 0)
|
||||||
d.addCallback(_check_uploader_count, 'directories_created', 0)
|
d.addCallback(_check_uploader_count, 'directories_created', 0)
|
||||||
|
d.addCallback(_check_uploader_count, 'objects_conflicted', 0)
|
||||||
|
d.addCallback(_check_uploader_count, 'objects_conflicted', 0, alice=False)
|
||||||
|
|
||||||
d.addCallback(lambda ign: self._check_version_in_local_db(self.bob_magicfolder, u"file1", 0))
|
d.addCallback(lambda ign: self._check_version_in_local_db(self.bob_magicfolder, u"file1", 0))
|
||||||
d.addCallback(_check_downloader_count, 'objects_failed', 0)
|
d.addCallback(_check_downloader_count, 'objects_failed', 0)
|
||||||
@ -774,6 +780,8 @@ class MagicFolderTestMixin(MagicFolderCLITestMixin, ShouldFailMixin, ReallyEqual
|
|||||||
d.addCallback(_check_uploader_count, 'files_uploaded', 3)
|
d.addCallback(_check_uploader_count, 'files_uploaded', 3)
|
||||||
d.addCallback(_check_uploader_count, 'objects_queued', 0)
|
d.addCallback(_check_uploader_count, 'objects_queued', 0)
|
||||||
d.addCallback(_check_uploader_count, 'directories_created', 0)
|
d.addCallback(_check_uploader_count, 'directories_created', 0)
|
||||||
|
d.addCallback(_check_downloader_count, 'objects_conflicted', 0)
|
||||||
|
d.addCallback(_check_downloader_count, 'objects_conflicted', 0, alice=False)
|
||||||
|
|
||||||
d.addCallback(lambda ign: self._check_version_in_dmd(self.bob_magicfolder, u"file1", 2))
|
d.addCallback(lambda ign: self._check_version_in_dmd(self.bob_magicfolder, u"file1", 2))
|
||||||
d.addCallback(lambda ign: self._check_version_in_local_db(self.bob_magicfolder, u"file1", 2))
|
d.addCallback(lambda ign: self._check_version_in_local_db(self.bob_magicfolder, u"file1", 2))
|
||||||
@ -802,19 +810,35 @@ class MagicFolderTestMixin(MagicFolderCLITestMixin, ShouldFailMixin, ReallyEqual
|
|||||||
d.addCallback(lambda ign: self._check_version_in_local_db(self.bob_magicfolder, encoded_path_u, None))
|
d.addCallback(lambda ign: self._check_version_in_local_db(self.bob_magicfolder, encoded_path_u, None))
|
||||||
d.addCallback(lambda ign: _check_downloader_count(None, 'objects_excluded', self.objects_excluded+1))
|
d.addCallback(lambda ign: _check_downloader_count(None, 'objects_excluded', self.objects_excluded+1))
|
||||||
d.addCallback(_check_downloader_count, 'objects_downloaded', 3)
|
d.addCallback(_check_downloader_count, 'objects_downloaded', 3)
|
||||||
|
d.addCallback(_check_downloader_count, 'objects_conflicted', 0)
|
||||||
|
d.addCallback(_check_downloader_count, 'objects_conflicted', 0, alice=False)
|
||||||
|
|
||||||
|
|
||||||
# XXX
|
# XXX
|
||||||
def Bob_to_rewrite_file():
|
def Bob_to_rewrite_file():
|
||||||
print "Bob rewrites file\n"
|
print "Bob rewrites file\n"
|
||||||
self.file_path = abspath_expanduser_unicode(u"file2", base=self.bob_magicfolder.uploader._local_path_u)
|
self.file_path = abspath_expanduser_unicode(u"file1", base=self.bob_magicfolder.uploader._local_path_u)
|
||||||
print "---- bob's file is %r" % (self.file_path,)
|
print "---- bob's file is %r" % (self.file_path,)
|
||||||
fileutil.write(self.file_path, "No white rabbit to be found.")
|
fileutil.write(self.file_path, "No white rabbit to be found.")
|
||||||
self.magicfolder = self.bob_magicfolder
|
self.magicfolder = self.bob_magicfolder
|
||||||
self.notify(to_filepath(self.file_path), self.inotify.IN_CLOSE_WRITE)
|
self.notify(to_filepath(self.file_path), self.inotify.IN_CLOSE_WRITE)
|
||||||
|
|
||||||
d.addCallback(lambda ign: _wait_for(None, Bob_to_rewrite_file, alice=False))
|
d.addCallback(lambda ign: _wait_for(None, Bob_to_rewrite_file, alice=False))
|
||||||
|
|
||||||
|
d.addCallback(lambda ign: self._check_version_in_dmd(self.bob_magicfolder, u"file1", 3))
|
||||||
|
d.addCallback(lambda ign: self._check_version_in_local_db(self.bob_magicfolder, u"file1", 3))
|
||||||
|
d.addCallback(_check_uploader_count, 'objects_failed', 0, alice=False)
|
||||||
|
d.addCallback(_check_uploader_count, 'objects_succeeded', 1, alice=False)
|
||||||
|
d.addCallback(_check_uploader_count, 'files_uploaded', 1, alice=False)
|
||||||
|
d.addCallback(_check_uploader_count, 'objects_queued', 0, alice=False)
|
||||||
|
d.addCallback(_check_uploader_count, 'directories_created', 0, alice=False)
|
||||||
|
d.addCallback(_check_downloader_count, 'objects_conflicted', 0)
|
||||||
|
|
||||||
|
d.addCallback(lambda ign: self._check_version_in_dmd(self.alice_magicfolder, u"file1", 3))
|
||||||
|
d.addCallback(lambda ign: self._check_version_in_local_db(self.alice_magicfolder, u"file1", 3))
|
||||||
|
d.addCallback(_check_downloader_count, 'objects_failed', 0, alice=False)
|
||||||
|
d.addCallback(_check_downloader_count, 'objects_downloaded', 1, alice=False)
|
||||||
|
d.addCallback(_check_downloader_count, 'objects_conflicted', 0, alice=False)
|
||||||
|
|
||||||
def _cleanup(ign, magicfolder, clock):
|
def _cleanup(ign, magicfolder, clock):
|
||||||
if magicfolder is not None:
|
if magicfolder is not None:
|
||||||
d2 = magicfolder.finish()
|
d2 = magicfolder.finish()
|
||||||
|
Loading…
Reference in New Issue
Block a user