def _initialize_subfolder(folder: Path, firmware: Firmware) -> None: for subpath in ['data', 'pdf']: makedirs(str(Path(folder, subpath)), exist_ok=True) Path(folder, 'data', 'meta.json').write_text( json.dumps(create_meta_dict(firmware), cls=ReportEncoder)) Path(folder, 'data', 'analysis.json').write_text( json.dumps(firmware.processed_analysis, cls=ReportEncoder))
def _initialize_subfolder(folder: Path, firmware: Firmware) -> None: for subpath in ['data', 'pdf']: (folder / subpath).mkdir(parents=True, exist_ok=True) (folder / 'data' / 'meta.json').write_text( json.dumps(create_meta_dict(firmware), cls=ReportEncoder)) (folder / 'data' / 'analysis.json').write_text( json.dumps(firmware.processed_analysis, cls=ReportEncoder))
def test_create_meta_dict_fw(self): fw = create_test_firmware() meta = create_meta_dict(fw) self.assertEqual(meta['device_name'], "test_router") self.assertEqual(meta['device_class'], "Router") self.assertEqual(meta['vendor'], "test_vendor") self.assertEqual(meta['version'], "0.1") self.assertEqual(meta['release_date'], '1970-01-01') self.assertEqual(meta['hid'], "test_vendor test_router - 0.1") self.assertEqual(meta['size'], 787) self.assertEqual(len(meta.keys()), 7)
def test_create_meta_dict_fo(self): fo = create_test_file_object() fo.list_of_all_included_files = [] meta = create_meta_dict(fo) self.assertEqual(meta['firmwares_including_this_file'], [ 'd558c9339cb967341d701e3184f863d3928973fccdc1d96042583730b5c7b76a_62' ]) self.assertEqual(meta['virtual_file_path'], [ 'd558c9339cb967341d701e3184f863d3928973fccdc1d96042583730b5c7b76a_62' ]) self.assertEqual(meta['number_of_files'], 0) self.assertEqual(len(meta.keys()), 5)
def test_create_meta_dict_fo(): fo = create_test_file_object() fo.parent_firmware_uids = ['parent_uid'] meta = create_meta_dict(fo) assert meta['firmwares_including_this_file'] == ['parent_uid'] assert meta['virtual_file_path'] == [ 'd558c9339cb967341d701e3184f863d3928973fccdc1d96042583730b5c7b76a_62' ] assert meta['number_of_included_files'] == 0 assert len(meta.keys()) == 7
def test_create_meta_dict_fw(): fw = create_test_firmware() meta = create_meta_dict(fw) assert meta['device_name'] == 'test_router' assert meta['device_class'] == 'Router' assert meta['vendor'] == 'test_vendor' assert meta['device_part'] == '' assert meta['version'] == '0.1' assert meta['release_date'] == '1970-01-01' assert meta['hid'] == 'test_vendor test_router v. 0.1' assert meta['size'] == 787 assert meta['number_of_included_files'] == 0 assert meta['included_files'] == [] assert meta['total_files_in_firmware'] == 'unknown' assert len(meta.keys()) == 11
def _fit_firmware(firmware): meta = create_meta_dict(firmware) analysis = firmware.processed_analysis return dict(meta_data=meta, analysis=analysis)
def _fit_file_object(file_object): meta = create_meta_dict(file_object) analysis = file_object.processed_analysis return dict(meta_data=meta, analysis=analysis)