示例#1
0
    def test_several(self):
        """
        Verify that log functions work consistently in series.

        Given: FuzzLoggerCsv with a virtual file handle.
        When: Calling open_test_case with some test_case_id.
         and: Calling open_test_step with some description.
         and: Calling log_recv with some data.
         and: Calling log_send with some data.
         and: Calling log_info with some description.
         and: Calling log_check with some description.
         and: Calling log_fail with some description.
         and: Calling log_pass with some description.
         and: Calling log_error with some description.
        Then: All methods log as expected.
        """
        # When
        self.logger.open_test_case(self.some_test_case_id,
                                   name=self.some_test_case_name,
                                   index=self.some_test_case_index)
        self.logger.open_test_step(self.some_test_step_msg)
        self.logger.log_recv(self.some_recv_data)
        self.logger.log_send(self.some_send_data)
        self.logger.log_info(self.some_log_info_msg)
        self.logger.log_check(self.some_log_check_msg)
        self.logger.log_fail(self.some_log_fail_msg)
        self.logger.log_pass(self.some_log_pass_msg)
        self.logger.log_error(self.some_log_error_msg)

        # Then
        self.virtual_file.seek(0)
        six.assertRegex(self, self.virtual_file.readline(),
                        LOGGER_PREAMBLE + re.escape(
                            "open test case,,,Test case " + self.some_test_case_id + "\r\n"))
        six.assertRegex(self, self.virtual_file.readline(),
                        LOGGER_PREAMBLE + re.escape("open step,,," + self.some_test_step_msg + "\r\n"))
        six.assertRegex(self, self.virtual_file.readline(),
                        LOGGER_PREAMBLE + re.escape(
                            "recv," + str(len(self.some_recv_data)) + "," + fuzz_logger_csv.DEFAULT_HEX_TO_STR(
                                self.some_recv_data) + "," + self.some_recv_data.decode() + "\r\n"))
        six.assertRegex(self, self.virtual_file.readline(),
                        LOGGER_PREAMBLE + re.escape(
                            "send," + str(len(self.some_send_data)) + "," + fuzz_logger_csv.DEFAULT_HEX_TO_STR(
                                self.some_send_data) + "," + self.some_send_data.decode() + "\r\n"))
        six.assertRegex(self, self.virtual_file.readline(),
                        LOGGER_PREAMBLE + re.escape("info,,," + self.some_log_info_msg + "\r\n"))
        six.assertRegex(self, self.virtual_file.readline(),
                        LOGGER_PREAMBLE + re.escape("check,,," + self.some_log_check_msg + "\r\n"))
        six.assertRegex(self, self.virtual_file.readline(),
                        LOGGER_PREAMBLE + re.escape("fail,,," + self.some_log_fail_msg + "\r\n"))
        six.assertRegex(self, self.virtual_file.readline(),
                        LOGGER_PREAMBLE + re.escape("pass,,," + self.some_log_pass_msg + "\r\n"))
        six.assertRegex(self, self.virtual_file.readline(),
                        LOGGER_PREAMBLE + re.escape("error,,," + self.some_log_error_msg + "\r\n"))
    def test_log_send_empty(self):
        """
        Given: FuzzLoggerCsv with a virtual file handle.
        When: Calling open_test_case with some test_case_id.
         and: Calling log_send with an empty buffer.
        Then: log_send logs with zero-length data.
        """
        # When
        self.logger.open_test_case(
            self.some_test_case_id, name=self.some_test_case_name, index=self.some_test_case_index
        )
        self.logger.log_send(b"")

        # Then
        self.virtual_file.seek(0)
        six.assertRegex(
            self,
            self.virtual_file.readline(),
            LOGGER_PREAMBLE + re.escape("open test case,,,Test case " + self.some_test_case_id + "\r\n"),
        )
        six.assertRegex(
            self,
            self.virtual_file.readline(),
            LOGGER_PREAMBLE + re.escape("send,0," + fuzz_logger_csv.DEFAULT_HEX_TO_STR(bytes(b"")) + ",\r\n"),
        )
    def test_log_send(self):
        """
        Given: FuzzLoggerCsv with a virtual file handle.
        When: Calling open_test_case with some test_case_id.
         and: Calling log_send with some data.
        Then: open_test_case logs as expected.
         and: log_send logs as expected.
        """
        # When
        self.logger.open_test_case(
            self.some_test_case_id, name=self.some_test_case_name, index=self.some_test_case_index
        )
        self.logger.log_send(self.some_send_data)

        # Then
        self.virtual_file.seek(0)
        six.assertRegex(
            self,
            self.virtual_file.readline(),
            LOGGER_PREAMBLE + re.escape("open test case,,,Test case " + self.some_test_case_id + "\r\n"),
        )
        six.assertRegex(
            self,
            self.virtual_file.readline(),
            LOGGER_PREAMBLE
            + re.escape(
                "send,"
                + str(len(self.some_send_data))
                + ","
                + fuzz_logger_csv.DEFAULT_HEX_TO_STR(self.some_send_data)
                + ","
                + self.some_send_data.decode()
                + "\r\n"
            ),
        )
示例#4
0
    def test_log_recv_empty(self):
        """
        Given: FuzzLoggerCsv with a virtual file handle.
        When: Calling open_test_case with some test_case_id.
         and: Calling log_recv with an empty buffer.
        Then: log_recv logs with zero-length data.
        """
        # When
        self.logger.open_test_case(self.some_test_case_id)
        self.logger.log_recv(bytes(''))

        # Then
        self.virtual_file.seek(0)
        self.assertRegexpMatches(
            self.virtual_file.readline(),
            LOGGER_PREAMBLE + re.escape("open test case,,,Test case " +
                                        self.some_test_case_id + "\r\n"))
        self.assertRegexpMatches(
            self.virtual_file.readline(), LOGGER_PREAMBLE +
            re.escape("recv,0," +
                      fuzz_logger_csv.DEFAULT_HEX_TO_STR(bytes('')) + ",\r\n"))
示例#5
0
    def test_log_recv(self):
        """
        Given: FuzzLoggerCsv with a virtual file handle.
        When: Calling open_test_case with some test_case_id.
         and: Calling log_recv with some data.
        Then: open_test_case logs as expected.
         and: log_recv logs as expected.
        """
        # When
        self.logger.open_test_case(self.some_test_case_id)
        self.logger.log_recv(self.some_recv_data)

        # Then
        self.virtual_file.seek(0)
        self.assertRegexpMatches(
            self.virtual_file.readline(),
            LOGGER_PREAMBLE + re.escape("open test case,,,Test case " +
                                        self.some_test_case_id + "\r\n"))
        self.assertRegexpMatches(
            self.virtual_file.readline(), LOGGER_PREAMBLE +
            re.escape("recv," + str(len(self.some_recv_data)) + "," +
                      fuzz_logger_csv.DEFAULT_HEX_TO_STR(self.some_recv_data) +
                      "," + self.some_recv_data + "\r\n"))