class FilePrinterTest(unittest.TestCase): def setUp(self): handle, self.filename = tempfile.mkstemp() os.close(handle) # We don't need the handle provided by mkstemp self.uut = FilePrinter(self.filename) def tearDown(self): self.uut.close() os.remove(self.filename) def test_construction(self): self.assertRaises(TypeError, FilePrinter, 5) def test_printing(self): self.uut.print("Test value") self.uut.close() self.uut = FilePrinter(self.filename) self.uut.print("Test value2") self.uut.close() with open(self.filename) as file: lines = file.readlines() self.assertEqual(lines, ["Test value\n", "Test value2\n"])
def test_printing(self): self.uut.print("Test value") del self.uut self.uut = FilePrinter(self.filename) self.uut.print("Test value2") del self.uut with open(self.filename) as file: lines = file.readlines() self.assertEqual(lines, ["Test value\n", "Test value2\n"])
def retrieve_logging_objects(self): """ Creates an appropriate log printer and interactor according to the settings. """ log_type = str(self.get("log_type", "console")).lower() log_level = LOG_LEVEL.from_str(str(self.get("log_level", "none"))) if log_type == "console": self.log_printer = ConsolePrinter(log_level=log_level) else: try: # ConsolePrinter is the only printer which may not throw an exception (if we have no bugs though) # so well fallback to him if some other printer fails if log_type == "none": self.log_printer = NullPrinter() else: self.log_printer = FilePrinter(filename=log_type, log_level=log_level) except: self.log_printer = ConsolePrinter(log_level=log_level) self.log_printer.log( LOG_LEVEL.WARNING, _("Failed to instantiate the logging method '{}'. Falling back " "to console output.").format(log_type)) # We currently only offer console interactor, so we'll ignore the output setting for now self.interactor = ConsoleInteractor.from_section( self, log_printer=self.log_printer)
def retrieve_logging_objects(self): """ Creates an appropriate log printer and interactor according to the settings. """ log_type = str(self.get("log_type", "console")).lower() output_type = str(self.get("output", "console")).lower() str_log_level = str(self.get("log_level", "")).upper() log_level = LOG_LEVEL.str_dict.get(str_log_level, LOG_LEVEL.WARNING) if log_type == "console": self.log_printer = ConsolePrinter(log_level=log_level) else: try: # ConsolePrinter is the only printer which may not throw an # exception (if we have no bugs though) so well fallback to him # if some other printer fails if log_type == "none": self.log_printer = NullPrinter() else: self.log_printer = FilePrinter(filename=log_type, log_level=log_level) except: self.log_printer = ConsolePrinter(log_level=log_level) self.log_printer.log( LOG_LEVEL.WARNING, _("Failed to instantiate the logging method '{}'. Falling " "back to console output.").format(log_type)) if output_type == "none": self.interactor = NullInteractor(log_printer=self.log_printer) else: self.interactor = ConsoleInteractor.from_section( self, log_printer=self.log_printer)
class FilePrinterTestCase(unittest.TestCase): def setUp(self): handle, self.filename = tempfile.mkstemp() os.close(handle) # We don't need the handle provided by mkstemp self.uut = FilePrinter(self.filename) def test_construction(self): self.assertRaises(TypeError, FilePrinter, 5) def test_printing(self): self.uut.print("Test value") del self.uut self.uut = FilePrinter(self.filename) self.uut.print("Test value2") del self.uut with open(self.filename) as file: lines = file.readlines() self.assertEqual(lines, ["Test value\n", "Test value2\n"])
def setUp(self): handle, self.filename = tempfile.mkstemp() os.close(handle) # We don't need the handle provided by mkstemp self.uut = FilePrinter(self.filename)