summaryrefslogtreecommitdiffstats
path: root/tests/languages/golang_test.py
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--tests/languages/golang_test.py57
1 files changed, 39 insertions, 18 deletions
diff --git a/tests/languages/golang_test.py b/tests/languages/golang_test.py
index 9e393cb..0219261 100644
--- a/tests/languages/golang_test.py
+++ b/tests/languages/golang_test.py
@@ -1,22 +1,43 @@
from __future__ import annotations
+import re
+from unittest import mock
+
import pytest
-from pre_commit.languages.golang import guess_go_dir
-
-
-@pytest.mark.parametrize(
- ('url', 'expected'),
- (
- ('/im/a/path/on/disk', 'unknown_src_dir'),
- ('file:///im/a/path/on/disk', 'unknown_src_dir'),
- ('git@github.com:golang/lint', 'github.com/golang/lint'),
- ('git://github.com/golang/lint', 'github.com/golang/lint'),
- ('http://github.com/golang/lint', 'github.com/golang/lint'),
- ('https://github.com/golang/lint', 'github.com/golang/lint'),
- ('ssh://git@github.com/golang/lint', 'github.com/golang/lint'),
- ('git@github.com:golang/lint.git', 'github.com/golang/lint'),
- ),
-)
-def test_guess_go_dir(url, expected):
- assert guess_go_dir(url) == expected
+import pre_commit.constants as C
+from pre_commit.languages import golang
+from pre_commit.languages import helpers
+
+
+ACTUAL_GET_DEFAULT_VERSION = golang.get_default_version.__wrapped__
+
+
+@pytest.fixture
+def exe_exists_mck():
+ with mock.patch.object(helpers, 'exe_exists') as mck:
+ yield mck
+
+
+def test_golang_default_version_system_available(exe_exists_mck):
+ exe_exists_mck.return_value = True
+ assert ACTUAL_GET_DEFAULT_VERSION() == 'system'
+
+
+def test_golang_default_version_system_not_available(exe_exists_mck):
+ exe_exists_mck.return_value = False
+ assert ACTUAL_GET_DEFAULT_VERSION() == C.DEFAULT
+
+
+ACTUAL_INFER_GO_VERSION = golang._infer_go_version.__wrapped__
+
+
+def test_golang_infer_go_version_not_default():
+ assert ACTUAL_INFER_GO_VERSION('1.19.4') == '1.19.4'
+
+
+def test_golang_infer_go_version_default():
+ version = ACTUAL_INFER_GO_VERSION(C.DEFAULT)
+
+ assert version != C.DEFAULT
+ assert re.match(r'^\d+\.\d+\.\d+$', version)