Upgrade to Robolectric 4 (#2982)

This commit is contained in:
Adam Jones 2019-06-04 17:32:07 +01:00 committed by Vivek Maskara
parent 230b9527ed
commit 67e43ef446
15 changed files with 22 additions and 21 deletions

View file

@ -60,7 +60,8 @@ dependencies {
testImplementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$KOTLIN_VERSION" testImplementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$KOTLIN_VERSION"
testImplementation "org.jetbrains.kotlin:kotlin-reflect:$KOTLIN_VERSION" testImplementation "org.jetbrains.kotlin:kotlin-reflect:$KOTLIN_VERSION"
testImplementation 'junit:junit:4.12' testImplementation 'junit:junit:4.12'
testImplementation 'org.robolectric:robolectric:3.7.1' testImplementation 'org.robolectric:robolectric:4.3'
testImplementation 'androidx.test:core:1.2.0'
testImplementation 'com.nhaarman:mockito-kotlin:1.5.0' testImplementation 'com.nhaarman:mockito-kotlin:1.5.0'
testImplementation 'com.squareup.okhttp3:mockwebserver:3.10.0' testImplementation 'com.squareup.okhttp3:mockwebserver:3.10.0'

View file

@ -4,7 +4,7 @@ import fr.free.nrw.commons.mwapi.MediaResult
import fr.free.nrw.commons.mwapi.MediaWikiApi import fr.free.nrw.commons.mwapi.MediaWikiApi
import fr.free.nrw.commons.mwapi.OkHttpJsonApiClient import fr.free.nrw.commons.mwapi.OkHttpJsonApiClient
import io.reactivex.Single import io.reactivex.Single
import junit.framework.Assert.assertTrue import org.junit.Assert.assertTrue
import org.junit.Before import org.junit.Before
import org.junit.Test import org.junit.Test
import org.mockito.ArgumentMatchers import org.mockito.ArgumentMatchers

View file

@ -7,7 +7,7 @@ import org.robolectric.RobolectricTestRunner
import org.robolectric.annotation.Config import org.robolectric.annotation.Config
@RunWith(RobolectricTestRunner::class) @RunWith(RobolectricTestRunner::class)
@Config(constants = BuildConfig::class, sdk = intArrayOf(21), application = TestCommonsApplication::class) @Config(sdk = [21], application = TestCommonsApplication::class)
class MediaTest { class MediaTest {
@Test @Test
fun displayTitleShouldStripExtension() { fun displayTitleShouldStripExtension() {

View file

@ -2,15 +2,15 @@ package fr.free.nrw.commons
import fr.free.nrw.commons.location.LatLng import fr.free.nrw.commons.location.LatLng
import fr.free.nrw.commons.nearby.NearbyController.loadAttractionsFromLocationToBaseMarkerOptions import fr.free.nrw.commons.nearby.NearbyController.loadAttractionsFromLocationToBaseMarkerOptions
import androidx.test.core.app.ApplicationProvider
import org.junit.Assert.assertEquals import org.junit.Assert.assertEquals
import org.junit.Test import org.junit.Test
import org.junit.runner.RunWith import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner import org.robolectric.RobolectricTestRunner
import org.robolectric.RuntimeEnvironment
import org.robolectric.annotation.Config import org.robolectric.annotation.Config
@RunWith(RobolectricTestRunner::class) @RunWith(RobolectricTestRunner::class)
@Config(constants = BuildConfig::class, sdk = [21], application = TestCommonsApplication::class) @Config(sdk = [21], application = TestCommonsApplication::class)
class NearbyControllerTest { class NearbyControllerTest {
@Test @Test
@ -18,7 +18,7 @@ class NearbyControllerTest {
val location = LatLng(0.0, 0.0, 0f) val location = LatLng(0.0, 0.0, 0f)
val options = loadAttractionsFromLocationToBaseMarkerOptions( val options = loadAttractionsFromLocationToBaseMarkerOptions(
location, null, RuntimeEnvironment.application, null) location, null, ApplicationProvider.getApplicationContext(), null)
assertEquals(0, options.size.toLong()) assertEquals(0, options.size.toLong())
} }
@ -28,7 +28,7 @@ class NearbyControllerTest {
val location = LatLng(0.0, 0.0, 0f) val location = LatLng(0.0, 0.0, 0f)
val options = loadAttractionsFromLocationToBaseMarkerOptions( val options = loadAttractionsFromLocationToBaseMarkerOptions(
location, emptyList(), RuntimeEnvironment.application, emptyList()) location, emptyList(), ApplicationProvider.getApplicationContext(), emptyList())
assertEquals(0, options.size.toLong()) assertEquals(0, options.size.toLong())
} }

View file

@ -24,7 +24,7 @@ import org.robolectric.RobolectricTestRunner
import org.robolectric.annotation.Config import org.robolectric.annotation.Config
@RunWith(RobolectricTestRunner::class) @RunWith(RobolectricTestRunner::class)
@Config(constants = BuildConfig::class, sdk = [21], application = TestCommonsApplication::class) @Config(sdk = [21], application = TestCommonsApplication::class)
class BookMarkLocationDaoTest { class BookMarkLocationDaoTest {
private val columns = arrayOf(COLUMN_NAME, private val columns = arrayOf(COLUMN_NAME,
COLUMN_DESCRIPTION, COLUMN_DESCRIPTION,

View file

@ -21,7 +21,7 @@ import org.junit.Before
import org.junit.Test import org.junit.Test
@RunWith(RobolectricTestRunner::class) @RunWith(RobolectricTestRunner::class)
@Config(constants = BuildConfig::class, sdk = [21], application = TestCommonsApplication::class) @Config(sdk = [21], application = TestCommonsApplication::class)
class BookmarkPictureDaoTest { class BookmarkPictureDaoTest {
private val columns = arrayOf(COLUMN_MEDIA_NAME, COLUMN_CREATOR) private val columns = arrayOf(COLUMN_MEDIA_NAME, COLUMN_CREATOR)

View file

@ -21,7 +21,7 @@ import org.robolectric.annotation.Config
import java.util.* import java.util.*
@RunWith(RobolectricTestRunner::class) @RunWith(RobolectricTestRunner::class)
@Config(constants = BuildConfig::class, sdk = [21], application = TestCommonsApplication::class) @Config(sdk = [21], application = TestCommonsApplication::class)
class CategoryDaoTest { class CategoryDaoTest {
private val columns = arrayOf(COLUMN_ID, COLUMN_NAME, COLUMN_LAST_USED, COLUMN_TIMES_USED) private val columns = arrayOf(COLUMN_ID, COLUMN_NAME, COLUMN_LAST_USED, COLUMN_TIMES_USED)

View file

@ -23,7 +23,7 @@ import org.robolectric.annotation.Config
import java.util.* import java.util.*
@RunWith(RobolectricTestRunner::class) @RunWith(RobolectricTestRunner::class)
@Config(constants = BuildConfig::class, sdk = [21], application = TestCommonsApplication::class) @Config(sdk = [21], application = TestCommonsApplication::class)
class ContributionDaoTest { class ContributionDaoTest {
private val localUri = "http://example.com/" private val localUri = "http://example.com/"
private val client: ContentProviderClient = mock() private val client: ContentProviderClient = mock()

View file

@ -7,7 +7,7 @@ import fr.free.nrw.commons.auth.SessionManager
import fr.free.nrw.commons.mwapi.MediaWikiApi import fr.free.nrw.commons.mwapi.MediaWikiApi
import fr.free.nrw.commons.notification.NotificationHelper import fr.free.nrw.commons.notification.NotificationHelper
import fr.free.nrw.commons.utils.ViewUtilWrapper import fr.free.nrw.commons.utils.ViewUtilWrapper
import junit.framework.Assert.* import org.junit.Assert.*
import org.junit.Before import org.junit.Before
import org.junit.Test import org.junit.Test
import org.mockito.InjectMocks import org.mockito.InjectMocks

View file

@ -21,7 +21,7 @@ import org.robolectric.annotation.Config
import java.util.* import java.util.*
@RunWith(RobolectricTestRunner::class) @RunWith(RobolectricTestRunner::class)
@Config(constants = BuildConfig::class, sdk = [21], application = TestCommonsApplication::class) @Config(sdk = [21], application = TestCommonsApplication::class)
class RecentSearchesDaoTest { class RecentSearchesDaoTest {
private val columns = arrayOf(COLUMN_ID, COLUMN_NAME, COLUMN_LAST_USED) private val columns = arrayOf(COLUMN_ID, COLUMN_NAME, COLUMN_LAST_USED)

View file

@ -20,7 +20,7 @@ import org.robolectric.RobolectricTestRunner
import org.robolectric.annotation.Config import org.robolectric.annotation.Config
@RunWith(RobolectricTestRunner::class) @RunWith(RobolectricTestRunner::class)
@Config(constants = BuildConfig::class, sdk = [21], application = TestCommonsApplication::class) @Config(sdk = [21], application = TestCommonsApplication::class)
class ModifierSequenceDaoTest { class ModifierSequenceDaoTest {
private val mediaUrl = "http://example.com/" private val mediaUrl = "http://example.com/"

View file

@ -1,8 +1,8 @@
package fr.free.nrw.commons.mwapi package fr.free.nrw.commons.mwapi
import android.os.Build import android.os.Build
import androidx.test.core.app.ApplicationProvider
import com.google.gson.Gson import com.google.gson.Gson
import fr.free.nrw.commons.BuildConfig
import fr.free.nrw.commons.TestCommonsApplication import fr.free.nrw.commons.TestCommonsApplication
import fr.free.nrw.commons.kvstore.JsonKvStore import fr.free.nrw.commons.kvstore.JsonKvStore
import fr.free.nrw.commons.utils.ConfigUtils import fr.free.nrw.commons.utils.ConfigUtils
@ -17,14 +17,13 @@ import org.junit.Test
import org.junit.runner.RunWith import org.junit.runner.RunWith
import org.mockito.Mockito.mock import org.mockito.Mockito.mock
import org.robolectric.RobolectricTestRunner import org.robolectric.RobolectricTestRunner
import org.robolectric.RuntimeEnvironment
import org.robolectric.annotation.Config import org.robolectric.annotation.Config
import org.wikipedia.util.DateUtil import org.wikipedia.util.DateUtil
import java.net.URLDecoder import java.net.URLDecoder
import java.util.* import java.util.*
@RunWith(RobolectricTestRunner::class) @RunWith(RobolectricTestRunner::class)
@Config(constants = BuildConfig::class, sdk = intArrayOf(21), application = TestCommonsApplication::class) @Config(sdk = [21], application = TestCommonsApplication::class)
class ApacheHttpClientMediaWikiApiTest { class ApacheHttpClientMediaWikiApiTest {
private lateinit var testObject: ApacheHttpClientMediaWikiApi private lateinit var testObject: ApacheHttpClientMediaWikiApi
@ -39,7 +38,7 @@ class ApacheHttpClientMediaWikiApiTest {
wikidataServer = MockWebServer() wikidataServer = MockWebServer()
okHttpClient = OkHttpClient() okHttpClient = OkHttpClient()
sharedPreferences = mock(JsonKvStore::class.java) sharedPreferences = mock(JsonKvStore::class.java)
testObject = ApacheHttpClientMediaWikiApi(RuntimeEnvironment.application, "http://" + server.hostName + ":" + server.port + "/", "http://" + wikidataServer.hostName + ":" + wikidataServer.port + "/", sharedPreferences, Gson()) testObject = ApacheHttpClientMediaWikiApi(ApplicationProvider.getApplicationContext(), "http://" + server.hostName + ":" + server.port + "/", "http://" + wikidataServer.hostName + ":" + wikidataServer.port + "/", sharedPreferences, Gson())
} }
@After @After
@ -319,7 +318,7 @@ class ApacheHttpClientMediaWikiApiTest {
private fun assertBasicRequestParameters(server: MockWebServer, method: String): RecordedRequest = server.takeRequest().let { private fun assertBasicRequestParameters(server: MockWebServer, method: String): RecordedRequest = server.takeRequest().let {
assertEquals("/", it.requestUrl.encodedPath()) assertEquals("/", it.requestUrl.encodedPath())
assertEquals(method, it.method) assertEquals(method, it.method)
assertEquals("Commons/${ConfigUtils.getVersionNameWithSha(RuntimeEnvironment.application)} (https://mediawiki.org/wiki/Apps/Commons) Android/${Build.VERSION.RELEASE}", assertEquals("Commons/${ConfigUtils.getVersionNameWithSha(ApplicationProvider.getApplicationContext())} (https://mediawiki.org/wiki/Apps/Commons) Android/${Build.VERSION.RELEASE}",
it.getHeader("User-Agent")) it.getHeader("User-Agent"))
if ("POST" == method) { if ("POST" == method) {
assertEquals("application/x-www-form-urlencoded", it.getHeader("Content-Type")) assertEquals("application/x-www-form-urlencoded", it.getHeader("Content-Type"))

View file

@ -29,7 +29,7 @@ import kotlin.random.Random
* Mock web server based tests for ok http json api client * Mock web server based tests for ok http json api client
*/ */
@RunWith(RobolectricTestRunner::class) @RunWith(RobolectricTestRunner::class)
@Config(constants = BuildConfig::class, sdk = [23], application = TestCommonsApplication::class) @Config(sdk = [23], application = TestCommonsApplication::class)
class OkHttpJsonApiClientTest { class OkHttpJsonApiClientTest {
private lateinit var testObject: OkHttpJsonApiClient private lateinit var testObject: OkHttpJsonApiClient

View file

@ -4,7 +4,7 @@ import fr.free.nrw.commons.Media
import fr.free.nrw.commons.mwapi.MediaWikiApi import fr.free.nrw.commons.mwapi.MediaWikiApi
import fr.free.nrw.commons.mwapi.OkHttpJsonApiClient import fr.free.nrw.commons.mwapi.OkHttpJsonApiClient
import io.reactivex.Single import io.reactivex.Single
import junit.framework.Assert.assertTrue import org.junit.Assert.assertTrue
import org.junit.Before import org.junit.Before
import org.junit.Test import org.junit.Test
import org.mockito.ArgumentMatchers import org.mockito.ArgumentMatchers

View file

@ -15,6 +15,7 @@
#Thu Mar 01 15:28:48 IST 2018 #Thu Mar 01 15:28:48 IST 2018
org.gradle.jvmargs=-Xmx1536M org.gradle.jvmargs=-Xmx1536M
android.enableBuildCache=true android.enableBuildCache=true
android.enableUnitTestBinaryResources=true
KOTLIN_VERSION=1.3.21 KOTLIN_VERSION=1.3.21
BUTTERKNIFE_VERSION=10.1.0 BUTTERKNIFE_VERSION=10.1.0