def _store_report(self, report): self.logger.debug('<in>') report.add('test_number', self.model.current_index()) report.add('fuzz_path', self.model.get_sequence_str()) test_info = self.model.get_test_info() data_model_report = Report(name='Data Model') for k, v in test_info.items(): new_entries = _flatten_dict_entry(k, v) for (k_, v_) in new_entries: data_model_report.add(k_, v_) report.add(data_model_report.get_name(), data_model_report) payload = self._last_payload if payload is not None: data_report = Report('payload') data_report.add('raw', payload) try: data_report.add('hex', json.dumps(str(payload)).encode('hex')) except UnicodeDecodeError: print('cant serialize payload: %', payload) data_report.add('length', len(payload)) report.add('payload', data_report) else: report.add('payload', None) self.dataman.store_report(report, self.model.current_index()) self.dataman.get_report_by_id(self.model.current_index())
def _store_report(self, report): """ Enrich fuzz report :param report: report to extend """ self.logger.debug('<in>') report.add('test_number', self.model.current_index()) report.add('fuzz_path', self.model.get_sequence_str()) test_info = self.model.get_test_info() data_model_report = Report(name='Data Model') for k, v in test_info.items(): new_entries = _flatten_dict_entry(k, v) for (k_, v_) in new_entries: data_model_report.add(k_, v_) report.add(data_model_report.get_name(), data_model_report) payload = self._last_payload if payload is not None: data_report = Report('payload') data_report.add('raw', payload) data_report.add('length', len(payload)) report.add('payload', data_report) else: report.add('payload', None) self.dataman.store_report(report, self.model.current_index())
def _store_report(self, report): self.logger.debug('<in>') report.add('test_number', self.model.current_index()) report.add('fuzz_path', self.model.get_sequence_str()) test_info = self.model.get_test_info() data_model_report = Report(name='Data Model') for k, v in test_info.items(): data_model_report.add(k, v) report.add(data_model_report.get_name(), data_model_report) payload = self._last_payload if payload is not None: data_report = Report('payload') data_report.add('raw', payload) data_report.add('hex', payload.encode('hex')) data_report.add('length', len(payload)) report.add('payload', data_report) else: report.add('payload', None) self.dataman.store_report(report, self.model.current_index()) self.dataman.get_report_by_id(self.model.current_index())
def _store_report(self, report): self.logger.debug('<in>') report.add('test_number', self.model.current_index()) report.add('fuzz_path', self.model.get_sequence_str()) test_info = self.model.get_test_info() data_model_report = Report(name='Data Model') for k, v in test_info.items(): data_model_report.add(k, v) report.add(data_model_report.get_name(), data_model_report) payload = self._last_payload if payload is not None: data_report = Report('payload') data_report.add('raw', payload) data_report.add('hex', payload.encode('hex')) data_report.add('length', len(payload)) report.add('payload', data_report) else: report.add('payload', None) self.dataman.store_report(report, self.model.current_index()) self.dataman.get_report_by_id(self.model.current_index())
def testClearKeepsName(self): report = Report(self.report_name) self.assertEqual(report.get_name(), self.report_name) report.clear() self.assertEqual(report.get_name(), self.report_name)
def testReportName(self): report = Report(self.report_name) self.assertEqual(report.get_name(), self.report_name)