def test_success(self): mock_runner = mock.MagicMock(spec_set=CommandRunner) mock_runner.run.side_effect = [ ( "\n".join([ "nagios ", "ocf", " service", "lsb ", " ocf", "stonith", "systemd", "", ]), "", 0, ), ( "\n".join([ "heartbeat", "openstack", "pacemaker", "booth ", " pacemaker", "", ]), "", 0, ), ] self.assertEqual( ra_list.list_resource_agents_standards_and_providers(mock_runner), [ StandardProviderTuple("lsb"), StandardProviderTuple("nagios"), StandardProviderTuple("ocf", "booth"), StandardProviderTuple("ocf", "heartbeat"), StandardProviderTuple("ocf", "openstack"), StandardProviderTuple("ocf", "pacemaker"), StandardProviderTuple("service"), StandardProviderTuple("stonith"), StandardProviderTuple("systemd"), ], ) self.assertEqual(2, len(mock_runner.run.mock_calls)) mock_runner.run.assert_has_calls([ mock.call([settings.crm_resource_binary, "--list-standards"]), mock.call([ settings.crm_resource_binary, "--list-ocf-providers", ]), ])
def test_success_standard_provider(self): self.mock_runner.run.return_value = ( "\n".join([ "ping", "SystemHealth", "SysInfo", "HealthCPU", "Dummy", "", ]), "", 0, ) self.assertEqual( ra_list.list_resource_agents( self.mock_runner, StandardProviderTuple("ocf", "pacemaker")), [ "Dummy", "HealthCPU", "ping", "SysInfo", "SystemHealth", ], ) self.assert_runner("ocf:pacemaker")
def test_success_standard(self): self.mock_runner.run.return_value = ( "\n".join([ "docker", "Dummy", "dhcpd", "Dummy", "ethmonitor", "", ]), "", 0, ) self.assertEqual( ra_list.list_resource_agents(self.mock_runner, StandardProviderTuple("ocf")), [ "dhcpd", "docker", "Dummy", "ethmonitor", ], ) self.assert_runner("ocf")
def test_bad_standard(self): self.mock_runner.run.return_value = ( "", "No agents found for standard=nonsense, provider=*", 1, ) self.assertEqual( ra_list.list_resource_agents(self.mock_runner, StandardProviderTuple("nonsense")), [], ) self.assert_runner("nonsense")
def test_filter_hidden_agents(self): self.mock_runner.run.return_value = ( "\n".join([ "fence_na", "fence_wti", "fence_scsi", "fence_vmware_helper", "fence_nss_wrapper", "fence_node", "fence_vmware_soap", "fence_virt", "fence_pcmk", "fence_sanlockd", "fence_xvm", "fence_ack_manual", "fence_legacy", "fence_check", "fence_tool", "fence_kdump_send", "fence_virtd", "", ]), "", 0, ) self.assertEqual( ra_list.list_resource_agents(self.mock_runner, StandardProviderTuple("stonith")), [ "fence_scsi", "fence_virt", "fence_vmware_soap", "fence_wti", "fence_xvm", ], ) self.assert_runner("stonith")