from qa.base import BaseTestCase from qa.shell import gitlint class ContribRuleTests(BaseTestCase): """Integration tests for contrib rules.""" def test_contrib_rules(self): self.create_simple_commit("WIP Thi$ is å title\n\nMy bödy that is a bit longer than 20 chars") output = gitlint( "--contrib", "contrib-title-conventional-commits,CC1", _cwd=self.tmp_git_repo, _tty_in=True, _ok_code=[3] ) self.assertEqualStdout(output, self.get_expected("test_contrib/test_contrib_rules_1")) def test_contrib_rules_with_config(self): self.create_simple_commit("WIP Thi$ is å title\n\nMy bödy that is a bit longer than 20 chars") output = gitlint( "--contrib", "contrib-title-conventional-commits,CC1", "-c", "contrib-title-conventional-commits.types=föo,bår", _cwd=self.tmp_git_repo, _tty_in=True, _ok_code=[3], ) self.assertEqualStdout(output, self.get_expected("test_contrib/test_contrib_rules_with_config_1")) def test_invalid_contrib_rules(self): self.create_simple_commit("WIP: test") output = gitlint("--contrib", "föobar,CC1", _cwd=self.tmp_git_repo, _tty_in=True, _ok_code=[255]) self.assertEqualStdout(output, "Config Error: No contrib rule with id or name 'föobar' found.\n")