Exemplo n.º 1
0
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"])
Exemplo n.º 2
0
    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"])
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
    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)
Exemplo n.º 5
0
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"])
Exemplo n.º 6
0
    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"])
Exemplo n.º 7
0
 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)
Exemplo n.º 8
0
 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)