/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
2052.3.2 by John Arbash Meinel
Change Copyright .. by Canonical to Copyright ... Canonical
1
# Copyright (C) 2006 Canonical Ltd
1930.2.1 by John Arbash Meinel
Move out the blackbox testament tests into a real blackbox module
2
#
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; either version 2 of the License, or
6
# (at your option) any later version.
7
#
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
# GNU General Public License for more details.
12
#
13
# You should have received a copy of the GNU General Public License
14
# along with this program; if not, write to the Free Software
4183.7.1 by Sabin Iacob
update FSF mailing address
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
1930.2.1 by John Arbash Meinel
Move out the blackbox testament tests into a real blackbox module
16
6622.1.29 by Jelmer Vernooij
Fix some more tests.
17
"""Blackbox tests for the 'brz testament' command"""
1930.2.1 by John Arbash Meinel
Move out the blackbox testament tests into a real blackbox module
18
6015.58.1 by John Arbash Meinel
Fix bug #1010339.
19
import re
1930.2.1 by John Arbash Meinel
Move out the blackbox testament tests into a real blackbox module
20
7045.4.32 by Jelmer Vernooij
Fix tests.
21
from breezy.sixish import PY3
6622.1.34 by Jelmer Vernooij
Rename brzlib => breezy.
22
from breezy.tests.test_testament import (
6015.58.1 by John Arbash Meinel
Fix bug #1010339.
23
    osutils,
1930.2.1 by John Arbash Meinel
Move out the blackbox testament tests into a real blackbox module
24
    REV_1_SHORT,
25
    REV_1_SHORT_STRICT,
26
    REV_2_TESTAMENT,
27
    TestamentSetup,
28
    )
29
30
31
class TestTestament(TestamentSetup):
6622.1.29 by Jelmer Vernooij
Fix some more tests.
32
    """Run blackbox tests on 'brz testament'"""
1930.2.1 by John Arbash Meinel
Move out the blackbox testament tests into a real blackbox module
33
34
    def test_testament_command(self):
35
        """Testament containing a file and a directory."""
2552.2.3 by Vincent Ladeuil
Deprecate the varargs syntax and fix the tests.
36
        out, err = self.run_bzr('testament --long')
1930.2.1 by John Arbash Meinel
Move out the blackbox testament tests into a real blackbox module
37
        self.assertEqualDiff(err, '')
7045.1.20 by Jelmer Vernooij
Fix per_pack_repository tests.
38
        self.assertEqualDiff(out, REV_2_TESTAMENT.decode('utf-8'))
1930.2.1 by John Arbash Meinel
Move out the blackbox testament tests into a real blackbox module
39
40
    def test_testament_command_2(self):
41
        """Command getting short testament of previous version."""
2552.2.3 by Vincent Ladeuil
Deprecate the varargs syntax and fix the tests.
42
        out, err = self.run_bzr('testament -r1')
1930.2.1 by John Arbash Meinel
Move out the blackbox testament tests into a real blackbox module
43
        self.assertEqualDiff(err, '')
7045.1.20 by Jelmer Vernooij
Fix per_pack_repository tests.
44
        self.assertEqualDiff(out, REV_1_SHORT.decode('utf-8'))
1930.2.1 by John Arbash Meinel
Move out the blackbox testament tests into a real blackbox module
45
46
    def test_testament_command_3(self):
47
        """Command getting short testament of previous version."""
2552.2.3 by Vincent Ladeuil
Deprecate the varargs syntax and fix the tests.
48
        out, err = self.run_bzr('testament -r1 --strict')
1930.2.1 by John Arbash Meinel
Move out the blackbox testament tests into a real blackbox module
49
        self.assertEqualDiff(err, '')
7045.1.20 by Jelmer Vernooij
Fix per_pack_repository tests.
50
        self.assertEqualDiff(out, REV_1_SHORT_STRICT.decode('utf-8'))
1930.2.1 by John Arbash Meinel
Move out the blackbox testament tests into a real blackbox module
51
6015.58.1 by John Arbash Meinel
Fix bug #1010339.
52
    def test_testament_non_ascii(self):
53
        self.wt.commit(u"Non \xe5ssci message")
54
        long_out, err = self.run_bzr('testament --long')
55
        self.assertEqualDiff(err, '')
56
        short_out, err = self.run_bzr('testament')
57
        self.assertEqualDiff(err, '')
58
        sha1_re = re.compile('sha1: (?P<sha1>[a-f0-9]+)$', re.M)
59
        sha1 = sha1_re.search(short_out).group('sha1')
7045.4.30 by Jelmer Vernooij
Fix some more tests.
60
        self.assertEqual(
61
                sha1.encode('ascii'),
7045.4.32 by Jelmer Vernooij
Fix tests.
62
                osutils.sha_string(long_out.encode('utf-8') if PY3 else long_out))