summaryrefslogtreecommitdiffstats
path: root/gitlint/tests/cli/test_cli.py
diff options
context:
space:
mode:
Diffstat (limited to 'gitlint/tests/cli/test_cli.py')
-rw-r--r--gitlint/tests/cli/test_cli.py234
1 files changed, 111 insertions, 123 deletions
diff --git a/gitlint/tests/cli/test_cli.py b/gitlint/tests/cli/test_cli.py
index 88bcfb7..bf35e96 100644
--- a/gitlint/tests/cli/test_cli.py
+++ b/gitlint/tests/cli/test_cli.py
@@ -8,21 +8,11 @@ import platform
import arrow
-try:
- # python 2.x
- from StringIO import StringIO
-except ImportError:
- # python 3.x
- from io import StringIO # pylint: disable=ungrouped-imports
+from io import StringIO
from click.testing import CliRunner
-try:
- # python 2.x
- from mock import patch
-except ImportError:
- # python 3.x
- from unittest.mock import patch # pylint: disable=no-name-in-module, import-error
+from unittest.mock import patch
from gitlint.shell import CommandNotFound
@@ -59,7 +49,7 @@ class CLITests(BaseTestCase):
def test_version(self):
""" Test for --version option """
result = self.cli.invoke(cli.cli, ["--version"])
- self.assertEqual(result.output.split("\n")[0], "cli, version {0}".format(__version__))
+ self.assertEqual(result.output.split("\n")[0], f"cli, version {__version__}")
@patch('gitlint.cli.get_stdin_data', return_value=False)
@patch('gitlint.git.sh')
@@ -67,11 +57,11 @@ class CLITests(BaseTestCase):
""" Test for basic simple linting functionality """
sh.git.side_effect = [
"6f29bf81a8322a04071bb794666e48c443a90360",
- u"test åuthor\x00test-email@föo.com\x002016-12-03 15:28:15 +0100\x00åbc\n"
- u"commït-title\n\ncommït-body",
- u"#", # git config --get core.commentchar
- u"commit-1-branch-1\ncommit-1-branch-2\n",
- u"file1.txt\npåth/to/file2.txt\n"
+ "test åuthor\x00test-email@föo.com\x002016-12-03 15:28:15 +0100\x00åbc\n"
+ "commït-title\n\ncommït-body",
+ "#", # git config --get core.commentchar
+ "commit-1-branch-1\ncommit-1-branch-2\n",
+ "file1.txt\npåth/to/file2.txt\n"
]
with patch('gitlint.display.stderr', new=StringIO()) as stderr:
@@ -89,21 +79,21 @@ class CLITests(BaseTestCase):
"25053ccec5e28e1bb8f7551fdbb5ab213ada2401\n" +
"4da2656b0dadc76c7ee3fd0243a96cb64007f125\n",
# git log --pretty <FORMAT> <SHA>
- u"test åuthor1\x00test-email1@föo.com\x002016-12-03 15:28:15 +0100\x00åbc\n"
- u"commït-title1\n\ncommït-body1",
- u"#", # git config --get core.commentchar
- u"commit-1-branch-1\ncommit-1-branch-2\n", # git branch --contains <sha>
- u"commit-1/file-1\ncommit-1/file-2\n", # git diff-tree
+ "test åuthor1\x00test-email1@föo.com\x002016-12-03 15:28:15 +0100\x00åbc\n"
+ "commït-title1\n\ncommït-body1",
+ "#", # git config --get core.commentchar
+ "commit-1-branch-1\ncommit-1-branch-2\n", # git branch --contains <sha>
+ "commit-1/file-1\ncommit-1/file-2\n", # git diff-tree
# git log --pretty <FORMAT> <SHA>
- u"test åuthor2\x00test-email3@föo.com\x002016-12-04 15:28:15 +0100\x00åbc\n"
- u"commït-title2\n\ncommït-body2",
- u"commit-2-branch-1\ncommit-2-branch-2\n", # git branch --contains <sha>
- u"commit-2/file-1\ncommit-2/file-2\n", # git diff-tree
+ "test åuthor2\x00test-email3@föo.com\x002016-12-04 15:28:15 +0100\x00åbc\n"
+ "commït-title2\n\ncommït-body2",
+ "commit-2-branch-1\ncommit-2-branch-2\n", # git branch --contains <sha>
+ "commit-2/file-1\ncommit-2/file-2\n", # git diff-tree
# git log --pretty <FORMAT> <SHA>
- u"test åuthor3\x00test-email3@föo.com\x002016-12-05 15:28:15 +0100\x00åbc\n"
- u"commït-title3\n\ncommït-body3",
- u"commit-3-branch-1\ncommit-3-branch-2\n", # git branch --contains <sha>
- u"commit-3/file-1\ncommit-3/file-2\n", # git diff-tree
+ "test åuthor3\x00test-email3@föo.com\x002016-12-05 15:28:15 +0100\x00åbc\n"
+ "commït-title3\n\ncommït-body3",
+ "commit-3-branch-1\ncommit-3-branch-2\n", # git branch --contains <sha>
+ "commit-3/file-1\ncommit-3/file-2\n", # git diff-tree
]
with patch('gitlint.display.stderr', new=StringIO()) as stderr:
@@ -122,21 +112,21 @@ class CLITests(BaseTestCase):
"25053ccec5e28e1bb8f7551fdbb5ab213ada2401\n" +
"4da2656b0dadc76c7ee3fd0243a96cb64007f125\n",
# git log --pretty <FORMAT> <SHA>
- u"test åuthor1\x00test-email1@föo.com\x002016-12-03 15:28:15 +0100\x00åbc\n"
- u"commït-title1\n\ncommït-body1",
- u"#", # git config --get core.commentchar
- u"commit-1-branch-1\ncommit-1-branch-2\n", # git branch --contains <sha>
- u"commit-1/file-1\ncommit-1/file-2\n", # git diff-tree
+ "test åuthor1\x00test-email1@föo.com\x002016-12-03 15:28:15 +0100\x00åbc\n"
+ "commït-title1\n\ncommït-body1",
+ "#", # git config --get core.commentchar
+ "commit-1-branch-1\ncommit-1-branch-2\n", # git branch --contains <sha>
+ "commit-1/file-1\ncommit-1/file-2\n", # git diff-tree
# git log --pretty <FORMAT> <SHA>
- u"test åuthor2\x00test-email2@föo.com\x002016-12-04 15:28:15 +0100\x00åbc\n"
- u"commït-title2.\n\ncommït-body2\ngitlint-ignore: T3\n",
- u"commit-2-branch-1\ncommit-2-branch-2\n", # git branch --contains <sha>
- u"commit-2/file-1\ncommit-2/file-2\n", # git diff-tree
+ "test åuthor2\x00test-email2@föo.com\x002016-12-04 15:28:15 +0100\x00åbc\n"
+ "commït-title2.\n\ncommït-body2\ngitlint-ignore: T3\n",
+ "commit-2-branch-1\ncommit-2-branch-2\n", # git branch --contains <sha>
+ "commit-2/file-1\ncommit-2/file-2\n", # git diff-tree
# git log --pretty <FORMAT> <SHA>
- u"test åuthor3\x00test-email3@föo.com\x002016-12-05 15:28:15 +0100\x00åbc\n"
- u"commït-title3.\n\ncommït-body3",
- u"commit-3-branch-1\ncommit-3-branch-2\n", # git branch --contains <sha>
- u"commit-3/file-1\ncommit-3/file-2\n", # git diff-tree
+ "test åuthor3\x00test-email3@föo.com\x002016-12-05 15:28:15 +0100\x00åbc\n"
+ "commït-title3.\n\ncommït-body3",
+ "commit-3-branch-1\ncommit-3-branch-2\n", # git branch --contains <sha>
+ "commit-3/file-1\ncommit-3/file-2\n", # git diff-tree
]
with patch('gitlint.display.stderr', new=StringIO()) as stderr:
@@ -157,24 +147,24 @@ class CLITests(BaseTestCase):
"25053ccec5e28e1bb8f7551fdbb5ab213ada2401\n" +
"4da2656b0dadc76c7ee3fd0243a96cb64007f125\n",
# git log --pretty <FORMAT> <SHA>
- u"test åuthor1\x00test-email1@föo.com\x002016-12-03 15:28:15 +0100\x00åbc\n"
- u"commït-title1\n\ncommït-body1",
- u"#", # git config --get core.commentchar
- u"commit-1-branch-1\ncommit-1-branch-2\n", # git branch --contains <sha>
- u"commit-1/file-1\ncommit-1/file-2\n", # git diff-tree
+ "test åuthor1\x00test-email1@föo.com\x002016-12-03 15:28:15 +0100\x00åbc\n"
+ "commït-title1\n\ncommït-body1",
+ "#", # git config --get core.commentchar
+ "commit-1-branch-1\ncommit-1-branch-2\n", # git branch --contains <sha>
+ "commit-1/file-1\ncommit-1/file-2\n", # git diff-tree
# git log --pretty <FORMAT> <SHA>
- u"test åuthor2\x00test-email3@föo.com\x002016-12-04 15:28:15 +0100\x00åbc\n"
+ "test åuthor2\x00test-email3@föo.com\x002016-12-04 15:28:15 +0100\x00åbc\n"
# Normally T3 violation (trailing punctuation), but this commit is ignored because of
# config below
- u"commït-title2.\n\ncommït-body2\n",
- u"commit-2-branch-1\ncommit-2-branch-2\n", # git branch --contains <sha>
- u"commit-2/file-1\ncommit-2/file-2\n", # git diff-tree
+ "commït-title2.\n\ncommït-body2\n",
+ "commit-2-branch-1\ncommit-2-branch-2\n", # git branch --contains <sha>
+ "commit-2/file-1\ncommit-2/file-2\n", # git diff-tree
# git log --pretty <FORMAT> <SHA>
- u"test åuthor3\x00test-email3@föo.com\x002016-12-05 15:28:15 +0100\x00åbc\n"
+ "test åuthor3\x00test-email3@föo.com\x002016-12-05 15:28:15 +0100\x00åbc\n"
# Normally T1 and B5 violations, now only T1 because we're ignoring B5 in config below
- u"commït-title3.\n\ncommït-body3 foo",
- u"commit-3-branch-1\ncommit-3-branch-2\n", # git branch --contains <sha>
- u"commit-3/file-1\ncommit-3/file-2\n", # git diff-tree
+ "commït-title3.\n\ncommït-body3 foo",
+ "commit-3-branch-1\ncommit-3-branch-2\n", # git branch --contains <sha>
+ "commit-3/file-1\ncommit-3/file-2\n", # git diff-tree
]
with patch('gitlint.display.stderr', new=StringIO()) as stderr:
@@ -183,9 +173,9 @@ class CLITests(BaseTestCase):
# We expect that the second commit has no failures because of it matching against I1.regex
# Because we do test for the 3th commit to return violations, this test also ensures that a unique
# config object is passed to each commit lint call
- expected = (u"Commit 6f29bf81a8:\n"
+ expected = ("Commit 6f29bf81a8:\n"
u'3: B5 Body message is too short (12<20): "commït-body1"\n\n'
- u"Commit 4da2656b0d:\n"
+ "Commit 4da2656b0d:\n"
u'1: T3 Title has trailing punctuation (.): "commït-title3."\n')
self.assertEqual(stderr.getvalue(), expected)
self.assertEqual(result.exit_code, 2)
@@ -218,11 +208,11 @@ class CLITests(BaseTestCase):
""" Test for ignoring stdin when --ignore-stdin flag is enabled"""
sh.git.side_effect = [
"6f29bf81a8322a04071bb794666e48c443a90360",
- u"test åuthor\x00test-email@föo.com\x002016-12-03 15:28:15 +0100\x00åbc\n"
- u"commït-title\n\ncommït-body",
- u"#", # git config --get core.commentchar
- u"commit-1-branch-1\ncommit-1-branch-2\n", # git branch --contains <sha>
- u"file1.txt\npåth/to/file2.txt\n" # git diff-tree
+ "test åuthor\x00test-email@föo.com\x002016-12-03 15:28:15 +0100\x00åbc\n"
+ "commït-title\n\ncommït-body",
+ "#", # git config --get core.commentchar
+ "commit-1-branch-1\ncommit-1-branch-2\n", # git branch --contains <sha>
+ "file1.txt\npåth/to/file2.txt\n" # git diff-tree
]
with patch('gitlint.display.stderr', new=StringIO()) as stderr:
@@ -240,11 +230,11 @@ class CLITests(BaseTestCase):
""" Test for ignoring stdin when --ignore-stdin flag is enabled"""
sh.git.side_effect = [
- u"#", # git config --get core.commentchar
- u"föo user\n", # git config --get user.name
- u"föo@bar.com\n", # git config --get user.email
- u"my-branch\n", # git rev-parse --abbrev-ref HEAD (=current branch)
- u"commit-1/file-1\ncommit-1/file-2\n", # git diff-tree
+ "#", # git config --get core.commentchar
+ "föo user\n", # git config --get user.name
+ "föo@bar.com\n", # git config --get user.email
+ "my-branch\n", # git rev-parse --abbrev-ref HEAD (=current branch)
+ "commit-1/file-1\ncommit-1/file-2\n", # git diff-tree
]
with patch('gitlint.display.stderr', new=StringIO()) as stderr:
@@ -263,17 +253,17 @@ class CLITests(BaseTestCase):
""" Test for ignoring stdin when --ignore-stdin flag is enabled"""
sh.git.side_effect = [
- u"#", # git config --get core.commentchar
- u"föo user\n", # git config --get user.name
- u"föo@bar.com\n", # git config --get user.email
- u"my-branch\n", # git rev-parse --abbrev-ref HEAD (=current branch)
- u"commit-1/file-1\ncommit-1/file-2\n", # git diff-tree
+ "#", # git config --get core.commentchar
+ "föo user\n", # git config --get user.name
+ "föo@bar.com\n", # git config --get user.email
+ "my-branch\n", # git rev-parse --abbrev-ref HEAD (=current branch)
+ "commit-1/file-1\ncommit-1/file-2\n", # git diff-tree
]
with self.tempdir() as tmpdir:
msg_filename = os.path.join(tmpdir, "msg")
with io.open(msg_filename, 'w', encoding=DEFAULT_ENCODING) as f:
- f.write(u"WIP: msg-filename tïtle\n")
+ f.write("WIP: msg-filename tïtle\n")
with patch('gitlint.display.stderr', new=StringIO()) as stderr:
result = self.cli.invoke(cli.cli, ["--debug", "--staged", "--msg-filename", msg_filename])
@@ -289,17 +279,17 @@ class CLITests(BaseTestCase):
def test_lint_staged_negative(self, _):
result = self.cli.invoke(cli.cli, ["--staged"])
self.assertEqual(result.exit_code, self.USAGE_ERROR_CODE)
- self.assertEqual(result.output, (u"Error: The 'staged' option (--staged) can only be used when using "
- u"'--msg-filename' or when piping data to gitlint via stdin.\n"))
+ self.assertEqual(result.output, ("Error: The 'staged' option (--staged) can only be used when using "
+ "'--msg-filename' or when piping data to gitlint via stdin.\n"))
@patch('gitlint.cli.get_stdin_data', return_value=False)
def test_msg_filename(self, _):
- expected_output = u"3: B6 Body message is missing\n"
+ expected_output = "3: B6 Body message is missing\n"
with self.tempdir() as tmpdir:
msg_filename = os.path.join(tmpdir, "msg")
with io.open(msg_filename, 'w', encoding=DEFAULT_ENCODING) as f:
- f.write(u"Commït title\n")
+ f.write("Commït title\n")
with patch('gitlint.display.stderr', new=StringIO()) as stderr:
result = self.cli.invoke(cli.cli, ["--msg-filename", msg_filename])
@@ -307,7 +297,7 @@ class CLITests(BaseTestCase):
self.assertEqual(result.exit_code, 1)
self.assertEqual(result.output, "")
- @patch('gitlint.cli.get_stdin_data', return_value=u"WIP: tïtle \n")
+ @patch('gitlint.cli.get_stdin_data', return_value="WIP: tïtle \n")
def test_silent_mode(self, _):
""" Test for --silent option """
with patch('gitlint.display.stderr', new=StringIO()) as stderr:
@@ -316,7 +306,7 @@ class CLITests(BaseTestCase):
self.assertEqual(result.exit_code, 3)
self.assertEqual(result.output, "")
- @patch('gitlint.cli.get_stdin_data', return_value=u"WIP: tïtle \n")
+ @patch('gitlint.cli.get_stdin_data', return_value="WIP: tïtle \n")
def test_verbosity(self, _):
""" Test for --verbosity option """
# We only test -v and -vv, more testing is really not required here
@@ -333,7 +323,7 @@ class CLITests(BaseTestCase):
"3: B6 Body message is missing\n"
with patch('gitlint.display.stderr', new=StringIO()) as stderr:
- result = self.cli.invoke(cli.cli, ["-vv"], input=u"WIP: tïtle \n")
+ result = self.cli.invoke(cli.cli, ["-vv"], input="WIP: tïtle \n")
self.assertEqual(stderr.getvalue(), expected_output)
self.assertEqual(result.exit_code, 3)
self.assertEqual(result.output, "")
@@ -355,19 +345,19 @@ class CLITests(BaseTestCase):
"25053ccec5e28e1bb8f7551fdbb5ab213ada2401\n"
"4da2656b0dadc76c7ee3fd0243a96cb64007f125\n",
# git log --pretty <FORMAT> <SHA>
- u"test åuthor1\x00test-email1@föo.com\x002016-12-03 15:28:15 +0100\x00abc\n"
- u"commït-title1\n\ncommït-body1",
- u"#", # git config --get core.commentchar
- u"commit-1-branch-1\ncommit-1-branch-2\n", # git branch --contains <sha>
- u"commit-1/file-1\ncommit-1/file-2\n", # git diff-tree
- u"test åuthor2\x00test-email2@föo.com\x002016-12-04 15:28:15 +0100\x00abc\n"
- u"commït-title2.\n\ncommït-body2",
- u"commit-2-branch-1\ncommit-2-branch-2\n", # git branch --contains <sha>
- u"commit-2/file-1\ncommit-2/file-2\n", # git diff-tree
- u"test åuthor3\x00test-email3@föo.com\x002016-12-05 15:28:15 +0100\x00abc\n"
- u"föobar\nbar",
- u"commit-3-branch-1\ncommit-3-branch-2\n", # git branch --contains <sha>
- u"commit-3/file-1\ncommit-3/file-2\n", # git diff-tree
+ "test åuthor1\x00test-email1@föo.com\x002016-12-03 15:28:15 +0100\x00abc\n"
+ "commït-title1\n\ncommït-body1",
+ "#", # git config --get core.commentchar
+ "commit-1-branch-1\ncommit-1-branch-2\n", # git branch --contains <sha>
+ "commit-1/file-1\ncommit-1/file-2\n", # git diff-tree
+ "test åuthor2\x00test-email2@föo.com\x002016-12-04 15:28:15 +0100\x00abc\n"
+ "commït-title2.\n\ncommït-body2",
+ "commit-2-branch-1\ncommit-2-branch-2\n", # git branch --contains <sha>
+ "commit-2/file-1\ncommit-2/file-2\n", # git diff-tree
+ "test åuthor3\x00test-email3@föo.com\x002016-12-05 15:28:15 +0100\x00abc\n"
+ "föobar\nbar",
+ "commit-3-branch-1\ncommit-3-branch-2\n", # git branch --contains <sha>
+ "commit-3/file-1\ncommit-3/file-2\n", # git diff-tree
]
with patch('gitlint.display.stderr', new=StringIO()) as stderr:
@@ -387,14 +377,14 @@ class CLITests(BaseTestCase):
expected_logs = self.get_expected('cli/test_cli/test_debug_1', expected_kwargs)
self.assert_logged(expected_logs)
- @patch('gitlint.cli.get_stdin_data', return_value=u"Test tïtle\n")
+ @patch('gitlint.cli.get_stdin_data', return_value="Test tïtle\n")
def test_extra_path(self, _):
""" Test for --extra-path flag """
# Test extra-path pointing to a directory
with patch('gitlint.display.stderr', new=StringIO()) as stderr:
extra_path = self.get_sample_path("user_rules")
result = self.cli.invoke(cli.cli, ["--extra-path", extra_path])
- expected_output = u"1: UC1 Commit violåtion 1: \"Contënt 1\"\n" + \
+ expected_output = "1: UC1 Commit violåtion 1: \"Contënt 1\"\n" + \
"3: B6 Body message is missing\n"
self.assertEqual(stderr.getvalue(), expected_output)
self.assertEqual(result.exit_code, 2)
@@ -403,12 +393,12 @@ class CLITests(BaseTestCase):
with patch('gitlint.display.stderr', new=StringIO()) as stderr:
extra_path = self.get_sample_path(os.path.join("user_rules", "my_commit_rules.py"))
result = self.cli.invoke(cli.cli, ["--extra-path", extra_path])
- expected_output = u"1: UC1 Commit violåtion 1: \"Contënt 1\"\n" + \
+ expected_output = "1: UC1 Commit violåtion 1: \"Contënt 1\"\n" + \
"3: B6 Body message is missing\n"
self.assertEqual(stderr.getvalue(), expected_output)
self.assertEqual(result.exit_code, 2)
- @patch('gitlint.cli.get_stdin_data', return_value=u"Test tïtle\n\nMy body that is long enough")
+ @patch('gitlint.cli.get_stdin_data', return_value="Test tïtle\n\nMy body that is long enough")
def test_contrib(self, _):
# Test enabled contrib rules
with patch('gitlint.display.stderr', new=StringIO()) as stderr:
@@ -417,13 +407,13 @@ class CLITests(BaseTestCase):
self.assertEqual(stderr.getvalue(), expected_output)
self.assertEqual(result.exit_code, 3)
- @patch('gitlint.cli.get_stdin_data', return_value=u"Test tïtle\n")
+ @patch('gitlint.cli.get_stdin_data', return_value="Test tïtle\n")
def test_contrib_negative(self, _):
- result = self.cli.invoke(cli.cli, ["--contrib", u"föobar,CC1"])
- self.assertEqual(result.output, u"Config Error: No contrib rule with id or name 'föobar' found.\n")
+ result = self.cli.invoke(cli.cli, ["--contrib", "föobar,CC1"])
+ self.assertEqual(result.output, "Config Error: No contrib rule with id or name 'föobar' found.\n")
self.assertEqual(result.exit_code, self.CONFIG_ERROR_CODE)
- @patch('gitlint.cli.get_stdin_data', return_value=u"WIP: tëst")
+ @patch('gitlint.cli.get_stdin_data', return_value="WIP: tëst")
def test_config_file(self, _):
""" Test for --config option """
with patch('gitlint.display.stderr', new=StringIO()) as stderr:
@@ -438,16 +428,14 @@ class CLITests(BaseTestCase):
# Directory as config file
config_path = self.get_sample_path("config")
result = self.cli.invoke(cli.cli, ["--config", config_path])
- expected_string = u"Error: Invalid value for \"-C\" / \"--config\": File \"{0}\" is a directory.".format(
- config_path)
+ expected_string = f"Error: Invalid value for '-C' / '--config': File '{config_path}' is a directory."
self.assertEqual(result.output.split("\n")[3], expected_string)
self.assertEqual(result.exit_code, self.USAGE_ERROR_CODE)
# Non existing file
- config_path = self.get_sample_path(u"föo")
+ config_path = self.get_sample_path("föo")
result = self.cli.invoke(cli.cli, ["--config", config_path])
- expected_string = u"Error: Invalid value for \"-C\" / \"--config\": File \"{0}\" does not exist.".format(
- config_path)
+ expected_string = f"Error: Invalid value for '-C' / '--config': File '{config_path}' does not exist."
self.assertEqual(result.output.split("\n")[3], expected_string)
self.assertEqual(result.exit_code, self.USAGE_ERROR_CODE)
@@ -471,37 +459,37 @@ class CLITests(BaseTestCase):
def test_target_negative(self):
""" Negative test for the --target option """
# try setting a non-existing target
- result = self.cli.invoke(cli.cli, ["--target", u"/föo/bar"])
+ result = self.cli.invoke(cli.cli, ["--target", "/föo/bar"])
self.assertEqual(result.exit_code, self.USAGE_ERROR_CODE)
- expected_msg = u"Error: Invalid value for \"--target\": Directory \"/föo/bar\" does not exist."
+ expected_msg = "Error: Invalid value for '--target': Directory '/föo/bar' does not exist."
self.assertEqual(result.output.split("\n")[3], expected_msg)
# try setting a file as target
target_path = self.get_sample_path(os.path.join("config", "gitlintconfig"))
result = self.cli.invoke(cli.cli, ["--target", target_path])
self.assertEqual(result.exit_code, self.USAGE_ERROR_CODE)
- expected_msg = u"Error: Invalid value for \"--target\": Directory \"{0}\" is a file.".format(target_path)
+ expected_msg = f"Error: Invalid value for '--target': Directory '{target_path}' is a file."
self.assertEqual(result.output.split("\n")[3], expected_msg)
@patch('gitlint.config.LintConfigGenerator.generate_config')
def test_generate_config(self, generate_config):
""" Test for the generate-config subcommand """
- result = self.cli.invoke(cli.cli, ["generate-config"], input=u"tëstfile\n")
+ result = self.cli.invoke(cli.cli, ["generate-config"], input="tëstfile\n")
self.assertEqual(result.exit_code, 0)
- expected_msg = u"Please specify a location for the sample gitlint config file [.gitlint]: tëstfile\n" + \
- u"Successfully generated {0}\n".format(os.path.realpath(u"tëstfile"))
+ expected_msg = "Please specify a location for the sample gitlint config file [.gitlint]: tëstfile\n" + \
+ f"Successfully generated {os.path.realpath('tëstfile')}\n"
self.assertEqual(result.output, expected_msg)
- generate_config.assert_called_once_with(os.path.realpath(u"tëstfile"))
+ generate_config.assert_called_once_with(os.path.realpath("tëstfile"))
def test_generate_config_negative(self):
""" Negative test for the generate-config subcommand """
# Non-existing directory
- fake_dir = os.path.abspath(u"/föo")
- fake_path = os.path.join(fake_dir, u"bar")
+ fake_dir = os.path.abspath("/föo")
+ fake_path = os.path.join(fake_dir, "bar")
result = self.cli.invoke(cli.cli, ["generate-config"], input=fake_path)
self.assertEqual(result.exit_code, self.USAGE_ERROR_CODE)
- expected_msg = (u"Please specify a location for the sample gitlint config file [.gitlint]: {0}\n"
- + u"Error: Directory '{1}' does not exist.\n").format(fake_path, fake_dir)
+ expected_msg = f"Please specify a location for the sample gitlint config file [.gitlint]: {fake_path}\n" + \
+ f"Error: Directory '{fake_dir}' does not exist.\n"
self.assertEqual(result.output, expected_msg)
# Existing file
@@ -509,8 +497,8 @@ class CLITests(BaseTestCase):
result = self.cli.invoke(cli.cli, ["generate-config"], input=sample_path)
self.assertEqual(result.exit_code, self.USAGE_ERROR_CODE)
expected_msg = "Please specify a location for the sample gitlint " + \
- "config file [.gitlint]: {0}\n".format(sample_path) + \
- "Error: File \"{0}\" already exists.\n".format(sample_path)
+ f"config file [.gitlint]: {sample_path}\n" + \
+ f"Error: File \"{sample_path}\" already exists.\n"
self.assertEqual(result.output, expected_msg)
@patch('gitlint.cli.get_stdin_data', return_value=False)
@@ -528,10 +516,10 @@ class CLITests(BaseTestCase):
sh.git.side_effect = lambda *_args, **_kwargs: ""
result = self.cli.invoke(cli.cli, ["--commits", "master...HEAD"])
- self.assert_log_contains(u"DEBUG: gitlint.cli No commits in range \"master...HEAD\"")
+ self.assert_log_contains("DEBUG: gitlint.cli No commits in range \"master...HEAD\"")
self.assertEqual(result.exit_code, 0)
- @patch('gitlint.cli.get_stdin_data', return_value=u"WIP: tëst tïtle")
+ @patch('gitlint.cli.get_stdin_data', return_value="WIP: tëst tïtle")
def test_named_rules(self, _):
with patch('gitlint.display.stderr', new=StringIO()) as stderr:
config_path = self.get_sample_path(os.path.join("config", "named-rules"))