@@ -304,10 +304,28 @@ def test_get_topology_returns_last_writer(mocker, mock_provider_service, mock_co
304304 mock_monitor .force_refresh_with_connection .assert_called_once ()
305305
306306
307- def test_force_monitoring_refresh (mock_provider_service , props ):
307+ def test_force_monitoring_refresh (mocker , mock_provider_service , props ):
308308 topology_utils = AuroraTopologyUtils (AuroraPgDialect (), props )
309309 provider = RdsHostListProvider (mock_provider_service , mock_provider_service , props , topology_utils )
310310
311+ mock_monitor = mocker .MagicMock ()
312+ mock_monitor .force_refresh .return_value = None
313+ mocker .patch .object (provider , '_get_or_create_monitor' , return_value = mock_monitor )
314+
311315 # force_monitoring_refresh returns empty tuple when monitor cannot refresh topology
312316 result = provider .force_monitoring_refresh (True , 5 )
313317 assert result == ()
318+
319+
320+ def test_force_monitoring_refresh_with_topology (mocker , mock_provider_service , props ):
321+ topology_utils = AuroraTopologyUtils (AuroraPgDialect (), props )
322+ provider = RdsHostListProvider (mock_provider_service , mock_provider_service , props , topology_utils )
323+
324+ expected_topology = (HostInfo ("host1.xyz.us-east-2.rds.amazonaws.com" , role = HostRole .WRITER ),)
325+ mock_monitor = mocker .MagicMock ()
326+ mock_monitor .force_refresh .return_value = expected_topology
327+ mocker .patch .object (provider , '_get_or_create_monitor' , return_value = mock_monitor )
328+
329+ result = provider .force_monitoring_refresh (True , 5 )
330+ assert result == expected_topology
331+ mock_monitor .force_refresh .assert_called_once_with (True , 5 )
0 commit comments