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" ), )
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"))
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"))