chiark / gitweb /
fix intermittent test failure
[fdroidserver.git] / tests / common.TestCase
index 330d37a799992d43e34ecbe06c7f6b33debf7ba3..c01369f4b62b0d3ad3ea917506af98f48a146b77 100755 (executable)
@@ -140,7 +140,7 @@ class CommonTest(unittest.TestCase):
         testfiles.append(os.path.join(self.basedir, 'urzip-badsig.apk'))
         testfiles.append(os.path.join(self.basedir, 'urzip-badcert.apk'))
         for apkfile in testfiles:
-            debuggable = fdroidserver.common.isApkAndDebuggable(apkfile)
+            debuggable = fdroidserver.common.is_apk_and_debuggable(apkfile)
             self.assertTrue(debuggable,
                             "debuggable APK state was not properly parsed!")
         # these are set NOT debuggable
@@ -148,7 +148,7 @@ class CommonTest(unittest.TestCase):
         testfiles.append(os.path.join(self.basedir, 'urzip-release.apk'))
         testfiles.append(os.path.join(self.basedir, 'urzip-release-unsigned.apk'))
         for apkfile in testfiles:
-            debuggable = fdroidserver.common.isApkAndDebuggable(apkfile)
+            debuggable = fdroidserver.common.is_apk_and_debuggable(apkfile)
             self.assertFalse(debuggable,
                              "debuggable APK state was not properly parsed!")
 
@@ -541,10 +541,37 @@ class CommonTest(unittest.TestCase):
         self._set_build_tools()
         config['aapt'] = fdroidserver.common.find_sdk_tools_cmd('aapt')
 
-        appid, vercode, vername = fdroidserver.common.get_apk_id_aapt('repo/obb.main.twoversions_1101613.apk')
-        self.assertEqual('obb.main.twoversions', appid)
-        self.assertEqual('1101613', vercode)
-        self.assertEqual('0.1', vername)
+        testcases = [
+            ('repo/obb.main.twoversions_1101613.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'),
+            ('org.bitbucket.tickytacky.mirrormirror_4.apk', 'org.bitbucket.tickytacky.mirrormirror', '4', '1.0.3'),
+            ('org.dyndns.fules.ck_20.apk', 'org.dyndns.fules.ck', '20', 'v1.6pre2'),
+            ('urzip.apk', 'info.guardianproject.urzip', '100', '0.1'),
+            ('urzip-badcert.apk', 'info.guardianproject.urzip', '100', '0.1'),
+            ('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'),
+            ('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', ''),
+            ('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/obb.mainpatch.current_1619.apk', 'obb.mainpatch.current', '1619', '0.1'),
+            ('repo/obb.main.twoversions_1101613.apk', 'obb.main.twoversions', '1101613', '0.1'),
+            ('repo/obb.main.twoversions_1101615.apk', 'obb.main.twoversions', '1101615', '0.1'),
+            ('repo/obb.main.twoversions_1101617.apk', 'obb.main.twoversions', '1101617', '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)
 
         with self.assertRaises(FDroidException):
             fdroidserver.common.get_apk_id_aapt('nope')