mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 20:33:53 +01:00
Upgrade to Robolectric 4 (#2982)
This commit is contained in:
parent
230b9527ed
commit
67e43ef446
15 changed files with 22 additions and 21 deletions
|
|
@ -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'
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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() {
|
||||||
|
|
|
||||||
|
|
@ -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())
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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()
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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/"
|
||||||
|
|
|
||||||
|
|
@ -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"))
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue