/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to git/tests/test_repository.py

  • Committer: James Westby
  • Date: 2007-03-25 14:38:19 UTC
  • mto: (0.215.1 trunk)
  • mto: This revision was merged to the branch mainline in revision 6960.
  • Revision ID: jw+debian@jameswestby.net-20070325143819-f16swssc40jbebxu
Add methods to repo to get objects of a certain type.

Now get_blob etc. will ensure that you get an object of the type you want.
There needs to be the addition to get the type by going via a higher type
where possible, e.g. tree from commit, but it's not done yet.

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
import os
20
20
import unittest
21
21
 
 
22
from git.errors import (NotCommitError,
 
23
                        NotTreeError,
 
24
                        NotBlobError,
 
25
                        )
22
26
from git.repository import Repository
23
27
 
24
28
class RepositoryTests(unittest.TestCase):
52
56
    obj = r.get_object('b91fa4d900g17e99b433218e988c4eb4a3e9a097')
53
57
    self.assertEqual(obj, None)
54
58
 
 
59
  def test_get_commit(self):
 
60
    r = self.open_repo('a')
 
61
    obj = r.get_commit(r.head())
 
62
    self.assertEqual(obj._type, 'commit')
 
63
 
 
64
  def test_get_commit_not_commit(self):
 
65
    r = self.open_repo('a')
 
66
    self.assertRaises(NotCommitError,
 
67
                      r.get_commit, '4f2e6529203aa6d44b5af6e3292c837ceda003f9')
 
68
 
 
69
  def test_get_tree(self):
 
70
    r = self.open_repo('a')
 
71
    commit = r.get_commit(r.head())
 
72
    tree = r.get_tree(commit.tree())
 
73
    self.assertEqual(tree._type, 'tree')
 
74
    self.assertEqual(tree.sha().hexdigest(), commit.tree())
 
75
 
 
76
  def test_get_tree_not_tree(self):
 
77
    r = self.open_repo('a')
 
78
    self.assertRaises(NotTreeError, r.get_tree, r.head())
 
79
 
 
80
  def test_get_blob(self):
 
81
    r = self.open_repo('a')
 
82
    commit = r.get_commit(r.head())
 
83
    tree = r.get_tree(commit.tree())
 
84
    blob_sha = tree.entries()[0][2]
 
85
    blob = r.get_blob(blob_sha)
 
86
    self.assertEqual(blob._type, 'blob')
 
87
    self.assertEqual(blob.sha().hexdigest(), blob_sha)
 
88
 
 
89
  def test_get_blob(self):
 
90
    r = self.open_repo('a')
 
91
    self.assertRaises(NotBlobError, r.get_blob, r.head())
 
92