pysig = fdroidserver.update.getsig(apkfile)
self.assertIsNone(pysig, "python sig should be None: " + str(sig))
- def testScanApks(self):
+ def testScanApksAndObbs(self):
os.chdir(os.path.dirname(__file__))
if os.path.basename(os.getcwd()) != 'tests':
raise Exception('This test must be run in the "tests/" subdir')
fdroidserver.update.options = type('', (), {})()
fdroidserver.update.options.clean = True
+ fdroidserver.update.options.delete_unknown = True
- alltestapps = fdroidserver.metadata.read_metadata(xref=True)
- apps = dict()
- apps['info.guardianproject.urzip'] = alltestapps['info.guardianproject.urzip']
+ apps = fdroidserver.metadata.read_metadata(xref=True)
knownapks = fdroidserver.common.KnownApks()
apks, cachechanged = fdroidserver.update.scan_apks(apps, {}, 'repo', knownapks, False)
- self.assertEqual(len(apks), 1)
+ self.assertEqual(len(apks), 6)
apk = apks[0]
self.assertEqual(apk['minSdkVersion'], '4')
self.assertEqual(apk['targetSdkVersion'], '18')
self.assertFalse('maxSdkVersion' in apk)
+ fdroidserver.update.insert_obbs('repo', apps, apks)
+ for apk in apks:
+ if apk['id'] == 'obb.mainpatch.current':
+ self.assertEqual(apk.get('obbMainFile'), 'main.1619.obb.mainpatch.current.obb')
+ self.assertEqual(apk.get('obbPatchFile'), 'patch.1619.obb.mainpatch.current.obb')
+ elif apk['id'] == 'obb.main.oldversion':
+ self.assertEqual(apk.get('obbMainFile'), 'main.1434483388.obb.main.oldversion.obb')
+ self.assertIsNone(apk.get('obbPatchFile'))
+ elif apk['id'] == 'obb.main.twoversions':
+ self.assertIsNone(apk.get('obbPatchFile'))
+ if apk['versioncode'] == 1101613:
+ self.assertEqual(apk.get('obbMainFile'), 'main.1101613.obb.main.twoversions.obb')
+ elif apk['versioncode'] == 1101615:
+ self.assertEqual(apk.get('obbMainFile'), 'main.1101615.obb.main.twoversions.obb')
+ elif apk['versioncode'] == 1101617:
+ self.assertEqual(apk.get('obbMainFile'), 'main.1101615.obb.main.twoversions.obb')
+ else:
+ self.assertTrue(False)
+ elif apk['id'] == 'info.guardianproject.urzip':
+ self.assertIsNone(apk.get('obbMainFile'))
+ self.assertIsNone(apk.get('obbPatchFile'))
+
if __name__ == "__main__":
parser = optparse.OptionParser()