blob: bf526a01e3461ab3221f9992c2ec14bdf10af71e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
from gitlint.config import LintConfig
from gitlint.contrib.rules.signedoff_by import SignedOffBy
from gitlint.rules import RuleViolation
from gitlint.tests.base import BaseTestCase
class ContribSignedOffByTests(BaseTestCase):
def test_enable(self):
# Test that rule can be enabled in config
for rule_ref in ["CC1", "contrib-body-requires-signed-off-by"]:
config = LintConfig()
config.contrib = [rule_ref]
self.assertIn(SignedOffBy(), config.rules)
def test_signedoff_by(self):
# No violations when 'Signed-off-by' line is present
rule = SignedOffBy()
violations = rule.validate(self.gitcommit("Föobar\n\nMy Body\nSigned-off-by: John Smith"))
self.assertListEqual([], violations)
# Assert violation when no 'Signed-off-by' line is present
violations = rule.validate(self.gitcommit("Föobar\n\nMy Body"))
expected_violation = RuleViolation("CC1", "Body does not contain a 'Signed-off-by' line", line_nr=1)
self.assertListEqual(violations, [expected_violation])
# Assert violation when no 'Signed-off-by' in title but not in body
violations = rule.validate(self.gitcommit("Signed-off-by\n\nFöobar"))
self.assertListEqual(violations, [expected_violation])
|