From 5dee23f7a608f1e9fb6bb854ab7ce4820865186f Mon Sep 17 00:00:00 2001 From: Jan Berkel Date: Fri, 15 Dec 2017 00:29:38 +0100 Subject: [PATCH] Add a simple test for scanner --- tests/scanner.TestCase | 33 +++++++++++++++++++ .../firebase-suspect/app/build.gradle | 5 +++ .../firebase-suspect/build.gradle | 11 +++++++ .../firebase-whitelisted/app/build.gradle | 5 +++ .../firebase-whitelisted/build.gradle | 14 ++++++++ 5 files changed, 68 insertions(+) create mode 100755 tests/scanner.TestCase create mode 100644 tests/source-files/firebase-suspect/app/build.gradle create mode 100644 tests/source-files/firebase-suspect/build.gradle create mode 100644 tests/source-files/firebase-whitelisted/app/build.gradle create mode 100644 tests/source-files/firebase-whitelisted/build.gradle diff --git a/tests/scanner.TestCase b/tests/scanner.TestCase new file mode 100755 index 00000000..ec220f4b --- /dev/null +++ b/tests/scanner.TestCase @@ -0,0 +1,33 @@ +#!/usr/bin/env python3 + +import unittest +import optparse +from pathlib import Path +from os.path import basename, dirname, realpath + +from fdroidserver import scanner +from fdroidserver.metadata import Build +import fdroidserver.common + + +class ScannerTest(unittest.TestCase): + def test_scan_source_files(self): + source_files = Path(dirname(realpath(__file__)), 'source-files') + projects = { + 'Zillode': 1, + 'firebase-suspect': 1 + } + for d in source_files.iterdir(): + fatal_problems = scanner.scan_source(d, Build()) + self.assertEqual(projects.get(basename(d), 0), fatal_problems) + + +if __name__ == "__main__": + parser = optparse.OptionParser() + parser.add_option("-v", "--verbose", action="store_true", default=False, + help="Spew out even more information than normal") + (fdroidserver.common.options, args) = parser.parse_args(['--verbose']) + + newSuite = unittest.TestSuite() + newSuite.addTest(unittest.makeSuite(ScannerTest)) + unittest.main(failfast=False) diff --git a/tests/source-files/firebase-suspect/app/build.gradle b/tests/source-files/firebase-suspect/app/build.gradle new file mode 100644 index 00000000..440d75a6 --- /dev/null +++ b/tests/source-files/firebase-suspect/app/build.gradle @@ -0,0 +1,5 @@ +dependencies { + compile 'com.google.firebase:firebase-core:11.6.2' + + testCompile 'junit:junit:4.12' +} diff --git a/tests/source-files/firebase-suspect/build.gradle b/tests/source-files/firebase-suspect/build.gradle new file mode 100644 index 00000000..47295bbb --- /dev/null +++ b/tests/source-files/firebase-suspect/build.gradle @@ -0,0 +1,11 @@ +buildscript { + dependencies { + classpath 'com.android.tools.build:gradle:2.3.3' + } +} + +allprojects { + repositories { + maven { url "https://maven.google.com" } + } +} diff --git a/tests/source-files/firebase-whitelisted/app/build.gradle b/tests/source-files/firebase-whitelisted/app/build.gradle new file mode 100644 index 00000000..e97e2316 --- /dev/null +++ b/tests/source-files/firebase-whitelisted/app/build.gradle @@ -0,0 +1,5 @@ +dependencies { + compile 'com.firebase:firebase-jobdispatcher:0.8.4' + + testCompile 'junit:junit:4.12' +} diff --git a/tests/source-files/firebase-whitelisted/build.gradle b/tests/source-files/firebase-whitelisted/build.gradle new file mode 100644 index 00000000..e52ed0ac --- /dev/null +++ b/tests/source-files/firebase-whitelisted/build.gradle @@ -0,0 +1,14 @@ +buildscript { + repositories { + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:2.3.3' + } +} + +allprojects { + repositories { + jcenter() + } +}