~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_commit.py

Merge bzr.dev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
from bzrlib.config import BranchConfig
29
29
from bzrlib.errors import (PointlessCommit, BzrError, SigningFailed,
30
30
                           LockContention)
31
 
from bzrlib.tests import SymlinkFeature, TestCaseWithTransport
 
31
from bzrlib.tests import (
 
32
    SymlinkFeature,
 
33
    TestCaseWithTransport,
 
34
    test_foreign,
 
35
    )
32
36
 
33
37
 
34
38
# TODO: Test commit with some added, and added-but-missing files
103
107
        tree2.unlock()
104
108
        self.assertEqual('version 2', text)
105
109
 
 
110
    def test_commit_lossy_native(self):
 
111
        """Attempt a lossy commit to a native branch."""
 
112
        wt = self.make_branch_and_tree('.')
 
113
        b = wt.branch
 
114
        file('hello', 'w').write('hello world')
 
115
        wt.add('hello')
 
116
        revid = wt.commit(message='add hello', rev_id='revid', lossy=True)
 
117
        self.assertEquals('revid', revid)
 
118
 
 
119
    def test_commit_lossy_foreign(self):
 
120
        """Attempt a lossy commit to a foreign branch."""
 
121
        test_foreign.register_dummy_foreign_for_test(self)
 
122
        wt = self.make_branch_and_tree('.',
 
123
            format=test_foreign.DummyForeignVcsDirFormat())
 
124
        b = wt.branch
 
125
        file('hello', 'w').write('hello world')
 
126
        wt.add('hello')
 
127
        revid = wt.commit(message='add hello', lossy=True,
 
128
            timestamp=1302659388, timezone=0)
 
129
        self.assertEquals('dummy-v1:1302659388.0-0-UNKNOWN', revid)
 
130
 
 
131
    def test_commit_bound_lossy_foreign(self):
 
132
        """Attempt a lossy commit to a bzr branch bound to a foreign branch."""
 
133
        test_foreign.register_dummy_foreign_for_test(self)
 
134
        foreign_branch = self.make_branch('foreign',
 
135
            format=test_foreign.DummyForeignVcsDirFormat())
 
136
        wt = foreign_branch.create_checkout("local")
 
137
        b = wt.branch
 
138
        file('local/hello', 'w').write('hello world')
 
139
        wt.add('hello')
 
140
        revid = wt.commit(message='add hello', lossy=True,
 
141
            timestamp=1302659388, timezone=0)
 
142
        self.assertEquals('dummy-v1:1302659388.0-0-0', revid)
 
143
        self.assertEquals('dummy-v1:1302659388.0-0-0',
 
144
            foreign_branch.last_revision())
 
145
        self.assertEquals('dummy-v1:1302659388.0-0-0',
 
146
            wt.branch.last_revision())
 
147
 
106
148
    def test_missing_commit(self):
107
149
        """Test a commit with a missing file"""
108
150
        wt = self.make_branch_and_tree('.')
349
391
    def test_strict_commit_without_unknowns(self):
350
392
        """Try and commit with no unknown files and strict = True,
351
393
        should work."""
352
 
        from bzrlib.errors import StrictCommitFailed
353
394
        wt = self.make_branch_and_tree('.')
354
395
        b = wt.branch
355
396
        file('hello', 'w').write('hello world')
381
422
        wt = self.make_branch_and_tree('.')
382
423
        branch = wt.branch
383
424
        wt.commit("base", allow_pointless=True, rev_id='A')
384
 
        self.failIf(branch.repository.has_signature_for_revision_id('A'))
 
425
        self.assertFalse(branch.repository.has_signature_for_revision_id('A'))
385
426
        try:
386
427
            from bzrlib.testament import Testament
387
428
            # monkey patch gpg signing mechanism
405
446
        wt = self.make_branch_and_tree('.')
406
447
        branch = wt.branch
407
448
        wt.commit("base", allow_pointless=True, rev_id='A')
408
 
        self.failIf(branch.repository.has_signature_for_revision_id('A'))
 
449
        self.assertFalse(branch.repository.has_signature_for_revision_id('A'))
409
450
        try:
410
 
            from bzrlib.testament import Testament
411
451
            # monkey patch gpg signing mechanism
412
452
            bzrlib.gpg.GPGStrategy = bzrlib.gpg.DisabledGPGStrategy
413
453
            config = MustSignConfig(branch)
419
459
                              working_tree=wt)
420
460
            branch = Branch.open(self.get_url('.'))
421
461
            self.assertEqual(branch.revision_history(), ['A'])
422
 
            self.failIf(branch.repository.has_revision('B'))
 
462
            self.assertFalse(branch.repository.has_revision('B'))
423
463
        finally:
424
464
            bzrlib.gpg.GPGStrategy = oldstrategy
425
465