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))
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())
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('')))))
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))))
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())
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(''))))
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)))