class TestGitSvnDefWrite(unittest.TestCase): """Test writing with the "GitSvnDefParser" class.""" def setUp(self): self.git_svn_def = GitSvnDefParser() self.rd = { "name": "test_repo", "path": "foo", "svn_url": "file://path/to/foo", "svn_trunk_head": "trunk", "svn_trunk_tags": "trunk_tags/*", "ignore_revs": (4,6,), } svn_repo = SvnRepo( name="svn_"+self.rd["name"], path=self.rd["svn_url"], trunk_head=self.rd["svn_trunk_head"], trunk_tags=self.rd["svn_trunk_tags"], ) self.git_svn_repo = GitSvnRepo( name=self.rd["name"], path=self.rd["path"], ignore_revs=self.rd["ignore_revs"], svn_repo=svn_repo, ) fd,self.temp_name = tempfile.mkstemp(text=True) def tearDown(self): try: os.remove(self.temp_name) except FileNotFoundError: pass def test_write(self): self.git_svn_def.set_repos([self.git_svn_repo]) self.git_svn_def.write(self.temp_name) new_parser = GitSvnDefParser() new_parser.read(self.temp_name) repos = new_parser.get_repos() repo = repos[0] self.assertEqual(repo.name, self.rd["name"]) self.assertEqual(repo.path, self.rd["path"]) self.assertEqual(repo.svn_repo.name, "svn_"+self.rd["name"]) self.assertEqual(repo.svn_repo.path, self.rd["svn_url"]) self.assertEqual(repo.svn_repo.trunk_branch.head, self.rd["svn_url"]+"/"+self.rd["svn_trunk_head"]) self.assertEqual(repo.svn_repo.trunk_branch.tags, self.rd["svn_url"]+"/"+self.rd["svn_trunk_tags"]) self.assertCountEqual(repo.ignore_revs, self.rd["ignore_revs"])