summaryrefslogtreecommitdiff
path: root/tests/unit/test_cli.py
diff options
context:
space:
mode:
authorNejc Habjan <nejc.habjan@siemens.com>2023-04-10 15:28:16 +0200
committerNejc Habjan <hab.nejc@gmail.com>2023-04-11 13:53:12 +0200
commit5748d37365fdac105341f94eaccde8784d6f57e3 (patch)
tree7010ec674953740a0f44372aa60754852030031c /tests/unit/test_cli.py
parent8bf53c8b31704bdb31ffc5cf107cc5fba5dad457 (diff)
downloadgitlab-5748d37365fdac105341f94eaccde8784d6f57e3.tar.gz
test(unit): increase V4 CLI coverage
Diffstat (limited to 'tests/unit/test_cli.py')
-rw-r--r--tests/unit/test_cli.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/unit/test_cli.py b/tests/unit/test_cli.py
index 9440e96..bd72317 100644
--- a/tests/unit/test_cli.py
+++ b/tests/unit/test_cli.py
@@ -1,14 +1,17 @@
import argparse
import io
import os
+import sys
import tempfile
from contextlib import redirect_stderr # noqa: H302
+from unittest import mock
import pytest
import gitlab.base
from gitlab import cli
from gitlab.exceptions import GitlabError
+from gitlab.v4 import cli as v4_cli
@pytest.mark.parametrize(
@@ -146,3 +149,23 @@ def test_v4_parser():
)
actions = user_subparsers.choices["create"]._option_string_actions
assert actions["--name"].required
+
+
+@pytest.mark.skipif(sys.version_info < (3, 8), reason="added in 3.8")
+def test_legacy_display_without_fields_warns(fake_object_no_id):
+ printer = v4_cli.LegacyPrinter()
+
+ with mock.patch("builtins.print") as mocked:
+ printer.display(fake_object_no_id, obj=fake_object_no_id)
+
+ assert "No default fields to show" in mocked.call_args.args[0]
+
+
+@pytest.mark.skipif(sys.version_info < (3, 8), reason="added in 3.8")
+def test_legacy_display_with_long_repr_truncates(fake_object_long_repr):
+ printer = v4_cli.LegacyPrinter()
+
+ with mock.patch("builtins.print") as mocked:
+ printer.display(fake_object_long_repr, obj=fake_object_long_repr)
+
+ assert len(mocked.call_args.args[0]) < 80