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

        Given: FuzzLoggerText 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)
        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)
        self.assertRegexpMatches(
            self.virtual_file.readline(),
            TEST_CASE_FORMAT.format(self.some_test_case_id))
        self.assertRegexpMatches(
            self.virtual_file.readline(),
            TEST_STEP_FORMAT.format(self.some_test_step_msg))
        self.assertRegexpMatches(
            self.virtual_file.readline(),
            LOG_RECV_FORMAT.format(
                fuzz_logger_text.DEFAULT_HEX_TO_STR(self.some_recv_data)))
        self.assertRegexpMatches(
            self.virtual_file.readline(),
            LOG_SEND_FORMAT.format(
                len(self.some_send_data),
                fuzz_logger_text.DEFAULT_HEX_TO_STR(self.some_send_data)))
        self.assertRegexpMatches(
            self.virtual_file.readline(),
            LOG_INFO_FORMAT.format(self.some_log_info_msg))
        self.assertRegexpMatches(
            self.virtual_file.readline(),
            LOG_CHECK_FORMAT.format(self.some_log_check_msg))
        self.assertRegexpMatches(
            self.virtual_file.readline(),
            LOG_FAIL_FORMAT.format(self.some_log_fail_msg))
        self.assertRegexpMatches(
            self.virtual_file.readline(),
            LOG_PASS_FORMAT.format(self.some_log_pass_msg))
        self.assertRegexpMatches(
            self.virtual_file.readline(),
            LOG_ERROR_FORMAT.format(self.some_log_error_msg))
コード例 #2
0
    def test_log_recv(self):
        """
        Given: FuzzLoggerText 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.some_test_case_name, self.some_test_case_index)
        self.logger.log_recv(self.some_recv_data)

        # Then
        self.virtual_file.seek(0)
        self.assertTrue(self.some_test_case_id in self.virtual_file.readline())
        self.assertTrue(fuzz_logger_text.DEFAULT_HEX_TO_STR(self.some_recv_data) in self.virtual_file.readline())
コード例 #3
0
    def test_log_send_empty(self):
        """
        Given: FuzzLoggerText 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)
        self.logger.log_send(bytes(''))

        # Then
        self.virtual_file.seek(0)
        self.assertRegexpMatches(self.virtual_file.readline(),
                                 LOGGER_PREAMBLE + re.escape(TEST_CASE_FORMAT.format(self.some_test_case_id)))
        self.assertRegexpMatches(self.virtual_file.readline(),
                                 LOGGER_PREAMBLE + re.escape(LOG_SEND_FORMAT.format(len(bytes('')),
                                                             fuzz_logger_text.DEFAULT_HEX_TO_STR(bytes('')))))
コード例 #4
0
    def test_log_recv(self):
        """
        Given: FuzzLoggerText 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(TEST_CASE_FORMAT.format(self.some_test_case_id)))
        self.assertRegexpMatches(self.virtual_file.readline(),
                                 LOGGER_PREAMBLE + re.escape(
                                     LOG_RECV_FORMAT.format(fuzz_logger_text.DEFAULT_HEX_TO_STR(self.some_recv_data))))
コード例 #5
0
    def test_log_recv_empty(self):
        """
        Given: FuzzLoggerText 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.some_test_case_name,
                                   self.some_test_case_index)
        self.logger.log_recv(bytes('', 'ascii'))

        # Then
        self.virtual_file.seek(0)
        self.assertTrue(self.some_test_case_id in self.virtual_file.readline())
        self.assertTrue(
            fuzz_logger_text.DEFAULT_HEX_TO_STR(bytes('', 'ascii')) in
            self.virtual_file.readline())
コード例 #6
0
    def test_log_recv_empty(self):
        """
        Given: FuzzLoggerText 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(),
            TEST_CASE_FORMAT.format(self.some_test_case_id))
        self.assertRegexpMatches(
            self.virtual_file.readline(),
            LOG_RECV_FORMAT.format(
                fuzz_logger_text.DEFAULT_HEX_TO_STR(bytes(''))))
コード例 #7
0
    def test_log_send(self):
        """
        Given: FuzzLoggerText 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)
        self.logger.log_send(self.some_send_data)

        # Then
        self.virtual_file.seek(0)
        self.assertRegexpMatches(
            self.virtual_file.readline(),
            TEST_CASE_FORMAT.format(self.some_test_case_id))
        self.assertRegexpMatches(
            self.virtual_file.readline(),
            LOG_SEND_FORMAT.format(
                len(self.some_send_data),
                fuzz_logger_text.DEFAULT_HEX_TO_STR(self.some_send_data)))