def test_generate_manifest(self): r = ManifestGenerator(self.firmwares_data_a) _json = json.loads(r.generate_manifest()) # Test for presence of attributes in document self.assertIn('manifest', _json) manifest = _json['manifest'] self.assertIn('application', manifest) application = manifest['application'] self.assertIn('dat_file', application) self.assertIn('bin_file', application) # Test for values in document self.assertEqual("app_fw.bin", application['bin_file']) self.assertEqual("app_fw.dat", application['dat_file']) # Test softdevice_bootloader bl_sd = manifest['softdevice_bootloader'] self.assertIsNotNone(bl_sd) self.assertEqual(90, bl_sd['info_read_only_metadata']['sd_size']) self.assertEqual(50, bl_sd['info_read_only_metadata']['bl_size']) # Test for values in document self.assertEqual("sd_bl_fw.bin", bl_sd['bin_file']) self.assertEqual("sd_bl_fw.dat", bl_sd['dat_file'])
def test_manifest_c(self): r = ManifestGenerator(self.firmwares_data_c) m = Manifest.from_json(r.generate_manifest()) self.assertIsNotNone(m) self.assertIsNone(m.application) self.assertIsNone(m.bootloader) self.assertIsNotNone(m.softdevice) self.assertEqual('softdevice_fw.bin', m.softdevice.bin_file) self.assertEqual('softdevice_fw.dat', m.softdevice.dat_file) self.assertIsNone(m.softdevice_bootloader)
def test_manifest_b(self): r = ManifestGenerator(self.firmwares_data_b) m = Manifest.from_json(r.generate_manifest()) self.assertIsNotNone(m) self.assertIsNotNone(m.application) self.assertEqual("app_fw.bin", m.application.bin_file) self.assertEqual("app_fw.dat", m.application.dat_file) self.assertIsNotNone(m.bootloader) self.assertEqual("bootloader_fw.bin", m.bootloader.bin_file) self.assertEqual("bootloader_fw.dat", m.bootloader.dat_file) self.assertIsNone(m.softdevice) self.assertIsNone(m.softdevice_bootloader)
def test_manifest_a(self): r = ManifestGenerator(0.5, self.firmwares_data_a) m = Manifest.from_json(r.generate_manifest()) self.assertIsNotNone(m) self.assertIsNotNone(m.application) self.assertEqual("app_fw.bin", m.application.bin_file) self.assertEqual("app_fw.dat", m.application.dat_file) self.assertIsNone(m.bootloader) self.assertIsNone(m.softdevice) self.assertIsNotNone(m.softdevice_bootloader) self.assertEqual(90, m.softdevice_bootloader.sd_size) self.assertEqual(50, m.softdevice_bootloader.bl_size) self.assertEqual("sd_bl_fw.bin", m.softdevice_bootloader.bin_file) self.assertEqual("sd_bl_fw.dat", m.softdevice_bootloader.dat_file)
def test_generate_manifest(self): r = ManifestGenerator(0.5, self.firmwares_data_a) _json = json.loads(r.generate_manifest()) # Test for presence of attributes in document self.assertIn('manifest', _json) manifest = _json['manifest'] self.assertIn('application', manifest) application = manifest['application'] self.assertIn('init_packet_data', application) self.assertIn('dat_file', application) self.assertIn('bin_file', application) init_packet_data = application['init_packet_data'] self.assertIn('firmware_hash', init_packet_data) self.assertIn('softdevice_req', init_packet_data) self.assertIn('device_revision', init_packet_data) self.assertIn('device_type', init_packet_data) self.assertIn('application_version', init_packet_data) # Test for values in document self.assertEqual("app_fw.bin", application['bin_file']) self.assertEqual("app_fw.dat", application['dat_file']) self.assertEqual(2, init_packet_data['ext_packet_id']) self.assertEqual(1234, init_packet_data['firmware_length']) self.assertEqual('c9d3bf69f21e88a0311e0dd242536112f842579bef265a24bd0255fd443f759e', init_packet_data['firmware_hash']) self.assertEqual('31d742381239aac3e68be201d131170100ae1e04f97e71cdbf7622da6ec06632d439dcc7f8ae1656561790a396ad7850610b73febd695db2958199e4b0cfe9da', init_packet_data['init_packet_ecds']) self.assertEqual(1000, init_packet_data['application_version']) self.assertEqual(1, init_packet_data['device_type']) self.assertEqual(2, init_packet_data['device_revision']) self.assertEqual([22, 11], init_packet_data['softdevice_req']) # Test softdevice_bootloader bl_sd = manifest['softdevice_bootloader'] self.assertIsNotNone(bl_sd) self.assertEqual(90, bl_sd['sd_size']) self.assertEqual(50, bl_sd['bl_size']) # Test for values in document self.assertEqual("sd_bl_fw.bin", bl_sd['bin_file']) self.assertEqual("sd_bl_fw.dat", bl_sd['dat_file'])
def create_manifest(self): manifest = ManifestGenerator(self.firmwares_data) return manifest.generate_manifest()
def create_manifest(self): manifest = ManifestGenerator(self.dfu_ver, self.firmwares_data) return manifest.generate_manifest()