From 89a162e0008a0b8b2353d5cdcb3db6eff66f690b Mon Sep 17 00:00:00 2001 From: Polina Bungina <27892524+hughcapet@users.noreply.github.com> Date: Tue, 5 Sep 2023 07:27:34 +0200 Subject: [PATCH] Return system id to the ctl list title (#2840) --- patroni/ctl.py | 8 +++++--- tests/test_ctl.py | 10 ++++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/patroni/ctl.py b/patroni/ctl.py index c8a396c9..3f49130e 100644 --- a/patroni/ctl.py +++ b/patroni/ctl.py @@ -1563,9 +1563,11 @@ def output_members(obj: Dict[str, Any], cluster: Cluster, name: str, rows.append([member.get(n.lower().replace(' ', '_'), '') for n in columns]) title = 'Citus cluster' if is_citus_cluster else 'Cluster' - group_title = '' if group is None else 'group: {0}, '.format(group) - title_details = group_title and ' ({0}{1})'.format(group_title, initialize) - title = ' {0}: {1}{2} '.format(title, name, title_details) + title_details = f' ({initialize})' + if is_citus_cluster: + title_details = '' if group is None else f' (group: {group}, {initialize})' + + title = f' {title}: {name}{title_details} ' print_output(columns, rows, {'Group': 'r', 'Lag in MB': 'r', 'TL': 'r'}, fmt, title) if fmt not in ('pretty', 'topology'): # Omit service info when using machine-readable formats diff --git a/tests/test_ctl.py b/tests/test_ctl.py index f4f08296..b1468075 100644 --- a/tests/test_ctl.py +++ b/tests/test_ctl.py @@ -402,9 +402,19 @@ class TestCtl(unittest.TestCase): @patch('patroni.ctl.get_dcs') def test_members(self, mock_get_dcs): mock_get_dcs.return_value.get_cluster = get_cluster_initialized_with_leader + result = self.runner.invoke(ctl, ['list']) assert '127.0.0.1' in result.output assert result.exit_code == 0 + assert 'Citus cluster: alpha -' in result.output + + result = self.runner.invoke(ctl, ['list', '--group', '0']) + assert 'Citus cluster: alpha (group: 0, 12345678901) -' in result.output + + with patch('patroni.ctl.load_config', Mock(return_value={'scope': 'alpha'})): + result = self.runner.invoke(ctl, ['list']) + assert 'Cluster: alpha (12345678901) -' in result.output + with patch('patroni.ctl.load_config', Mock(return_value={})): self.runner.invoke(ctl, ['list'])