diff --git a/patroni/ctl.py b/patroni/ctl.py index bb6b4b1c..312c0cec 100644 --- a/patroni/ctl.py +++ b/patroni/ctl.py @@ -1543,7 +1543,7 @@ def output_members(obj: Dict[str, Any], cluster: Cluster, name: str, logging.debug(member) lag = member.get('lag', '') - member.update(c=name, member=member['name'], group=g, + member.update(cluster=name, member=member['name'], group=g, host=member.get('host', ''), tl=member.get('timeline', ''), role=member['role'].replace('_', ' ').title(), lag_in_mb=round(lag / 1024 / 1024) if isinstance(lag, int) else lag, diff --git a/tests/test_ctl.py b/tests/test_ctl.py index b30cecc1..f4f08296 100644 --- a/tests/test_ctl.py +++ b/tests/test_ctl.py @@ -83,9 +83,13 @@ class TestCtl(unittest.TestCase): scheduled_at = datetime.now(tzutc) + timedelta(seconds=600) cluster = get_cluster_initialized_with_leader(Failover(1, 'foo', 'bar', scheduled_at)) del cluster.members[1].data['conn_url'] - for fmt in ('pretty', 'json', 'yaml', 'tsv', 'topology'): + for fmt in ('pretty', 'json', 'yaml', 'topology'): self.assertIsNone(output_members({}, cluster, name='abc', fmt=fmt)) + with patch('click.echo') as mock_echo: + self.assertIsNone(output_members({}, cluster, name='abc', fmt='tsv')) + self.assertEqual(mock_echo.call_args[0][0], 'abc\tother\t\tReplica\trunning\t\tunknown') + @patch('patroni.ctl.get_dcs') @patch.object(PoolManager, 'request', Mock(return_value=MockResponse())) def test_switchover(self, mock_get_dcs):