def test_success(self): output = "out" device = "device" self.mock_runner.run.return_value = output, "", 0 self.assertEqual( output, lib_sbd.get_device_messages_info(self.mock_runner, device)) self.mock_runner.run.assert_called_once_with( [settings.sbd_binary, "-d", device, "list"])
def test_success(self): output = "out" device = "device" self.mock_runner.run.return_value = output, "", 0 self.assertEqual( output, lib_sbd.get_device_messages_info(self.mock_runner, device) ) self.mock_runner.run.assert_called_once_with( [settings.sbd_binary, "-d", device, "list"] )
def test_failed(self): output = "out" device = "device" self.mock_runner.run.return_value = output, "", 1 assert_raise_library_error( lambda: lib_sbd.get_device_messages_info(self.mock_runner, device), (Severities.ERROR, report_codes.SBD_DEVICE_LIST_ERROR, { "device": device, "reason": output, })) self.mock_runner.run.assert_called_once_with( [settings.sbd_binary, "-d", device, "list"])
def test_failed(self): output = "out" device = "device" self.mock_runner.run.return_value = output, "", 1 assert_raise_library_error( lambda: lib_sbd.get_device_messages_info(self.mock_runner, device), ( Severities.ERROR, report_codes.SBD_DEVICE_LIST_ERROR, { "device": device, "reason": output, } ) ) self.mock_runner.run.assert_called_once_with( [settings.sbd_binary, "-d", device, "list"] )
def get_local_devices_info(lib_env, dump=False): """ Returns list of local devices info in format: { "device": <device_path>, "list": <output of 'sbd list' command>, "dump": <output of 'sbd dump' command> if dump is True, None otherwise } If sbd is not enabled, empty list will be returned. lib_env -- LibraryEnvironment dump -- if True returns also output of command 'sbd dump' """ if not sbd.is_sbd_enabled(lib_env.service_manager): return [] device_list = sbd.get_local_sbd_device_list() report_item_list = [] output = [] for device in device_list: obj = { "device": device, "list": None, "dump": None, } try: obj["list"] = sbd.get_device_messages_info( lib_env.cmd_runner(), device ) if dump: obj["dump"] = sbd.get_device_sbd_header_dump( lib_env.cmd_runner(), device ) except LibraryError as e: report_item_list += e.args output.append(obj) for report_item in report_item_list: report_item.severity = reports.item.ReportItemSeverity.warning() if lib_env.report_processor.report_list(report_item_list).has_errors: raise LibraryError() return output
def get_local_devices_info(lib_env, dump=False): """ Returns list of local devices info in format: { "device": <device_path>, "list": <output of 'sbd list' command>, "dump": <output of 'sbd dump' command> if dump is True, None otherwise } If sbd is not enabled, empty list will be returned. lib_env -- LibraryEnvironment dump -- if True returns also output of command 'sbd dump' """ if not sbd.is_sbd_enabled(lib_env.cmd_runner()): return [] device_list = sbd.get_local_sbd_device_list() report_item_list = [] output = [] for device in device_list: obj = { "device": device, "list": None, "dump": None, } try: obj["list"] = sbd.get_device_messages_info( lib_env.cmd_runner(), device ) if dump: obj["dump"] = sbd.get_device_sbd_header_dump( lib_env.cmd_runner(), device ) except LibraryError as e: report_item_list += e.args output.append(obj) for report_item in report_item_list: report_item.severity = Severities.WARNING lib_env.report_processor.process_list(report_item_list) return output