Esempio n. 1
0
 def test_app_not_in_google(self, mock_unknown, mock_certified):
     mock_certified.return_value = False
     mock_unknown.return_value = True
     response: dict = certify_md5(apps.NOT_IN_GOOGLE.md5)
     self.assertEqual(response["status"], settings.SCAN_STATUS_COMPLETED)
     self.assertEqual(response["certified"], False)
     self.assertEqual(response["reason"], "App not in Google Play or Paid")
Esempio n. 2
0
 def test_mature_md5(self, mock_certified, mock_unknown):
     mock_certified.return_value = True
     mock_unknown.return_value = True
     # test:
     response: dict = certify_md5(apps.MATURE.md5)
     self.assertEqual(response["status"], settings.SCAN_STATUS_COMPLETED)
     self.assertEqual(response["certified"], False)
     self.assertIn("App is Mature", response["reason"])
Esempio n. 3
0
 def test_paid_md5(self, mock_unknown, mock_certified):
     mock_certified.return_value = False
     mock_unknown.return_value = True
     # test:
     response: dict = certify_md5(apps.PAID.md5)
     self.assertEqual(response["status"], settings.SCAN_STATUS_COMPLETED)
     self.assertEqual(response["certified"], False)
     self.assertEqual(response["rank_changed_to_trusted"], False)
     self.assertIn("App not in Google Play or Paid", response["reason"])
Esempio n. 4
0
 def test_signature_already_certified(self, mock_unknown, mock_trust,
                                      mock_approve):
     mock_unknown.return_value = True
     mock_trust.return_value = True
     mock_approve.return_value = True
     response: dict = certify_md5(apps.ALREADY_CERTIFIED.md5)
     self.assertEqual(response["status"], settings.SCAN_STATUS_COMPLETED)
     self.assertEqual(response["rank_changed_to_trusted"], True)
     self.assertEqual(response["certified"], False)
     self.assertEqual(response["reason"], "Signature already validated;")
Esempio n. 5
0
 def test_apk_with_missing_information(self, in_google_and_not_paid,
                                       unknown, certified):
     certified.return_value = False
     unknown.return_value = True
     in_google_and_not_paid.return_value = False, None
     # test:
     response: dict = certify_md5(apps.APK_WITH_MISSING_DATA.md5)
     self.assertEqual(response["status"], settings.SCAN_STATUS_COMPLETED)
     self.assertEqual(response["certified"], False)
     self.assertEqual(response["reason"], "App not in Google Play or Paid")
Esempio n. 6
0
 def test_google(self, mock_certify, mock_trust, mock_approve, mock_unknown,
                 mock_certified):
     mock_certified.return_value = False
     mock_unknown.return_value = True
     mock_trust.return_value = True
     mock_approve.return_value = True
     mock_certify.return_value = True
     # test:
     response: dict = certify_md5(apps.ALREADY_CERTIFIED.md5)
     self.assertEqual(response["status"], settings.SCAN_STATUS_COMPLETED)
     self.assertEqual(response["certified"], True)
Esempio n. 7
0
 def test_md5_with_few_downloads(self, mock_in_google, mock_unknown,
                                 mock_certified):
     mock_certified.return_value = False
     mock_unknown.return_value = True
     mock_in_google.return_value = True, 10
     # test:
     response: dict = certify_md5(apps.UNIVERSAL_APK.md5)
     self.assertEqual(response["status"], settings.SCAN_STATUS_COMPLETED)
     self.assertEqual(response["certified"], False)
     self.assertIn("Number of downloads bellow Google Play Cap",
                   response["reason"])
Esempio n. 8
0
 def test_universal_apk(self, mock_certify, mock_trust, mock_approve,
                        mock_google_signature, mock_in_google, mock_unknown,
                        mock_certified):
     mock_certified.return_value = False
     mock_unknown.return_value = True
     mock_in_google.return_value = True, 10000
     mock_google_signature.return_value = apps.UNIVERSAL_APK.dev_signature
     mock_trust.return_value = True
     mock_approve.return_value = True
     mock_certify.return_value = True
     # test:
     response: dict = certify_md5(apps.UNIVERSAL_APK.md5)
     self.assertEqual(response["status"], settings.SCAN_STATUS_COMPLETED)
     self.assertEqual(response["certified"], True)
Esempio n. 9
0
    def test_md5_not_found_in_aptoide(self):
        md5 = apps.NOT_IN_APTOIDE.md5

        def set_up():
            path = ''
            for path_part in [settings.APK_ROOT_MOUNT_POINT, md5[0], md5[1]]:
                path = os.path.join(path, path_part)
                if not os.path.isdir(path):
                    os.mkdir(path)
            file = open(os.path.join(path, md5 + '.apk'), "w+")
            file.close()

        def tear_down():
            apk = os.path.join(settings.APK_ROOT_MOUNT_POINT, md5[0], md5[1],
                               md5 + '.apk')
            os.remove(apk)

        set_up()
        response: dict = certify_md5(md5)
        self.assertEqual(response["status"], settings.SCAN_STATUS_FAILED)
        tear_down()
Esempio n. 10
0
 def test_signature_not_unknown(self):
     response: dict = certify_md5(apps.GREY_SIGNATURE.md5)
     self.assertEqual(response["status"], settings.SCAN_STATUS_SKIPPED)
     self.assertIn("Signature status is", response["reason"])
Esempio n. 11
0
 def test_apk_is_split(self):
     response: dict = certify_md5(apps.SPLIT_APK.md5)
     self.assertEqual(response["status"], settings.SCAN_STATUS_SKIPPED)
     self.assertEqual(response["reason"], "App Split")
Esempio n. 12
0
 def test_apk_not_found(self):
     response: dict = certify_md5(apps.UNEXISTING.md5)
     self.assertEqual(response["status"], settings.SCAN_STATUS_FAILED)
     self.assertEqual(response["error"], "Apk file not Found")