mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-27 21:03:54 +01:00
* Api call * added captions * final commit * some minor changes * sigular * test for captions * mock fetchCaptionbyFileName * corrected method name * * used ? instead of !! (unsafe call on nullable) * updated unit test for fetchCaptionByFilename()
This commit is contained in:
parent
047059c490
commit
3c9b7ba7a8
9 changed files with 137 additions and 6 deletions
|
|
@ -7,12 +7,9 @@ import io.reactivex.Single
|
|||
import junit.framework.Assert.assertTrue
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
import org.mockito.ArgumentMatchers
|
||||
import org.mockito.InjectMocks
|
||||
import org.mockito.Mock
|
||||
import org.mockito.*
|
||||
import org.mockito.Mockito.`when`
|
||||
import org.mockito.Mockito.mock
|
||||
import org.mockito.MockitoAnnotations
|
||||
|
||||
/**
|
||||
* Test methods in media data extractor
|
||||
|
|
@ -45,6 +42,8 @@ class MediaDataExtractorTest {
|
|||
`when`(okHttpJsonApiClient?.getMedia(ArgumentMatchers.anyString(), ArgumentMatchers.anyBoolean()))
|
||||
.thenReturn(Single.just(mock(Media::class.java)))
|
||||
|
||||
Mockito.`when`(mwApi?.fetchCaptionByFilename(ArgumentMatchers.anyString())).thenReturn(Single.just("test caption"))
|
||||
|
||||
`when`(mwApi?.pageExists(ArgumentMatchers.anyString()))
|
||||
.thenReturn(Single.just(true))
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import fr.free.nrw.commons.BuildConfig
|
|||
import fr.free.nrw.commons.TestCommonsApplication
|
||||
import fr.free.nrw.commons.kvstore.JsonKvStore
|
||||
import fr.free.nrw.commons.utils.ConfigUtils
|
||||
import io.reactivex.observers.TestObserver
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.mockwebserver.MockResponse
|
||||
import okhttp3.mockwebserver.MockWebServer
|
||||
|
|
@ -23,6 +24,7 @@ import org.wikipedia.util.DateUtil
|
|||
import java.net.URLDecoder
|
||||
import java.util.*
|
||||
|
||||
|
||||
@RunWith(RobolectricTestRunner::class)
|
||||
@Config(constants = BuildConfig::class, sdk = intArrayOf(21), application = TestCommonsApplication::class)
|
||||
class ApacheHttpClientMediaWikiApiTest {
|
||||
|
|
@ -240,6 +242,30 @@ class ApacheHttpClientMediaWikiApiTest {
|
|||
assertFalse(result)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun fetchCaptionByFilename() {
|
||||
server.enqueue(MockResponse().setBody("<?xml version=\"1.0\"?><api success=\"1\"><entities><entity type=\"mediainfo\" id=\"M77157483\"><labels><label language=\"it\" value=\"Test\" /></labels><statements /></entity></entities></api>"))
|
||||
|
||||
val result = testObject.fetchCaptionByFilename("File:foo")
|
||||
val testObserver = TestObserver<String>()
|
||||
result.subscribe(testObserver)
|
||||
assertBasicRequestParameters(server, "GET").let { request ->
|
||||
parseQueryParams(request).let { params ->
|
||||
assertEquals("xml", params["format"])
|
||||
assertEquals("wbgetentities", params["action"])
|
||||
assertEquals("commonswiki", params["sites"])
|
||||
assertEquals("File:foo", params["titles"])
|
||||
assertEquals("labels", params["props"])
|
||||
assertEquals(Locale.getDefault().getLanguage(), params["languages"])
|
||||
assertEquals("1", params["languagefallback"])
|
||||
}
|
||||
}
|
||||
|
||||
testObserver.assertResult("Test")
|
||||
testObserver.assertNoErrors()
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
fun isUserBlockedFromCommonsForInfinitelyBlockedUser() {
|
||||
server.enqueue(MockResponse().setBody("<?xml version=\"1.0\"?><api><query><userinfo id=\"1000\" name=\"testusername\" blockid=\"3000\" blockedby=\"blockerusername\" blockedbyid=\"1001\" blockreason=\"testing\" blockedtimestamp=\"2018-05-24T15:32:09Z\" blockexpiry=\"infinite\"></userinfo></query></api>"))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue