From 22e5d3226ef30208fdfbbdba32463d1b2bb4a47d Mon Sep 17 00:00:00 2001 From: Sean Mac Gillicuddy Date: Wed, 5 Jun 2019 12:37:39 +0100 Subject: [PATCH] re-enable multidex, add ktx libraries and fix some compile errors in Instrumentation tests --- app/build.gradle | 6 ++++++ .../kiwix/kiwixmobile/di/components/TestComponent.java | 10 ++++++++++ .../kiwixmobile/language/LanguageActivityTest.java | 4 ++-- .../java/org/kiwix/kiwixmobile/tests/DownloadTest.java | 6 ------ .../java/org/kiwix/kiwixmobile/tests/NetworkTest.java | 7 ------- 5 files changed, 18 insertions(+), 15 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index fb567ae54..458321688 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -60,7 +60,11 @@ dependencies { implementation "androidx.appcompat:appcompat:$appCompatVersion" implementation "com.google.android.material:material:$materialVersion" implementation "androidx.cardview:cardview:$cardViewVersion" + implementation "androidx.multidex:multidex:$multidexVersion" implementation "androidx.constraintlayout:constraintlayout:$constraintLayoutVersion" + implementation "androidx.core:core-ktx:1.0.2" + implementation "androidx.fragment:fragment-ktx:1.0.0" + implementation "androidx.collection:collection-ktx:1.0.0" implementation "androidx.test.espresso:espresso-idling-resource:$espressoVersion" androidTestImplementation("androidx.test.espresso:espresso-core:$espressoVersion") @@ -216,6 +220,8 @@ android { buildConfigField "String", "KIWIX_DOWNLOAD_URL", "\"http://download.kiwix.org/\"" // True breaks local variables being shown in breakpoints testCoverageEnabled false + // Needed for instrumentation tests on Pre 5.0 + multiDexKeepProguard file("multidex-instrumentation-config.pro") } mock_network { diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/di/components/TestComponent.java b/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/di/components/TestComponent.java index 87a9dad45..2eadda698 100644 --- a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/di/components/TestComponent.java +++ b/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/di/components/TestComponent.java @@ -17,6 +17,8 @@ */ package org.kiwix.kiwixmobile.di.components; +import android.content.Context; +import dagger.BindsInstance; import dagger.Component; import javax.inject.Singleton; import org.kiwix.kiwixmobile.data.DataModule; @@ -40,6 +42,14 @@ import org.kiwix.kiwixmobile.utils.TestNetworkInterceptor; }) public interface TestComponent extends ApplicationComponent { + @Component.Builder + interface Builder { + + @BindsInstance TestComponent.Builder context(Context context); + + TestComponent build(); + } + void inject(ZimTest zimTest); void inject(NetworkTest networkTest); diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/language/LanguageActivityTest.java b/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/language/LanguageActivityTest.java index 3dea15f21..bae43b05c 100644 --- a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/language/LanguageActivityTest.java +++ b/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/language/LanguageActivityTest.java @@ -109,7 +109,7 @@ public class LanguageActivityTest { childAtPosition(withId(R.id.toolbar_layout), 0)), 1), isDisplayed())); // Make sure that the zim list has been loaded - IdlingRegistry.getInstance().register(LibraryFragment.IDLING_RESOURCE); + //IdlingRegistry.getInstance().register(LibraryFragment.IDLING_RESOURCE); onView(allOf(isDisplayed(), withText("Selected languages:"))).check(matches(notNullValue())); // Open the Language Activity @@ -274,7 +274,7 @@ public class LanguageActivityTest { @After public void endTest() { - IdlingRegistry.getInstance().unregister(LibraryFragment.IDLING_RESOURCE); + //IdlingRegistry.getInstance().unregister(LibraryFragment.IDLING_RESOURCE); Intents.release(); } } diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/DownloadTest.java b/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/DownloadTest.java index e9dccb1bf..c4bdd6fdf 100644 --- a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/DownloadTest.java +++ b/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/DownloadTest.java @@ -96,12 +96,6 @@ public class DownloadTest { clickOn(R.string.remote_zims); - try { - clickOn(R.id.network_permission_button); - } catch (RuntimeException e) { - Log.d(KIWIX_DOWNLOAD_TEST, "Failed to click Network Permission Button", e); - } - captureAndSaveScreenshot("Before-checking-for-ZimManager-Main-Activity"); ViewInteraction viewPager2 = onView( allOf(withId(R.id.manageViewPager), diff --git a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/NetworkTest.java b/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/NetworkTest.java index bb1a7e5eb..b3257f695 100644 --- a/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/NetworkTest.java +++ b/app/src/androidTestKiwix/java/org/kiwix/kiwixmobile/tests/NetworkTest.java @@ -127,13 +127,6 @@ public class NetworkTest { TestUtils.allowPermissionsIfNeeded(); - try { - onView(withId(R.id.network_permission_button)).perform(click()); - } catch (RuntimeException e) { - Log.i(NETWORK_TEST_TAG, - "Permission dialog was not shown, we probably already have required permissions"); - } - onData(withContent("wikipedia_ab_all_2017-03")).inAdapterView(withId(R.id.libraryList)).perform(click()); try {