self.assertTrue(fdroidserver.common.verify_apk_signature(signed))
self.assertEqual(18, fdroidserver.common.get_minSdkVersion_aapt(signed))
- def test_get_api_id_aapt(self):
+ def test_get_api_id(self):
config = dict()
fdroidserver.common.fill_config_defaults(config)
testcases = [
('repo/obb.main.twoversions_1101613.apk', 'obb.main.twoversions', '1101613', '0.1'),
- ('OBBMainPatchCurrent.apk', 'obb.mainpatch.current', '1619', '0.1'),
- ('OBBMainTwoVersions.apk', 'obb.main.twoversions', '1101613', '0.1'),
('org.bitbucket.tickytacky.mirrormirror_1.apk', 'org.bitbucket.tickytacky.mirrormirror', '1', '1.0'),
('org.bitbucket.tickytacky.mirrormirror_2.apk', 'org.bitbucket.tickytacky.mirrormirror', '2', '1.0.1'),
('org.bitbucket.tickytacky.mirrormirror_3.apk', 'org.bitbucket.tickytacky.mirrormirror', '3', '1.0.2'),
('urzip-badsig.apk', 'info.guardianproject.urzip', '100', '0.1'),
('urzip-release.apk', 'info.guardianproject.urzip', '100', '0.1'),
('urzip-release-unsigned.apk', 'info.guardianproject.urzip', '100', '0.1'),
- ('urzip-πÇÇπÇÇ现代汉语通用字-български-عربي1234.apk', 'info.guardianproject.urzip', '100', '0.1'),
('repo/com.politedroid_3.apk', 'com.politedroid', '3', '1.2'),
('repo/com.politedroid_4.apk', 'com.politedroid', '4', '1.3'),
('repo/com.politedroid_5.apk', 'com.politedroid', '5', '1.4'),
('repo/com.politedroid_6.apk', 'com.politedroid', '6', '1.5'),
- ('repo/duplicate.permisssions_9999999.apk', 'duplicate.permisssions', '9999999', '0.3-7-gb817ac8'),
+ ('repo/duplicate.permisssions_9999999.apk', 'duplicate.permisssions', '9999999', ''),
('repo/info.zwanenburg.caffeinetile_4.apk', 'info.zwanenburg.caffeinetile', '4', '1.3'),
('repo/obb.main.oldversion_1444412523.apk', 'obb.main.oldversion', '1444412523', '0.1'),
('repo/obb.mainpatch.current_1619_another-release-key.apk', 'obb.mainpatch.current', '1619', '0.1'),
('repo/urzip-; Рахма́нинов, [rɐxˈmanʲɪnəf] سيرجي_رخمانينوف 谢尔盖·.apk', 'info.guardianproject.urzip', '100', '0.1'),
]
for apkfilename, appid, versionCode, versionName in testcases:
- a, vc, vn = fdroidserver.common.get_apk_id_aapt(apkfilename)
- self.assertEqual(appid, a)
- self.assertEqual(versionCode, vc)
- self.assertEqual(versionName, vn)
+ print('\n\nAPKFILENAME\n', apkfilename)
+ if 'aapt' in config:
+ a, vc, vn = fdroidserver.common.get_apk_id_aapt(apkfilename)
+ self.assertEqual(appid, a)
+ self.assertEqual(versionCode, vc)
+ self.assertEqual(versionName, vn)
+ if fdroidserver.common.use_androguard():
+ a, vc, vn = fdroidserver.common.get_apk_id_androguard(apkfilename)
+ self.assertEqual(appid, a)
+ self.assertEqual(versionCode, vc)
+ self.assertEqual(versionName, vn)
with self.assertRaises(FDroidException):
- fdroidserver.common.get_apk_id_aapt('nope')
+ fdroidserver.common.get_apk_id('nope')
def test_get_minSdkVersion_aapt(self):
self.assertEqual(('1.9.8.1-ose', '197', 'at.bitfire.davdroid'),
fdroidserver.common.parse_androidmanifests(paths, app))
+ app = fdroidserver.metadata.App()
+ build = fdroidserver.metadata.Build()
+ build.gradle = ['libre']
+ app.builds = [build]
+ app.id = 'com.kunzisoft.fdroidtest.applicationidsuffix.libre'
+ paths = [
+ os.path.join(source_files_dir, 'com.kunzisoft.testcase', 'build.gradle'),
+ ]
+ for path in paths:
+ self.assertTrue(os.path.isfile(path))
+ self.assertEqual(('1.0-libre', '1', 'com.kunzisoft.fdroidtest.applicationidsuffix.libre'),
+ fdroidserver.common.parse_androidmanifests(paths, app))
+
+ app = fdroidserver.metadata.App()
+ build = fdroidserver.metadata.Build()
+ build.gradle = ['pro']
+ app.builds = [build]
+ app.id = 'com.kunzisoft.fdroidtest.applicationidsuffix.pro'
+ paths = [
+ os.path.join(source_files_dir, 'com.kunzisoft.testcase', 'build.gradle'),
+ ]
+ for path in paths:
+ self.assertTrue(os.path.isfile(path))
+ self.assertEqual(('20180430-pro', '20180430', 'com.kunzisoft.fdroidtest.applicationidsuffix.pro'),
+ fdroidserver.common.parse_androidmanifests(paths, app))
+
+ app = fdroidserver.metadata.App()
+ build = fdroidserver.metadata.Build()
+ build.gradle = ['free']
+ app.builds = [build]
+ app.id = 'com.kunzisoft.fdroidtest.applicationidsuffix'
+ paths = [
+ os.path.join(source_files_dir, 'com.kunzisoft.testcase', 'build.gradle'),
+ ]
+ for path in paths:
+ self.assertTrue(os.path.isfile(path))
+ self.assertEqual(('1.0-free', '1', 'com.kunzisoft.fdroidtest.applicationidsuffix'),
+ fdroidserver.common.parse_androidmanifests(paths, app))
+
if __name__ == "__main__":
parser = optparse.OptionParser()