From 67e4403b22b96edb1d0cf816bd34cb7fad4ae767 Mon Sep 17 00:00:00 2001 From: Taylor Steinberg Date: Wed, 28 Oct 2026 12:08:51 -0400 Subject: [PATCH] fix: remove duplicate build list verbosity option --- rsconnect/main.py | 1 - tests/test_main_content.py | 25 +++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/rsconnect/main.py b/rsconnect/main.py index 620e2063c..9f6cf114d 100644 --- a/rsconnect/main.py +++ b/rsconnect/main.py @@ -5688,7 +5688,6 @@ def remove_content_build( metavar="TEXT", help="Check the local build state of a specific content item. This flag can be passed multiple times.", ) -@click.option("--verbose", "-v", count=True, help="Enable verbose output. Use -vv for very verbose (debug) output.") # todo: --format option (json, text) @click.pass_context def list_content_build( diff --git a/tests/test_main_content.py b/tests/test_main_content.py index 19afc3619..0f37c47db 100644 --- a/tests/test_main_content.py +++ b/tests/test_main_content.py @@ -3,6 +3,7 @@ import shutil import tarfile import unittest +import warnings from unittest import mock import httpretty @@ -118,6 +119,30 @@ def test_version(self): self.assertEqual(result.exit_code, 0, result.output) self.assertIn(VERSION, result.output) + def test_build_command_help_has_one_verbose_option(self): + for command in ("add", "rm", "ls", "history", "logs", "run"): + with self.subTest(command=command), warnings.catch_warnings(record=True) as caught: + warnings.simplefilter("always") + result = CliRunner().invoke(cli, ["content", "build", command, "--help"]) + self.assertEqual(result.exit_code, 0, result.output) + self.assertEqual(result.output.count("--verbose"), 1, result.output) + self.assertFalse([warning for warning in caught if "used more than once" in str(warning.message)]) + + @httpretty.activate(verbose=True, allow_net_connect=False) + def test_build_list_verbosity(self): + register_uris(self.connect_server) + for option, count in (("--verbose", 1), ("-v", 1), ("-vv", 2)): + with self.subTest(option=option), mock.patch("rsconnect.main.set_verbosity") as set_verbosity: + args = ["content", "build", "ls", option] + apply_common_args(args, server=self.connect_server, key=self.api_key) + with warnings.catch_warnings(record=True) as caught: + warnings.simplefilter("always") + result = CliRunner().invoke(cli, args) + self.assertEqual(result.exit_code, 0, result.output) + self.assertIsInstance(json.loads(result.output), list) + self.assertFalse([warning for warning in caught if "used more than once" in str(warning.message)]) + set_verbosity.assert_called_once_with(count) + @httpretty.activate(verbose=True, allow_net_connect=False) def test_content_search(self): register_uris(self.connect_server)