Example #1
0
 def test_main_push_path(self):
     self._populate(self.local1_base)
     os.chdir(self.local1_base)
     sys.argv[1:] = ["push", "remote", "-u", "-p", "dir"]
     synkrotron.main()
     self.assertEqual(("dir",), tuple(os.listdir(self.remote)))
     self.assertEqual(("file_ä",), tuple(os.listdir(os.path.join(self.remote, "dir"))))
Example #2
0
 def test_main_push_clear_delta(self):
     self._populate(self.local4_base)
     os.chdir(os.path.join(self.local4_base, "dir"))
     sys.argv[1:] = ["push", "remote", "-u", "--path=file_ä", "--delta=%s" % self.delta]
     synkrotron.main()
     # "clear/dir/file_ä" should be unencrypted
     self.assertTrue(os.path.exists(os.path.join(self.delta, "clear/dir/file_ä")))
Example #3
0
 def test_main_mount_push(self):
     self._populate(self.local3_base)
     os.chdir(self.local3_base)
     sys.argv[1:] = ["push", "remote"]
     synkrotron.main()
     Remote("remote", self.remote_host, self.local3_ms, key=self.key, mount_point=self.mount_point).umount()
     self.assertEqual(3, len(os.listdir(self.remote)))
Example #4
0
 def test_main_mount_pull_umount(self):
     self._populate(self.remote)
     os.chdir(self.local2_base)
     sys.argv[1:] = ["pull", "remote", "-u"]
     synkrotron.main()
     remote = Remote("remote", self.remote, self.local2_ms)
     self.assertFalse(os.path.exists(remote._sync_path("sshfs")))
     self.assertEqual(3, len(os.listdir(self.local2_base)))
Example #5
0
 def test_main_mount(self):
     os.chdir(self.local3_base)
     sys.argv[1:] = ["mount", "remote"]
     synkrotron.main()
     self.assertTrue(os.path.islink(self.mount_point))
     self._populate(self.mount_point)
     Remote("remote", self.remote_host, self.local3_ms, key=self.key, mount_point=self.mount_point).umount()
     self.assertEqual(3, len(os.listdir(self.remote)))
Example #6
0
 def test_main_umount(self):
     remote = Remote("remote", self.remote_host, self.local3_ms, key=self.key, mount_point=self.mount_point)
     remote.mount()
     os.chdir(self.local3_base)
     sys.argv[1:] = ["umount", "remote"]
     synkrotron.main()
     self.assertFalse(os.path.exists(self.mount_point))
     self.assertFalse(os.path.exists(remote._sync_path("sshfs")))
     self.assertFalse(os.path.exists(remote._sync_path("encfs")))
Example #7
0
 def test_main_push_clear(self):
     self._populate(self.local4_base)
     os.chdir(self.local4_base)
     sys.argv[1:] = ["push", "remote", "-u"]
     synkrotron.main()
     # "dir/file_ä" should be unencrypted
     self.assertListEqual(["file_ä"], os.listdir(os.path.join(self.remote, "clear/dir")))
     # "file_ä" should be encrypted
     r = Remote("remote", self.remote_host, self.local4_ms, key=self.key)
     r.mount()
     files = [f for f in os.listdir(self.remote) if f != ".encfs6.xml" and f != "clear"]
     self.assertListEqual(["file_ä"], r.decrypt_names(files))
     r.umount()
Example #8
0
 def _main_push_delta_key(self, path=None):
     self._populate(self.local3_base)
     os.chdir(self.local3_base)
     # push files to remote
     sys.argv[1:] = ["push", "remote", "-u"]
     synkrotron.main()
     os.makedirs(os.path.join(self.local3_base, "dir", "new"))
     # push changes to delta
     sys.argv[1:] = ["push", "remote", "-u", "--delta=%s" % self.delta]
     if path:
         sys.argv.append("--path=" + path)
     synkrotron.main()
     # check delta files
     r = Remote("remote", self.remote_host, self.local3_ms, key=self.key, mount_point=self.mount_point)
     r.mount()
     files = [f for f in os.listdir(self.delta) if f != ".encfs6.xml" and f != ".synkrotron"]
     self.assertListEqual(["dir"], r.decrypt_names(files))
     path = os.path.join(self.delta, files[0])
     self.assertListEqual(["new"], r.decrypt_names(os.listdir(path)))
     # push delta to remote
     os.chdir(self.delta)
     sys.argv[1:] = ["push", "remote", "-u"]
     synkrotron.main()
     # check remote files (should be the same now (encrypted of course) as the ones in self.local3_base)
     self.assertEqual(0, len(Diff(Repo(self.local3_base), Repo(r)).compute()))
     r.umount()
Example #9
0
 def test_main_push_sshfs_encfs_content(self):
     self._populate(self.local3_base)
     os.chdir(self.local3_base)
     sys.argv[1:] = ["push", "remote"]
     synkrotron.main()
     file_local = os.path.join(self.local3_base, "file_ä")
     file_remote = os.path.join(self.mount_point, "file_ä")
     with io.open(file_local, "w") as f:
         f.write("xontent")
     os.utime(file_local, (os.path.getatime(file_remote), os.path.getmtime(file_remote)))
     sys.argv[1:] = ["push", "remote", "--force"]
     synkrotron.main()
     with io.open(file_remote, "r") as f:
         self.assertEqual("content", f.read())
     sys.argv[1:] = ["push", "remote", "--content", "--force", "--verbose"]
     synkrotron.main()
     with io.open(file_remote, "r") as f:
         self.assertEqual("xontent", f.read())
     sys.argv[1:] = ["umount", "remote"]
     synkrotron.main()