Add test that demonstrates behaviour of 'as_dict' for bare and non-bare repos
authorJonas Haag <jonas@lophus.org>
Mon, 12 Oct 2015 09:18:51 +0000 (11:18 +0200)
committerJelmer Vernooij <jelmer@jelmer.uk>
Sat, 31 Oct 2015 22:01:57 +0000 (22:01 +0000)
dulwich/tests/test_repository.py

index 2fee925762086e84354ad81baca9e4ddb432c06b..1f779986489f0aa03af761adb70ddbde8b1e6c9e 100644 (file)
@@ -502,6 +502,21 @@ exit 1
         self.assertTrue("post-commit hook failed: " in str(warnings_list[-1]))
         self.assertEqual([commit_sha], r[commit_sha2].parents)
 
+    def test_as_dict(self):
+        def check(repo):
+            self.assertTrue(repo.refs.as_dict())
+            self.assertTrue(repo.refs.as_dict('refs/tags/'))
+            self.assertTrue(repo.refs.as_dict('refs/heads/'))
+            self.assertEqual(repo.refs.as_dict('refs/tags'), repo.refs.as_dict('refs/tags/'))
+            self.assertEqual(repo.refs.as_dict('refs/heads'), repo.refs.as_dict('refs/heads/'))
+
+        bare = self.open_repo('a.git')
+        tmp_dir = self.mkdtemp()
+        self.addCleanup(shutil.rmtree, tmp_dir)
+        with closing(bare.clone(tmp_dir, mkdir=False)) as nonbare:
+            check(nonbare)
+            check(bare)
+
 
 class BuildRepoRootTests(TestCase):
     """Tests that build on-disk repos from scratch.