/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 breezy/tests/blackbox/test_hooks.py

  • Committer: Jelmer Vernooij
  • Date: 2020-04-05 19:11:34 UTC
  • mto: (7490.7.16 work)
  • mto: This revision was merged to the branch mainline in revision 7501.
  • Revision ID: jelmer@jelmer.uk-20200405191134-0aebh8ikiwygxma5
Populate the .gitignore file.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2008 Canonical Ltd
 
1
# Copyright (C) 2008, 2009, 2011, 2012, 2016 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
16
16
 
17
17
"""Tests for commands related to hooks"""
18
18
 
19
 
from bzrlib.branch import Branch
20
 
from bzrlib.tests import TestCaseWithTransport
 
19
from breezy.branch import Branch
 
20
from breezy.tests import TestCaseWithTransport
 
21
 
 
22
 
 
23
def _foo_hook():
 
24
    pass
21
25
 
22
26
 
23
27
class TestHooks(TestCaseWithTransport):
25
29
    def _check_hooks_output(self, command_output, hooks):
26
30
        for hook_type in Branch.hooks:
27
31
            s = "\n  ".join(hooks.get(hook_type, ["<no hooks installed>"]))
28
 
            self.assert_("%s:\n    %s" % (hook_type, s) in command_output)
 
32
            self.assertTrue("%s:\n    %s" % (hook_type, s) in command_output)
29
33
 
30
34
    def test_hooks_with_no_hooks(self):
31
35
        self.make_branch('.')
36
40
 
37
41
    def test_hooks_with_unnamed_hook(self):
38
42
        self.make_branch('.')
 
43
 
39
44
        def foo(): return
40
 
        Branch.hooks.install_named_hook('set_rh', foo, None)
 
45
        Branch.hooks.install_named_hook('post_push', foo, None)
41
46
        out, err = self.run_bzr('hooks')
42
 
        self._check_hooks_output(out, {'set_rh': ["No hook name"]})
 
47
        self._check_hooks_output(out, {'post_push': ["No hook name"]})
43
48
 
44
49
    def test_hooks_with_named_hook(self):
45
50
        self.make_branch('.')
 
51
 
46
52
        def foo(): return
47
53
        name = "Foo Bar Hook"
48
 
        Branch.hooks.install_named_hook('set_rh', foo, name)
 
54
        Branch.hooks.install_named_hook('post_push', foo, name)
49
55
        out, err = self.run_bzr('hooks')
50
 
        self._check_hooks_output(out, {'set_rh': [name]})
 
56
        self._check_hooks_output(out, {'post_push': [name]})
51
57
 
52
58
    def test_hooks_no_branch(self):
53
59
        self.run_bzr('hooks')
 
60
 
 
61
    def test_hooks_lazy_with_unnamed_hook(self):
 
62
        self.make_branch('.')
 
63
 
 
64
        def foo(): return
 
65
        Branch.hooks.install_named_hook_lazy('post_push',
 
66
                                             'breezy.tests.blackbox.test_hooks',
 
67
                                             '_foo_hook',
 
68
                                             None)
 
69
        out, err = self.run_bzr('hooks')
 
70
        self._check_hooks_output(out, {'post_push': ["No hook name"]})
 
71
 
 
72
    def test_hooks_lazy_with_named_hook(self):
 
73
        self.make_branch('.')
 
74
 
 
75
        def foo(): return
 
76
        Branch.hooks.install_named_hook_lazy('post_push',
 
77
                                             'breezy.tests.blackbox.test_hooks',
 
78
                                             '_foo_hook',
 
79
                                             'hook has a name')
 
80
        out, err = self.run_bzr('hooks')
 
81
        self._check_hooks_output(out, {'post_push': ["hook has a name"]})