def test_success_filter_whitespace(self): mock_runner = mock.MagicMock(spec_set=CommandRunner) agents = [ "", "ocf", " lsb", "service ", "systemd", " nagios ", "", "stonith", "", ] # retval is number of providers found mock_runner.run.return_value = ( "\n".join(agents) + "\n", "", len(agents) ) self.assertEqual( lib_ra.list_resource_agents_standards(mock_runner), [ "lsb", "nagios", "ocf", "service", "systemd", ] ) mock_runner.run.assert_called_once_with([ "/usr/sbin/crm_resource", "--list-standards" ])
def list_standards(lib_env: LibraryEnvironment) -> List[str]: """ List resource agents standards (ocf, lsb, ... ) on the local host """ return [ standard for standard in list_resource_agents_standards(lib_env.cmd_runner()) if standard != "stonith" ]
def test_error(self): mock_runner = mock.MagicMock(spec_set=CommandRunner) mock_runner.run.return_value = ("lsb", "error", 1) self.assertEqual(lib_ra.list_resource_agents_standards(mock_runner), ["lsb"]) mock_runner.run.assert_called_once_with( ["/usr/sbin/crm_resource", "--list-standards"])
def test_empty(self): mock_runner = mock.MagicMock(spec_set=CommandRunner) mock_runner.run.return_value = ("", "", 0) self.assertEqual( lib_ra.list_resource_agents_standards(mock_runner), [] ) mock_runner.run.assert_called_once_with([ "/usr/sbin/crm_resource", "--list-standards" ])
def list_agents_for_standard_and_provider(lib_env, standard_provider=None): """ List resource agents for specified standard on the local host string standard_provider standard[:provider], e.g. None, ocf, ocf:pacemaker """ if standard_provider: standards = [standard_provider] else: standards = resource_agent.list_resource_agents_standards(lib_env.cmd_runner()) agents = [] for std in standards: agents += resource_agent.list_resource_agents(lib_env.cmd_runner(), std) return sorted( agents, # works with both str and unicode in both python 2 and 3 key=lambda x: x.lower(), )
def list_agents_for_standard_and_provider(lib_env, standard_provider=None): """ List resource agents for specified standard on the local host string standard_provider standard[:provider], e.g. None, ocf, ocf:pacemaker """ if standard_provider: standards = [standard_provider] else: standards = resource_agent.list_resource_agents_standards( lib_env.cmd_runner()) agents = [] for std in standards: agents += resource_agent.list_resource_agents(lib_env.cmd_runner(), std) return sorted( agents, # works with both str and unicode in both python 2 and 3 key=lambda x: x.lower())
def test_success_and_filter_stonith_out(self): mock_runner = mock.MagicMock(spec_set=CommandRunner) mock_runner.run.return_value = ("\n".join([ "ocf", "lsb", "service", "systemd", "nagios", "stonith", "", ]), "", 0) self.assertEqual(lib_ra.list_resource_agents_standards(mock_runner), [ "lsb", "nagios", "ocf", "service", "systemd", ]) mock_runner.run.assert_called_once_with( ["/usr/sbin/crm_resource", "--list-standards"])
def list_standards(lib_env): """ List resource agents standards (ocf, lsb, ... ) on the local host """ return resource_agent.list_resource_agents_standards(lib_env.cmd_runner())