def test_nested_folders(self): from Products.PythonScripts.PythonScript import manage_addPythonScript self.layer['app'].manage_addFolder("repository") repository = self.layer['app']["repository"] repository.manage_addFolder("foo") repository.foo.manage_addFolder("bar") manage_addPythonScript(repository.foo.bar, 'example.py') script = repository.foo.bar['example.py'] serialised = serialise_directory(repository) try: cwd = os.getcwd() git_repo = tempfile.mkdtemp() os.chdir(git_repo) os.system("mkdir foo") os.system("mkdir foo/bar") with open(os.path.join(git_repo, "foo", "bar", "example.py"), 'wb') as real_file: real_file.write(script.manage_DAVget()) os.system("git init") os.system("git add foo") os.system("git cia -m 'example'") for hashed, contents in serialised: path = os.path.join(git_repo, ".git", "objects", hashed[:2], hashed[2:]) self.assertEqual(open(path, 'rb').read(), contents) finally: os.chdir(cwd) shutil.rmtree(git_repo)
def test_folder_serialisation(self): from mr.tennant.git import serialise_directory directory = {"example.py":"return 'hi"} serialised = list(serialise_directory(directory)) # XXX What else to check? self.assertEqual(len(serialised), 2)