~jelmer/dulwich/lp-pqm

« back to all changes in this revision

Viewing changes to dulwich/tests/test_repository.py

  • Committer: Jelmer Vernooij
  • Date: 2012-02-01 22:13:51 UTC
  • mfrom: (413.11.554)
  • Revision ID: jelmer@samba.org-20120201221351-b3n2p9zttzh62dwu
Merge trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
33
33
    tree_lookup_path,
34
34
    )
35
35
from dulwich import objects
 
36
from dulwich.config import Config
36
37
from dulwich.repo import (
37
38
    check_ref_format,
38
39
    DictRefsContainer,
73
74
        self.assertFileContentsEqual('', repo, os.path.join('info', 'exclude'))
74
75
        self.assertFileContentsEqual(None, repo, 'nonexistent file')
75
76
        barestr = 'bare = %s' % str(expect_bare).lower()
76
 
        self.assertTrue(barestr in repo.get_named_file('config').read())
 
77
        config_text = repo.get_named_file('config').read()
 
78
        self.assertTrue(barestr in config_text, "%r" % config_text)
77
79
 
78
80
    def test_create_disk_bare(self):
79
81
        tmp_dir = tempfile.mkdtemp()
114
116
        self.assertEqual(r.ref('refs/heads/master'),
115
117
                         'a90fa2d900a17e99b433217e988c4eb4a2e9a097')
116
118
 
117
 
    def test_iter(self):
118
 
        r = self._repo = open_repo('a.git')
119
 
        self.assertRaises(NotImplementedError, r.__iter__)
120
 
 
121
119
    def test_setitem(self):
122
120
        r = self._repo = open_repo('a.git')
123
121
        r["refs/tags/foo"] = 'a90fa2d900a17e99b433217e988c4eb4a2e9a097'
319
317
 
320
318
    def test_get_config(self):
321
319
        r = self._repo = open_repo('ooo_merge.git')
322
 
        self.assertEquals({}, r.get_config())
 
320
        self.assertIsInstance(r.get_config(), Config)
 
321
 
 
322
    def test_get_config_stack(self):
 
323
        self.addCleanup(os.environ.__setitem__, "HOME", os.environ["HOME"])
 
324
        os.environ["HOME"] = "/nonexistant"
 
325
        r = self._repo = open_repo('ooo_merge.git')
 
326
        self.assertIsInstance(r.get_config_stack(), Config)
323
327
 
324
328
    def test_common_revisions(self):
325
329
        """
455
459
             encoding="iso8859-1")
456
460
        self.assertEquals("iso8859-1", r[commit_sha].encoding)
457
461
 
 
462
    def test_commit_config_identity(self):
 
463
        self.addCleanup(os.environ.__setitem__, "HOME", os.environ["HOME"])
 
464
        os.environ["HOME"] = "/nonexistant"
 
465
        # commit falls back to the users' identity if it wasn't specified
 
466
        r = self._repo
 
467
        c = r.get_config()
 
468
        c.set(("user", ), "name", "Jelmer")
 
469
        c.set(("user", ), "email", "jelmer@apache.org")
 
470
        c.write_to_path()
 
471
        commit_sha = r.do_commit('message')
 
472
        self.assertEquals(
 
473
            "Jelmer <jelmer@apache.org>",
 
474
            r[commit_sha].author)
 
475
        self.assertEquals(
 
476
            "Jelmer <jelmer@apache.org>",
 
477
            r[commit_sha].committer)
 
478
 
458
479
    def test_commit_fail_ref(self):
459
480
        r = self._repo
460
481