diff options
| author | Albin <albin@mullvad.net> | 2022-12-13 09:44:00 +0100 |
|---|---|---|
| committer | Albin <albin@mullvad.net> | 2023-01-10 15:32:32 +0100 |
| commit | ca8878aa238a5c8e3be1f326ce98e238ffe87388 (patch) | |
| tree | 573df6eff8b272ef70beb533a30f6e244a86d27b /android | |
| parent | bd75bd3dd12080de4b8b4aa869fc41611a707533 (diff) | |
| download | mullvadvpn-ca8878aa238a5c8e3be1f326ce98e238ffe87388.tar.xz mullvadvpn-ca8878aa238a5c8e3be1f326ce98e238ffe87388.zip | |
Add empty :test:mockapi project
Diffstat (limited to 'android')
| -rw-r--r-- | android/buildSrc/src/main/kotlin/Dependencies.kt | 1 | ||||
| -rw-r--r-- | android/buildSrc/src/main/kotlin/Versions.kt | 1 | ||||
| -rw-r--r-- | android/gradle/verification-metadata.xml | 42 | ||||
| -rw-r--r-- | android/settings.gradle.kts | 2 | ||||
| -rw-r--r-- | android/test/mockapi/build.gradle.kts | 61 | ||||
| -rw-r--r-- | android/test/mockapi/mockapi-suppression.xml | 31 | ||||
| -rw-r--r-- | android/test/mockapi/src/main/AndroidManifest.xml | 7 |
7 files changed, 144 insertions, 1 deletions
diff --git a/android/buildSrc/src/main/kotlin/Dependencies.kt b/android/buildSrc/src/main/kotlin/Dependencies.kt index 48a0ef6b41..9832268b5e 100644 --- a/android/buildSrc/src/main/kotlin/Dependencies.kt +++ b/android/buildSrc/src/main/kotlin/Dependencies.kt @@ -6,6 +6,7 @@ object Dependencies { const val junit = "junit:junit:${Versions.junit}" const val leakCanary = "com.squareup.leakcanary:leakcanary-android:${Versions.leakCanary}" const val turbine = "app.cash.turbine:turbine:${Versions.turbine}" + const val mockkWebserver = "com.squareup.okhttp3:mockwebserver:${Versions.mockWebserver}" object AndroidX { const val appcompat = "androidx.appcompat:appcompat:${Versions.AndroidX.appcompat}" diff --git a/android/buildSrc/src/main/kotlin/Versions.kt b/android/buildSrc/src/main/kotlin/Versions.kt index f895c0045c..e8bbceed96 100644 --- a/android/buildSrc/src/main/kotlin/Versions.kt +++ b/android/buildSrc/src/main/kotlin/Versions.kt @@ -9,6 +9,7 @@ object Versions { const val kotlinx = "1.6.4" const val leakCanary = "2.10" const val mockk = "1.13.3" + const val mockWebserver = "4.10.0" const val turbine = "0.12.1" object Android { diff --git a/android/gradle/verification-metadata.xml b/android/gradle/verification-metadata.xml index 8496d3b855..50f847f3d2 100644 --- a/android/gradle/verification-metadata.xml +++ b/android/gradle/verification-metadata.xml @@ -1782,6 +1782,22 @@ <sha256 value="2a7bca66d6ccf16855cb5a0aa7c95158f688925a263efe4c204b237254861fa1" origin="Generated by Gradle"/> </artifact> </component> + <component group="com.squareup.okhttp3" name="mockwebserver" version="4.10.0"> + <artifact name="mockwebserver-4.10.0.jar"> + <sha256 value="af29da234e63159d6e0dea43bf8288eea97d71cdf1651a5ee2d6c0d0d4adbf8f" origin="Generated by Gradle"/> + </artifact> + <artifact name="mockwebserver-4.10.0.module"> + <sha256 value="75c72158aa5a0e052610d149b2746f6e290be8f338f835c69eb4589c4888bba5" origin="Generated by Gradle"/> + </artifact> + </component> + <component group="com.squareup.okhttp3" name="okhttp" version="4.10.0"> + <artifact name="okhttp-4.10.0.jar"> + <sha256 value="7580f14fa1691206e37081ad3f92063b1603b328da0bb316f2fef02e0562e7ec" origin="Generated by Gradle"/> + </artifact> + <artifact name="okhttp-4.10.0.module"> + <sha256 value="6c3070820b591f5ec8c2948497b5a6b742f492b715bcacf4b75115b3a8ffab15" origin="Generated by Gradle"/> + </artifact> + </component> <component group="com.squareup.okhttp3" name="okhttp" version="4.9.3"> <artifact name="okhttp-4.9.3.jar"> <sha256 value="93ecd6cba19d87dccfe566ec848d91aae799e3cf16c00709358ea69bd9227219" origin="Generated by Gradle"/> @@ -1808,6 +1824,22 @@ <sha256 value="17baab7270389a5fa63ab12811864d0a00f381611bc4eb042fa1bd5918ed0965" origin="Generated by Gradle"/> </artifact> </component> + <component group="com.squareup.okio" name="okio" version="3.0.0"> + <artifact name="okio-3.0.0.module"> + <sha256 value="6f9e3a797831e75c5b562d946c075183f9b2be846791e9f88bde45491daed987" origin="Generated by Gradle"/> + </artifact> + <artifact name="okio-metadata-3.0.0.jar"> + <sha256 value="dcbe63ed43b2c90c325e9e6a0863e2e7605980bff5e728c6de1088be5574979e" origin="Generated by Gradle"/> + </artifact> + </component> + <component group="com.squareup.okio" name="okio-jvm" version="3.0.0"> + <artifact name="okio-jvm-3.0.0.jar"> + <sha256 value="be64a0cc1f28ea9cd5c970dd7e7557af72c808d738c495b397bf897c9921e907" origin="Generated by Gradle"/> + </artifact> + <artifact name="okio-jvm-3.0.0.module"> + <sha256 value="17f48d41775bd84dea78e9dfed8dfbcc66af80567a5c9ec9d9608785ec820cde" origin="Generated by Gradle"/> + </artifact> + </component> <component group="com.sun.activation" name="javax.activation" version="1.2.0"> <artifact name="javax.activation-1.2.0.jar"> <sha256 value="993302b16cd7056f21e779cc577d175a810bb4900ef73cd8fbf2b50f928ba9ce" origin="Generated by Gradle"/> @@ -2777,6 +2809,11 @@ <sha256 value="a25bf47353ce899d843cbddee516d621a73473e7fba97f8d0301e7b4aed7c15f" origin="Generated by Gradle"/> </artifact> </component> + <component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk7" version="1.6.10"> + <artifact name="kotlin-stdlib-jdk7-1.6.10.jar"> + <sha256 value="2aedcdc6b69b33bdf5cc235bcea88e7cf6601146bb6bcdffdb312bbacd7be261" origin="Generated by Gradle"/> + </artifact> + </component> <component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk7" version="1.6.21"> <artifact name="kotlin-stdlib-jdk7-1.6.21.jar"> <sha256 value="f1b0634dbb94172038463020bb2dd45ca26849f8ce29d625acb0f1569d11dbee" origin="Generated by Gradle"/> @@ -2797,6 +2834,11 @@ <sha256 value="b548f7767aacf029d2417e47440742bd6d3ebede19b60386e23554ce5c4c5fdc" origin="Generated by Gradle"/> </artifact> </component> + <component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk8" version="1.6.10"> + <artifact name="kotlin-stdlib-jdk8-1.6.10.jar"> + <sha256 value="1456d82d039ea30d8485b032901f52bbf07e7cdbe8bb1f8708ad32a8574c41ce" origin="Generated by Gradle"/> + </artifact> + </component> <component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk8" version="1.6.21"> <artifact name="kotlin-stdlib-jdk8-1.6.21.jar"> <sha256 value="dab45489b47736d59fce44b80676f1947a9b6bcab10fd60e878a83bd82a6954c" origin="Generated by Gradle"/> diff --git a/android/settings.gradle.kts b/android/settings.gradle.kts index 755fa4bbb6..d847a97691 100644 --- a/android/settings.gradle.kts +++ b/android/settings.gradle.kts @@ -1,2 +1,2 @@ include(":app", ":lib:endpoint") -include(":test", ":test:common", ":test:e2e") +include(":test", ":test:common", ":test:e2e", ":test:mockapi") diff --git a/android/test/mockapi/build.gradle.kts b/android/test/mockapi/build.gradle.kts new file mode 100644 index 0000000000..84410e168f --- /dev/null +++ b/android/test/mockapi/build.gradle.kts @@ -0,0 +1,61 @@ +plugins { + id(Dependencies.Plugin.androidTestId) + id(Dependencies.Plugin.kotlinAndroidId) +} + +android { + namespace = "net.mullvad.mullvadvpn.test.mockapi" + compileSdk = Versions.Android.compileSdkVersion + + defaultConfig { + minSdk = Versions.Android.minSdkVersion + targetSdk = Versions.Android.targetSdkVersion + testApplicationId = "net.mullvad.mullvadvpn.test.mockapi" + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + targetProjectPath = ":app" + + testInstrumentationRunnerArguments.putAll( + mapOf( + "clearPackageData" to "true", + "useTestStorageService" to "true" + ) + ) + } + + testOptions { + execution = "ANDROIDX_TEST_ORCHESTRATOR" + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = Versions.jvmTarget + } +} + +configure<org.owasp.dependencycheck.gradle.extension.DependencyCheckExtension> { + // Skip the lintClassPath configuration, which relies on many dependencies that has been flagged + // to have CVEs, as it's related to the lint tooling rather than the project's compilation class + // path. The alternative would be to suppress specific CVEs, however that could potentially + // result in suppressed CVEs in project compilation class path. + skipConfigurations = listOf("lintClassPath") + suppressionFile = "$projectDir/mockapi-suppression.xml" +} + +dependencies { + implementation(project(Projects.testCommon)) + + implementation(Dependencies.AndroidX.testCore) + // Fixes: https://github.com/android/android-test/issues/1589 + implementation(Dependencies.AndroidX.testMonitor) + implementation(Dependencies.AndroidX.testRunner) + implementation(Dependencies.AndroidX.testRules) + implementation(Dependencies.AndroidX.testUiAutomator) + implementation(Dependencies.Kotlin.stdlib) + implementation(Dependencies.mockkWebserver) + + androidTestUtil(Dependencies.AndroidX.testOrchestrator) +} diff --git a/android/test/mockapi/mockapi-suppression.xml b/android/test/mockapi/mockapi-suppression.xml new file mode 100644 index 0000000000..86e10bebb2 --- /dev/null +++ b/android/test/mockapi/mockapi-suppression.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> +<suppressions xmlns="https://jeremylong.github.io/DependencyCheck/dependency-suppression.1.3.xsd"> + <suppress> + <notes><![CDATA[ + This CVE only affect Multiplatform Gradle Projects, which this project is not. + ]]></notes> + <cve>CVE-2022-24329</cve> + </suppress> + <suppress> + <notes><![CDATA[ + This CVE is a false positive as the description refers to a GO library (github.com/containers/storage). + ]]></notes> + <packageUrl regex="true">^pkg:maven/androidx\.test\.services/storage@.*$</packageUrl> + <cve>CVE-2021-20291</cve> + </suppress> + <suppress> + <notes><![CDATA[ + This CVE is a false positive as javalite isn't affected according to: + https://cloud.google.com/support/bulletins#gcp-2022-001 + ]]></notes> + <packageUrl regex="true">^pkg:maven/com\.google\.protobuf/protobuf\-javalite@.*$</packageUrl> + <cve>CVE-2021-22569</cve> + </suppress> + <suppress> + <notes><![CDATA[ + This CVE is tracked externally and is therefore suppressed in the automatic audit checks. + ]]></notes> + <packageUrl regex="true">^pkg:maven/com\.google\.protobuf/protobuf\-javalite@.*$</packageUrl> + <cve>CVE-2022-3171</cve> + </suppress> +</suppressions> diff --git a/android/test/mockapi/src/main/AndroidManifest.xml b/android/test/mockapi/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..931f79d291 --- /dev/null +++ b/android/test/mockapi/src/main/AndroidManifest.xml @@ -0,0 +1,7 @@ +<manifest xmlns:android="http://schemas.android.com/apk/res/android"> + + <uses-permission android:name="android.permission.INTERNET" /> + <instrumentation + android:name="androidx.test.runner.AndroidJUnitRunner" + android:targetPackage="net.mullvad.mullvadvpn" /> +</manifest> |
