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()
def test_name_encryption(self): remote = Remote("remote", self.remote, self.local1_ms, key=self.key) remote.mount() clear = ["a/b", "/c", "x/y/ ä"] encrypted = remote.encrypt_names(clear) decrypted = remote.decrypt_names(encrypted) self.assertListEqual(clear, decrypted) remote.umount()
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()