fixes unit tests (#5354)

* fixes unit tests

* fixes failing unit tests
This commit is contained in:
Srishti Rohatgi 2023-10-20 08:20:51 +05:30 committed by GitHub
parent 988b83dc32
commit c9dfc03a20
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
122 changed files with 328 additions and 287 deletions

View file

@ -80,22 +80,22 @@ dependencies {
//Mocking //Mocking
testImplementation 'com.nhaarman.mockitokotlin2:mockito-kotlin:2.2.0' testImplementation 'com.nhaarman.mockitokotlin2:mockito-kotlin:2.2.0'
testImplementation 'org.mockito:mockito-inline:2.13.0' testImplementation 'org.mockito:mockito-inline:5.2.0'
testImplementation 'org.mockito:mockito-core:2.25.1' testImplementation 'org.mockito:mockito-core:5.5.0'
testImplementation "org.powermock:powermock-module-junit4:2.0.2" testImplementation "org.powermock:powermock-module-junit4:2.0.9"
testImplementation "org.powermock:powermock-api-mockito2:2.0.2" testImplementation "org.powermock:powermock-api-mockito2:2.0.9"
// Unit testing // Unit testing
testImplementation 'junit:junit:4.13.2' testImplementation 'junit:junit:4.13.2'
testImplementation 'org.robolectric:robolectric:4.10.3' testImplementation 'org.robolectric:robolectric:4.10.3'
testImplementation 'androidx.test:core:1.4.0' testImplementation 'androidx.test:core:1.5.0'
testImplementation "com.squareup.okhttp3:mockwebserver:$OKHTTP_VERSION" testImplementation "com.squareup.okhttp3:mockwebserver:$OKHTTP_VERSION"
testImplementation "com.jraska.livedata:testing-ktx:1.1.2" testImplementation "com.jraska.livedata:testing-ktx:1.1.2"
testImplementation "androidx.arch.core:core-testing:2.1.0" testImplementation "androidx.arch.core:core-testing:2.2.0"
testImplementation "org.junit.jupiter:junit-jupiter-api:5.7.0" testImplementation "org.junit.jupiter:junit-jupiter-api:5.10.0"
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.7.0" testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.10.0"
testImplementation 'com.facebook.soloader:soloader:0.10.1' testImplementation 'com.facebook.soloader:soloader:0.10.1'
testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:1.5.0" testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.3"
// Android testing // Android testing
androidTestImplementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$KOTLIN_VERSION" androidTestImplementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$KOTLIN_VERSION"
@ -121,7 +121,6 @@ dependencies {
implementation 'androidx.constraintlayout:constraintlayout:1.1.3' implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation "androidx.exifinterface:exifinterface:1.3.2" implementation "androidx.exifinterface:exifinterface:1.3.2"
implementation "androidx.core:core-ktx:$CORE_KTX_VERSION" implementation "androidx.core:core-ktx:$CORE_KTX_VERSION"
implementation "androidx.multidex:multidex:2.0.1"
implementation 'com.simplecityapps:recyclerview-fastscroll:2.0.1' implementation 'com.simplecityapps:recyclerview-fastscroll:2.0.1'
//swipe_layout //swipe_layout
@ -153,6 +152,8 @@ dependencies {
//Glide //Glide
implementation 'com.github.bumptech.glide:glide:4.12.0' implementation 'com.github.bumptech.glide:glide:4.12.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
kaptTest "androidx.databinding:databinding-compiler:8.0.2"
kaptAndroidTest "androidx.databinding:databinding-compiler:8.0.2"
implementation("io.github.coordinates2country:coordinates2country-android:1.3") { exclude group: 'com.google.android', module: 'android' } implementation("io.github.coordinates2country:coordinates2country-android:1.3") { exclude group: 'com.google.android', module: 'android' }
} }

View file

@ -29,7 +29,7 @@ class AboutActivityUnitTests {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
activity = Robolectric.buildActivity(AboutActivity::class.java).create().get() activity = Robolectric.buildActivity(AboutActivity::class.java).create().get()

View file

@ -31,7 +31,7 @@ class CommonsAppAdapterUnitTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
adapter = CommonsAppAdapter(sessionManager, preferences) adapter = CommonsAppAdapter(sessionManager, preferences)
} }

View file

@ -25,7 +25,7 @@ class FakeContextWrapper(base: Context?) : ContextWrapper(base) {
} }
init { init {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
Mockito.`when`(mMockAccountManager.accounts).thenReturn(ACCOUNTS) Mockito.`when`(mMockAccountManager.accounts).thenReturn(ACCOUNTS)
Mockito.`when`(mMockAccountManager.getAccountsByType(BuildConfig.ACCOUNT_TYPE)) Mockito.`when`(mMockAccountManager.getAccountsByType(BuildConfig.ACCOUNT_TYPE))
.thenReturn(ACCOUNTS) .thenReturn(ACCOUNTS)

View file

@ -19,7 +19,7 @@ class FakeContextWrapperWithException(base: Context?) : ContextWrapper(base) {
} }
init { init {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
Mockito.`when`(mMockAccountManager.getAccountsByType(BuildConfig.ACCOUNT_TYPE)) Mockito.`when`(mMockAccountManager.getAccountsByType(BuildConfig.ACCOUNT_TYPE))
.thenThrow(SecurityException("Permission Denied")) .thenThrow(SecurityException("Permission Denied"))
} }

View file

@ -30,7 +30,7 @@ class MediaDataExtractorTest {
@Before @Before
@Throws(Exception::class) @Throws(Exception::class)
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
} }
/** /**

View file

@ -47,7 +47,7 @@ class OkHttpJsonApiClientTests {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
okHttpJsonApiClient = OkHttpJsonApiClient( okHttpJsonApiClient = OkHttpJsonApiClient(
okhttpClient, okhttpClient,
depictsClient, depictsClient,

View file

@ -0,0 +1,24 @@
package fr.free.nrw.commons
import java.lang.reflect.Field
import java.lang.reflect.Modifier
object TestUtility {
@Throws(java.lang.Exception::class)
fun setFinalStatic(field: Field, newValue: Any?) {
try {
field.isAccessible = true
// remove final modifier from field
val modifiersField: Field = Field::class.java.getDeclaredField("modifiers")
modifiersField.isAccessible = true
modifiersField.setInt(field, field.modifiers and Modifier.FINAL.inv())
field.set(null, newValue)
} catch (e: SecurityException) {
e.stackTrace
} catch (e: NoSuchFieldException) {
e.stackTrace
} catch (e: java.lang.Exception) {
e.stackTrace
}
}
}

View file

@ -33,7 +33,7 @@ class PageEditClientTest {
@Before @Before
@Throws(Exception::class) @Throws(Exception::class)
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
pageEditClient = PageEditClient(csrfTokenClient, pageEditInterface) pageEditClient = PageEditClient(csrfTokenClient, pageEditInterface)
} }

View file

@ -8,15 +8,18 @@ import org.junit.Test
import org.junit.runner.RunWith import org.junit.runner.RunWith
import org.mockito.ArgumentMatchers import org.mockito.ArgumentMatchers
import org.mockito.Mock import org.mockito.Mock
import org.mockito.MockedStatic
import org.mockito.Mockito import org.mockito.Mockito
import org.mockito.Mockito.`when`
import org.mockito.MockitoAnnotations import org.mockito.MockitoAnnotations
import org.powermock.api.mockito.PowerMockito import org.powermock.api.mockito.PowerMockito
import org.powermock.core.classloader.annotations.PrepareForTest import org.powermock.core.classloader.annotations.PrepareForTest
import org.powermock.modules.junit4.PowerMockRunner import org.powermock.modules.junit4.PowerMockRunner
import org.robolectric.RobolectricTestRunner
import org.wikipedia.csrf.CsrfTokenClient import org.wikipedia.csrf.CsrfTokenClient
import org.wikipedia.dataclient.Service import org.wikipedia.dataclient.Service
@RunWith(PowerMockRunner::class) @RunWith(RobolectricTestRunner::class)
@PrepareForTest(CommonsApplication::class) @PrepareForTest(CommonsApplication::class)
class ThanksClientTest { class ThanksClientTest {
@Mock @Mock
@ -28,6 +31,7 @@ class ThanksClientTest {
private lateinit var commonsApplication: CommonsApplication private lateinit var commonsApplication: CommonsApplication
private lateinit var thanksClient: ThanksClient private lateinit var thanksClient: ThanksClient
private lateinit var mockedApplication: MockedStatic<CommonsApplication>
/** /**
* initial setup, test environment * initial setup, test environment
@ -35,9 +39,9 @@ class ThanksClientTest {
@Before @Before
@Throws(Exception::class) @Throws(Exception::class)
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
PowerMockito.mockStatic(CommonsApplication::class.java) mockedApplication = Mockito.mockStatic(CommonsApplication::class.java)
PowerMockito.`when`(CommonsApplication.getInstance()).thenReturn(commonsApplication) `when`(CommonsApplication.getInstance()).thenReturn(commonsApplication)
thanksClient = ThanksClient(csrfTokenClient, service) thanksClient = ThanksClient(csrfTokenClient, service)
} }
@ -46,8 +50,8 @@ class ThanksClientTest {
*/ */
@Test @Test
fun testThanks() { fun testThanks() {
Mockito.`when`(csrfTokenClient.tokenBlocking).thenReturn("test") `when`(csrfTokenClient.tokenBlocking).thenReturn("test")
Mockito.`when`(commonsApplication.userAgent).thenReturn("test") `when`(commonsApplication.userAgent).thenReturn("test")
thanksClient.thank(1L) thanksClient.thank(1L)
verify(service).thank(ArgumentMatchers.anyString(), ArgumentMatchers.any(), eq("test"), eq("test")) verify(service).thank(ArgumentMatchers.anyString(), ArgumentMatchers.any(), eq("test"), eq("test"))
} }

View file

@ -74,7 +74,7 @@ class LoginActivityUnitTests {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
AppAdapter.set(TestAppAdapter()) AppAdapter.set(TestAppAdapter())
activity = Robolectric.buildActivity(LoginActivity::class.java).create().get() activity = Robolectric.buildActivity(LoginActivity::class.java).create().get()
context = ApplicationProvider.getApplicationContext() context = ApplicationProvider.getApplicationContext()

View file

@ -19,7 +19,7 @@ import javax.inject.Named
class LogoutClientTest { class LogoutClientTest {
@Mock @field:[Inject Named("commons-service")] @Mock @field:[Inject Named("commons-service")]
internal var service: Service? = null lateinit var service: Service
@InjectMocks @InjectMocks
var logoutClient: LogoutClient? = null var logoutClient: LogoutClient? = null
@ -27,7 +27,7 @@ class LogoutClientTest {
@Before @Before
@Throws(Exception::class) @Throws(Exception::class)
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
val mwQueryResponse = mock(MwQueryResponse::class.java) val mwQueryResponse = mock(MwQueryResponse::class.java)
val mwQueryResult = mock(MwQueryResult::class.java) val mwQueryResult = mock(MwQueryResult::class.java)
`when`(mwQueryResult!!.csrfToken()).thenReturn("test_token") `when`(mwQueryResult!!.csrfToken()).thenReturn("test_token")

View file

@ -43,7 +43,7 @@ class SessionManagerUnitTests {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
accountManager = AccountManager.get(ApplicationProvider.getApplicationContext()) accountManager = AccountManager.get(ApplicationProvider.getApplicationContext())
shadowOf(accountManager).addAccount(account) shadowOf(accountManager).addAccount(account)
sessionManager = sessionManager =

View file

@ -26,7 +26,7 @@ class SignupActivityTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
activity = Robolectric.buildActivity(SignupActivity::class.java).create().get() activity = Robolectric.buildActivity(SignupActivity::class.java).create().get()
} }

View file

@ -12,7 +12,7 @@ class WikiAccountAuthenticatorServiceUnitTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
service = WikiAccountAuthenticatorService() service = WikiAccountAuthenticatorService()
service.onBind(null) service.onBind(null)
} }

View file

@ -35,7 +35,7 @@ class WikiAccountAuthenticatorUnitTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
context = ApplicationProvider.getApplicationContext() context = ApplicationProvider.getApplicationContext()
authenticator = WikiAccountAuthenticator(context) authenticator = WikiAccountAuthenticator(context)
} }

View file

@ -83,7 +83,7 @@ class BookmarkListRootFragmentUnitTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
AppAdapter.set(TestAppAdapter()) AppAdapter.set(TestAppAdapter())
activity = Robolectric.buildActivity(MainActivity::class.java).create().get() activity = Robolectric.buildActivity(MainActivity::class.java).create().get()
context = ApplicationProvider.getApplicationContext() context = ApplicationProvider.getApplicationContext()

View file

@ -20,7 +20,7 @@ class BookmarksPagerAdapterTests {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
bookmarksPagerAdapter = BookmarksPagerAdapter(fragmentManager, context, false) bookmarksPagerAdapter = BookmarksPagerAdapter(fragmentManager, context, false)
} }

View file

@ -26,7 +26,7 @@ class LoggedOutBookmarksPagerAdapterTests {
*/ */
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
bookmarksPagerAdapter = BookmarksPagerAdapter(fragmentManager, context, true) bookmarksPagerAdapter = BookmarksPagerAdapter(fragmentManager, context, true)
} }

View file

@ -19,7 +19,7 @@ class BookmarkItemsControllerTest {
@Before @Before
fun setup() { fun setup() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
whenever(bookmarkDao!!.allBookmarksItems) whenever(bookmarkDao!!.allBookmarksItems)
.thenReturn(mockBookmarkList) .thenReturn(mockBookmarkList)
} }

View file

@ -16,6 +16,7 @@ import org.junit.Assert
import org.junit.Before import org.junit.Before
import org.junit.Test import org.junit.Test
import org.junit.runner.RunWith import org.junit.runner.RunWith
import org.mockito.Mockito.verifyNoInteractions
import org.robolectric.RobolectricTestRunner import org.robolectric.RobolectricTestRunner
import org.robolectric.annotation.Config import org.robolectric.annotation.Config
@ -230,112 +231,112 @@ class BookmarkItemsDaoTest {
fun migrateTableVersionFrom_v1_to_v2() { fun migrateTableVersionFrom_v1_to_v2() {
onUpdate(database, 1, 2) onUpdate(database, 1, 2)
// Table didn't exist before v5 // Table didn't exist before v5
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v2_to_v3() { fun migrateTableVersionFrom_v2_to_v3() {
onUpdate(database, 2, 3) onUpdate(database, 2, 3)
// Table didn't exist before v5 // Table didn't exist before v5
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v3_to_v4() { fun migrateTableVersionFrom_v3_to_v4() {
onUpdate(database, 3, 4) onUpdate(database, 3, 4)
// Table didn't exist before v5 // Table didn't exist before v5
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v4_to_v5() { fun migrateTableVersionFrom_v4_to_v5() {
onUpdate(database, 4, 5) onUpdate(database, 4, 5)
// Table didn't change in version 5 // Table didn't change in version 5
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v5_to_v6() { fun migrateTableVersionFrom_v5_to_v6() {
onUpdate(database, 5, 6) onUpdate(database, 5, 6)
// Table didn't change in version 6 // Table didn't change in version 6
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v6_to_v7() { fun migrateTableVersionFrom_v6_to_v7() {
onUpdate(database, 6, 7) onUpdate(database, 6, 7)
// Table didn't change in version 7 // Table didn't change in version 7
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v7_to_v8() { fun migrateTableVersionFrom_v7_to_v8() {
onUpdate(database, 7, 8) onUpdate(database, 7, 8)
// Table didn't change in version 8 // Table didn't change in version 8
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v8_to_v9() { fun migrateTableVersionFrom_v8_to_v9() {
onUpdate(database, 8, 9) onUpdate(database, 8, 9)
// Table didn't change in version 9 // Table didn't change in version 9
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v9_to_v10() { fun migrateTableVersionFrom_v9_to_v10() {
onUpdate(database, 9, 10) onUpdate(database, 9, 10)
// Table didn't change in version 10 // Table didn't change in version 10
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v10_to_v11() { fun migrateTableVersionFrom_v10_to_v11() {
onUpdate(database, 10, 11) onUpdate(database, 10, 11)
// Table didn't change in version 11 // Table didn't change in version 11
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v11_to_v12() { fun migrateTableVersionFrom_v11_to_v12() {
onUpdate(database, 11, 12) onUpdate(database, 11, 12)
// Table didn't change in version 12 // Table didn't change in version 12
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v12_to_v13() { fun migrateTableVersionFrom_v12_to_v13() {
onUpdate(database, 12, 13) onUpdate(database, 12, 13)
// Table didn't change in version 13 // Table didn't change in version 13
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v13_to_v14() { fun migrateTableVersionFrom_v13_to_v14() {
onUpdate(database, 13, 14) onUpdate(database, 13, 14)
// Table didn't change in version 14 // Table didn't change in version 14
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v14_to_v15() { fun migrateTableVersionFrom_v14_to_v15() {
onUpdate(database, 14, 15) onUpdate(database, 14, 15)
// Table didn't change in version 15 // Table didn't change in version 15
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v15_to_v16() { fun migrateTableVersionFrom_v15_to_v16() {
onUpdate(database, 15, 16) onUpdate(database, 15, 16)
// Table didn't change in version 16 // Table didn't change in version 16
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v16_to_v17() { fun migrateTableVersionFrom_v16_to_v17() {
onUpdate(database, 16, 17) onUpdate(database, 16, 17)
// Table didn't change in version 17 // Table didn't change in version 17
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
@ -347,7 +348,7 @@ class BookmarkItemsDaoTest {
@Test @Test
fun migrateTableVersionFrom_v19_to_v19() { fun migrateTableVersionFrom_v19_to_v19() {
onUpdate(database, 19, 19) onUpdate(database, 19, 19)
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
private fun createCursor(rowCount: Int) = MatrixCursor(columns, rowCount).apply { private fun createCursor(rowCount: Int) = MatrixCursor(columns, rowCount).apply {

View file

@ -76,7 +76,7 @@ class BookmarkItemsFragmentUnitTest {
*/ */
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
context = ApplicationProvider.getApplicationContext() context = ApplicationProvider.getApplicationContext()
AppAdapter.set(TestAppAdapter()) AppAdapter.set(TestAppAdapter())
val activity = Robolectric.buildActivity(ProfileActivity::class.java).create().get() val activity = Robolectric.buildActivity(ProfileActivity::class.java).create().get()

View file

@ -19,6 +19,7 @@ import org.junit.Assert.*
import org.junit.Before import org.junit.Before
import org.junit.Test import org.junit.Test
import org.junit.runner.RunWith import org.junit.runner.RunWith
import org.mockito.Mockito.verifyNoInteractions
import org.robolectric.RobolectricTestRunner import org.robolectric.RobolectricTestRunner
import org.robolectric.annotation.Config import org.robolectric.annotation.Config
@ -215,42 +216,42 @@ class BookMarkLocationDaoTest {
fun migrateTableVersionFrom_v1_to_v2() { fun migrateTableVersionFrom_v1_to_v2() {
onUpdate(database, 1, 2) onUpdate(database, 1, 2)
// Table didnt exist before v5 // Table didnt exist before v5
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v2_to_v3() { fun migrateTableVersionFrom_v2_to_v3() {
onUpdate(database, 2, 3) onUpdate(database, 2, 3)
// Table didnt exist before v5 // Table didnt exist before v5
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v3_to_v4() { fun migrateTableVersionFrom_v3_to_v4() {
onUpdate(database, 3, 4) onUpdate(database, 3, 4)
// Table didnt exist before v5 // Table didnt exist before v5
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v4_to_v5() { fun migrateTableVersionFrom_v4_to_v5() {
onUpdate(database, 4, 5) onUpdate(database, 4, 5)
// Table didnt change in version 5 // Table didnt change in version 5
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v5_to_v6() { fun migrateTableVersionFrom_v5_to_v6() {
onUpdate(database, 5, 6) onUpdate(database, 5, 6)
// Table didnt change in version 6 // Table didnt change in version 6
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v6_to_v7() { fun migrateTableVersionFrom_v6_to_v7() {
onUpdate(database, 6, 7) onUpdate(database, 6, 7)
// Table didnt change in version 7 // Table didnt change in version 7
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test

View file

@ -18,6 +18,7 @@ import fr.free.nrw.commons.bookmarks.pictures.BookmarkPicturesDao.Table.*
import org.junit.Assert.* import org.junit.Assert.*
import org.junit.Before import org.junit.Before
import org.junit.Test import org.junit.Test
import org.mockito.Mockito.verifyNoInteractions
@RunWith(RobolectricTestRunner::class) @RunWith(RobolectricTestRunner::class)
@Config(sdk = [21], application = TestCommonsApplication::class) @Config(sdk = [21], application = TestCommonsApplication::class)
@ -165,42 +166,42 @@ class BookmarkPictureDaoTest {
fun migrateTableVersionFrom_v1_to_v2() { fun migrateTableVersionFrom_v1_to_v2() {
onUpdate(database, 1, 2) onUpdate(database, 1, 2)
// Table didn't exist before v5 // Table didn't exist before v5
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v2_to_v3() { fun migrateTableVersionFrom_v2_to_v3() {
onUpdate(database, 2, 3) onUpdate(database, 2, 3)
// Table didn't exist before v5 // Table didn't exist before v5
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v3_to_v4() { fun migrateTableVersionFrom_v3_to_v4() {
onUpdate(database, 3, 4) onUpdate(database, 3, 4)
// Table didn't exist before v5 // Table didn't exist before v5
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v4_to_v5() { fun migrateTableVersionFrom_v4_to_v5() {
onUpdate(database, 4, 5) onUpdate(database, 4, 5)
// Table didn't change in version 5 // Table didn't change in version 5
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v5_to_v6() { fun migrateTableVersionFrom_v5_to_v6() {
onUpdate(database, 5, 6) onUpdate(database, 5, 6)
// Table didn't change in version 6 // Table didn't change in version 6
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v6_to_v7() { fun migrateTableVersionFrom_v6_to_v7() {
onUpdate(database, 6, 7) onUpdate(database, 6, 7)
// Table didn't change in version 7 // Table didn't change in version 7
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test

View file

@ -32,7 +32,7 @@ class CategoriesModelTest {
@Before @Before
@Throws(Exception::class) @Throws(Exception::class)
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
categoriesModel = CategoriesModel(categoryClient, categoryDao, gpsCategoryModel) categoriesModel = CategoriesModel(categoryClient, categoryDao, gpsCategoryModel)
} }

View file

@ -24,7 +24,7 @@ class CategoryClientTest {
@Before @Before
@Throws(Exception::class) @Throws(Exception::class)
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
} }
@Test @Test

View file

@ -16,6 +16,7 @@ import org.junit.Assert.*
import org.junit.Before import org.junit.Before
import org.junit.Test import org.junit.Test
import org.junit.runner.RunWith import org.junit.runner.RunWith
import org.mockito.Mockito.verifyNoInteractions
import org.robolectric.RobolectricTestRunner import org.robolectric.RobolectricTestRunner
import org.robolectric.annotation.Config import org.robolectric.annotation.Config
import java.util.* import java.util.*
@ -57,21 +58,21 @@ class CategoryDaoTest {
fun migrateTableVersionFrom_v1_to_v2() { fun migrateTableVersionFrom_v1_to_v2() {
onUpdate(database, 1, 2) onUpdate(database, 1, 2)
// Table didnt exist before v5 // Table didnt exist before v5
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v2_to_v3() { fun migrateTableVersionFrom_v2_to_v3() {
onUpdate(database, 2, 3) onUpdate(database, 2, 3)
// Table didnt exist before v5 // Table didnt exist before v5
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v3_to_v4() { fun migrateTableVersionFrom_v3_to_v4() {
onUpdate(database, 3, 4) onUpdate(database, 3, 4)
// Table didnt exist before v5 // Table didnt exist before v5
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
@ -84,21 +85,21 @@ class CategoryDaoTest {
fun migrateTableVersionFrom_v5_to_v6() { fun migrateTableVersionFrom_v5_to_v6() {
onUpdate(database, 5, 6) onUpdate(database, 5, 6)
// Table didnt change in version 6 // Table didnt change in version 6
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v6_to_v7() { fun migrateTableVersionFrom_v6_to_v7() {
onUpdate(database, 6, 7) onUpdate(database, 6, 7)
// Table didnt change in version 7 // Table didnt change in version 7
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v7_to_v8() { fun migrateTableVersionFrom_v7_to_v8() {
onUpdate(database, 7, 8) onUpdate(database, 7, 8)
// Table didnt change in version 8 // Table didnt change in version 8
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test

View file

@ -39,7 +39,7 @@ class CategoryDetailsActivityUnitTests {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
AppAdapter.set(TestAppAdapter()) AppAdapter.set(TestAppAdapter())

View file

@ -44,7 +44,7 @@ class CategoryEditHelperUnitTests {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
context = ApplicationProvider.getApplicationContext() context = ApplicationProvider.getApplicationContext()
helper = CategoryEditHelper(notificationHelper, pageEditClient, viewUtilWrapper, helper = CategoryEditHelper(notificationHelper, pageEditClient, viewUtilWrapper,
"") "")

View file

@ -48,7 +48,7 @@ class GridViewAdapterUnitTest {
@Throws(Exception::class) @Throws(Exception::class)
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
context = ApplicationProvider.getApplicationContext() context = ApplicationProvider.getApplicationContext()

View file

@ -2,7 +2,6 @@ package fr.free.nrw.commons.contributions
import androidx.arch.core.executor.testing.InstantTaskExecutorRule import androidx.arch.core.executor.testing.InstantTaskExecutorRule
import com.nhaarman.mockitokotlin2.verify import com.nhaarman.mockitokotlin2.verify
import com.nhaarman.mockitokotlin2.verifyZeroInteractions
import com.nhaarman.mockitokotlin2.whenever import com.nhaarman.mockitokotlin2.whenever
import fr.free.nrw.commons.auth.SessionManager import fr.free.nrw.commons.auth.SessionManager
import fr.free.nrw.commons.media.MediaClient import fr.free.nrw.commons.media.MediaClient
@ -17,6 +16,7 @@ import org.mockito.ArgumentMatchers.anyList
import org.mockito.ArgumentMatchers.anyString import org.mockito.ArgumentMatchers.anyString
import org.mockito.Mock import org.mockito.Mock
import org.mockito.Mockito.mock import org.mockito.Mockito.mock
import org.mockito.Mockito.verifyNoInteractions
import org.mockito.MockitoAnnotations import org.mockito.MockitoAnnotations
import java.lang.reflect.Method import java.lang.reflect.Method
@ -114,7 +114,7 @@ class ContributionBoundaryCallbackTest {
) )
method.isAccessible = true method.isAccessible = true
method.invoke(contributionBoundaryCallback) method.invoke(contributionBoundaryCallback)
verifyZeroInteractions(repository); verifyNoInteractions(repository)
verify(mediaClient).getMediaListForUser(anyString()); verify(mediaClient).getMediaListForUser(anyString());
} }
} }

View file

@ -15,6 +15,7 @@ import com.facebook.soloader.SoLoader
import fr.free.nrw.commons.Media import fr.free.nrw.commons.Media
import fr.free.nrw.commons.R import fr.free.nrw.commons.R
import fr.free.nrw.commons.TestCommonsApplication import fr.free.nrw.commons.TestCommonsApplication
import fr.free.nrw.commons.TestUtility.setFinalStatic
import fr.free.nrw.commons.media.MediaClient import fr.free.nrw.commons.media.MediaClient
import fr.free.nrw.commons.profile.ProfileActivity import fr.free.nrw.commons.profile.ProfileActivity
import io.reactivex.disposables.CompositeDisposable import io.reactivex.disposables.CompositeDisposable
@ -25,17 +26,21 @@ import org.junit.runner.RunWith
import org.mockito.Mock import org.mockito.Mock
import org.mockito.Mockito.* import org.mockito.Mockito.*
import org.mockito.MockitoAnnotations import org.mockito.MockitoAnnotations
import org.powermock.core.classloader.annotations.PrepareForTest
import org.powermock.reflect.Whitebox import org.powermock.reflect.Whitebox
import org.robolectric.Robolectric import org.robolectric.Robolectric
import org.robolectric.RobolectricTestRunner import org.robolectric.RobolectricTestRunner
import org.robolectric.Shadows import org.robolectric.Shadows
import org.robolectric.annotation.Config import org.robolectric.annotation.Config
import org.robolectric.annotation.LooperMode import org.robolectric.annotation.LooperMode
import java.lang.reflect.Field
import java.lang.reflect.Method import java.lang.reflect.Method
import java.lang.reflect.Modifier
@RunWith(RobolectricTestRunner::class) @RunWith(RobolectricTestRunner::class)
@Config(sdk = [21], application = TestCommonsApplication::class) @Config(sdk = [21], application = TestCommonsApplication::class)
@LooperMode(LooperMode.Mode.PAUSED) @LooperMode(LooperMode.Mode.PAUSED)
@PrepareForTest(ContributionViewHolder::class)
class ContributionViewHolderUnitTests { class ContributionViewHolderUnitTests {
private lateinit var contributionViewHolder: ContributionViewHolder private lateinit var contributionViewHolder: ContributionViewHolder
@ -116,14 +121,9 @@ class ContributionViewHolderUnitTests {
progressView = parent.findViewById(R.id.contributionProgress) progressView = parent.findViewById(R.id.contributionProgress)
Whitebox.setInternalState(contributionViewHolder, "progressView", progressView) Whitebox.setInternalState(contributionViewHolder, "progressView", progressView)
setFinalStatic(
ContributionViewHolder::class.java.getDeclaredField("compositeDisposable"),
Whitebox.setInternalState( compositeDisposable)
contributionViewHolder,
"compositeDisposable",
compositeDisposable
)
} }
@Test @Test

View file

@ -3,14 +3,9 @@ package fr.free.nrw.commons.contributions
import androidx.arch.core.executor.testing.InstantTaskExecutorRule import androidx.arch.core.executor.testing.InstantTaskExecutorRule
import com.nhaarman.mockitokotlin2.times import com.nhaarman.mockitokotlin2.times
import com.nhaarman.mockitokotlin2.verify import com.nhaarman.mockitokotlin2.verify
import com.nhaarman.mockitokotlin2.verifyZeroInteractions
import com.nhaarman.mockitokotlin2.whenever import com.nhaarman.mockitokotlin2.whenever
import fr.free.nrw.commons.Media
import fr.free.nrw.commons.auth.SessionManager
import fr.free.nrw.commons.media.MediaClient
import io.reactivex.Completable import io.reactivex.Completable
import io.reactivex.Scheduler import io.reactivex.Scheduler
import io.reactivex.Single
import io.reactivex.schedulers.Schedulers import io.reactivex.schedulers.Schedulers
import org.junit.Before import org.junit.Before
import org.junit.Rule import org.junit.Rule
@ -18,7 +13,6 @@ import org.junit.Test
import org.mockito.ArgumentMatchers import org.mockito.ArgumentMatchers
import org.mockito.ArgumentMatchers.any import org.mockito.ArgumentMatchers.any
import org.mockito.Mock import org.mockito.Mock
import org.mockito.Mockito
import org.mockito.Mockito.mock import org.mockito.Mockito.mock
import org.mockito.MockitoAnnotations import org.mockito.MockitoAnnotations

View file

@ -8,18 +8,23 @@ import androidx.test.core.app.ApplicationProvider
import com.nhaarman.mockitokotlin2.whenever import com.nhaarman.mockitokotlin2.whenever
import fr.free.nrw.commons.TestAppAdapter import fr.free.nrw.commons.TestAppAdapter
import fr.free.nrw.commons.TestCommonsApplication import fr.free.nrw.commons.TestCommonsApplication
import fr.free.nrw.commons.TestUtility.setFinalStatic
import org.junit.Before import org.junit.Before
import org.junit.Test import org.junit.Test
import org.junit.runner.RunWith import org.junit.runner.RunWith
import org.mockito.Mock import org.mockito.Mock
import org.mockito.MockitoAnnotations import org.mockito.MockitoAnnotations
import org.powermock.core.classloader.annotations.PrepareForTest
import org.powermock.reflect.Whitebox import org.powermock.reflect.Whitebox
import org.robolectric.RobolectricTestRunner import org.robolectric.RobolectricTestRunner
import org.robolectric.annotation.Config import org.robolectric.annotation.Config
import org.wikipedia.AppAdapter import org.wikipedia.AppAdapter
import java.lang.reflect.Field
import java.lang.reflect.Modifier
@RunWith(RobolectricTestRunner::class) @RunWith(RobolectricTestRunner::class)
@Config(sdk = [21], application = TestCommonsApplication::class) @Config(sdk = [21], application = TestCommonsApplication::class)
@PrepareForTest(OnSwipeTouchListener::class)
internal class OnSwipeTouchListenerTest { internal class OnSwipeTouchListenerTest {
private lateinit var context: Context private lateinit var context: Context
@ -42,13 +47,14 @@ internal class OnSwipeTouchListenerTest {
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.initMocks(this)
AppAdapter.set(TestAppAdapter()) AppAdapter.set(TestAppAdapter())
// motionEvent1 = MotionEvent.obtain(200, 300, MotionEvent.ACTION_MOVE, 15.0f, 10.0f, 0);
context = ApplicationProvider.getApplicationContext() context = ApplicationProvider.getApplicationContext()
onSwipeTouchListener = OnSwipeTouchListener(context) onSwipeTouchListener = OnSwipeTouchListener(context)
gesListener = OnSwipeTouchListener(context).GestureListener() gesListener = OnSwipeTouchListener(context).GestureListener()
setFinalStatic(
Whitebox.setInternalState(onSwipeTouchListener, "gestureDetector", gestureDetector) OnSwipeTouchListener::class.java.getDeclaredField("gestureDetector"),
gestureDetector)
} }
/** /**
@ -56,9 +62,10 @@ internal class OnSwipeTouchListenerTest {
*/ */
@Test @Test
fun onTouch() { fun onTouch() {
val motionEvent = MotionEvent.obtain(200, 300, MotionEvent.ACTION_MOVE, 15.0f, 10.0f, 0);
val func = onSwipeTouchListener.javaClass.getDeclaredMethod("onTouch", View::class.java, MotionEvent::class.java) val func = onSwipeTouchListener.javaClass.getDeclaredMethod("onTouch", View::class.java, MotionEvent::class.java)
func.isAccessible = true func.isAccessible = true
func.invoke(onSwipeTouchListener, view, motionEvent1) func.invoke(onSwipeTouchListener, view, motionEvent)
} }

View file

@ -10,6 +10,7 @@ import android.widget.GridLayout
import com.nhaarman.mockitokotlin2.any import com.nhaarman.mockitokotlin2.any
import com.nhaarman.mockitokotlin2.whenever import com.nhaarman.mockitokotlin2.whenever
import fr.free.nrw.commons.TestCommonsApplication import fr.free.nrw.commons.TestCommonsApplication
import fr.free.nrw.commons.TestUtility.setFinalStatic
import fr.free.nrw.commons.customselector.listeners.FolderClickListener import fr.free.nrw.commons.customselector.listeners.FolderClickListener
import fr.free.nrw.commons.customselector.model.Folder import fr.free.nrw.commons.customselector.model.Folder
import fr.free.nrw.commons.customselector.model.Image import fr.free.nrw.commons.customselector.model.Image
@ -25,6 +26,8 @@ import org.powermock.reflect.Whitebox
import org.robolectric.Robolectric import org.robolectric.Robolectric
import org.robolectric.RobolectricTestRunner import org.robolectric.RobolectricTestRunner
import org.robolectric.annotation.Config import org.robolectric.annotation.Config
import java.lang.reflect.Field
import java.lang.reflect.Modifier
/** /**
* Custom Selector Folder Adapter Test. * Custom Selector Folder Adapter Test.
@ -49,7 +52,7 @@ class FolderAdapterTest {
@Before @Before
@Throws(Exception::class) @Throws(Exception::class)
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
activity = Robolectric.buildActivity(CustomSelectorActivity::class.java).get() activity = Robolectric.buildActivity(CustomSelectorActivity::class.java).get()
image = Image(1, "image", uri, "abc/abc", 1, "bucket1") image = Image(1, "image", uri, "abc/abc", 1, "bucket1")
@ -76,7 +79,6 @@ class FolderAdapterTest {
whenever(context.contentResolver).thenReturn(mockContentResolver) whenever(context.contentResolver).thenReturn(mockContentResolver)
whenever(mockContentResolver.getType(any())).thenReturn("jpg") whenever(mockContentResolver.getType(any())).thenReturn("jpg")
Whitebox.setInternalState(folderAdapter, "context", context)
folderAdapter.init(folderList) folderAdapter.init(folderList)
folderAdapter.onBindViewHolder(FolderAdapter.FolderViewHolder(listItemView), 0) folderAdapter.onBindViewHolder(FolderAdapter.FolderViewHolder(listItemView), 0)
} }

View file

@ -10,6 +10,7 @@ import android.widget.GridLayout
import com.nhaarman.mockitokotlin2.whenever import com.nhaarman.mockitokotlin2.whenever
import fr.free.nrw.commons.R import fr.free.nrw.commons.R
import fr.free.nrw.commons.TestCommonsApplication import fr.free.nrw.commons.TestCommonsApplication
import fr.free.nrw.commons.TestUtility.setFinalStatic
import fr.free.nrw.commons.customselector.listeners.ImageSelectListener import fr.free.nrw.commons.customselector.listeners.ImageSelectListener
import fr.free.nrw.commons.customselector.model.Image import fr.free.nrw.commons.customselector.model.Image
import fr.free.nrw.commons.customselector.ui.selector.CustomSelectorActivity import fr.free.nrw.commons.customselector.ui.selector.CustomSelectorActivity
@ -33,6 +34,7 @@ import org.robolectric.Robolectric
import org.robolectric.RobolectricTestRunner import org.robolectric.RobolectricTestRunner
import org.robolectric.annotation.Config import org.robolectric.annotation.Config
import java.lang.reflect.Field import java.lang.reflect.Field
import java.lang.reflect.Modifier
import java.util.* import java.util.*
import kotlin.collections.ArrayList import kotlin.collections.ArrayList
@ -107,8 +109,6 @@ class ImageAdapterTest {
whenever(context.contentResolver).thenReturn(mockContentResolver) whenever(context.contentResolver).thenReturn(mockContentResolver)
whenever(mockContentResolver.getType(uri)).thenReturn("jpg") whenever(mockContentResolver.getType(uri)).thenReturn("jpg")
Whitebox.setInternalState(imageAdapter, "context", context)
// Parameters. // Parameters.
images.add(image) images.add(image)
imageAdapter.init(images, images, TreeMap()) imageAdapter.init(images, images, TreeMap())

View file

@ -42,7 +42,7 @@ class CustomSelectorActivityTest {
*/ */
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
AppAdapter.set(TestAppAdapter()) AppAdapter.set(TestAppAdapter())
activity = Robolectric.buildActivity(CustomSelectorActivity::class.java) activity = Robolectric.buildActivity(CustomSelectorActivity::class.java)

View file

@ -8,6 +8,7 @@ import com.nhaarman.mockitokotlin2.doReturn
import com.nhaarman.mockitokotlin2.mock import com.nhaarman.mockitokotlin2.mock
import com.nhaarman.mockitokotlin2.same import com.nhaarman.mockitokotlin2.same
import fr.free.nrw.commons.TestCommonsApplication import fr.free.nrw.commons.TestCommonsApplication
import fr.free.nrw.commons.TestUtility.setFinalStatic
import fr.free.nrw.commons.customselector.listeners.ImageLoaderListener import fr.free.nrw.commons.customselector.listeners.ImageLoaderListener
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
@ -23,6 +24,8 @@ import org.robolectric.annotation.Config
import org.robolectric.annotation.LooperMode import org.robolectric.annotation.LooperMode
import org.robolectric.fakes.RoboCursor import org.robolectric.fakes.RoboCursor
import java.io.File import java.io.File
import java.lang.reflect.Field
import java.lang.reflect.Modifier
import kotlin.coroutines.CoroutineContext import kotlin.coroutines.CoroutineContext
/** /**
@ -67,8 +70,9 @@ class ImageFileLoaderTest {
MediaStore.Images.Media.BUCKET_DISPLAY_NAME, MediaStore.Images.Media.BUCKET_DISPLAY_NAME,
MediaStore.Images.Media.DATE_ADDED MediaStore.Images.Media.DATE_ADDED
) )
setFinalStatic(
Whitebox.setInternalState(imageFileLoader, "coroutineContext", coroutineContext) ImageFileLoader::class.java.getDeclaredField("coroutineContext"),
coroutineContext)
} }
/** /**

View file

@ -6,6 +6,7 @@ import android.content.SharedPreferences
import android.net.Uri import android.net.Uri
import com.nhaarman.mockitokotlin2.* import com.nhaarman.mockitokotlin2.*
import fr.free.nrw.commons.TestCommonsApplication import fr.free.nrw.commons.TestCommonsApplication
import fr.free.nrw.commons.TestUtility.setFinalStatic
import fr.free.nrw.commons.customselector.database.NotForUploadStatusDao import fr.free.nrw.commons.customselector.database.NotForUploadStatusDao
import fr.free.nrw.commons.customselector.database.UploadedStatus import fr.free.nrw.commons.customselector.database.UploadedStatus
import fr.free.nrw.commons.customselector.database.UploadedStatusDao import fr.free.nrw.commons.customselector.database.UploadedStatusDao
@ -24,22 +25,28 @@ import kotlinx.coroutines.test.*
import org.junit.After import org.junit.After
import org.junit.Before import org.junit.Before
import org.junit.Test import org.junit.Test
import org.junit.jupiter.api.AfterAll
import org.junit.jupiter.api.BeforeAll
import org.junit.runner.RunWith import org.junit.runner.RunWith
import org.mockito.* import org.mockito.*
import org.mockito.Mockito.mockStatic
import org.powermock.api.mockito.PowerMockito import org.powermock.api.mockito.PowerMockito
import org.powermock.core.classloader.annotations.PrepareForTest import org.powermock.core.classloader.annotations.PrepareForTest
import org.powermock.modules.junit4.PowerMockRunner import org.powermock.modules.junit4.PowerMockRunner
import org.powermock.reflect.Whitebox import org.powermock.reflect.Whitebox
import org.robolectric.RobolectricTestRunner
import org.robolectric.annotation.Config import org.robolectric.annotation.Config
import java.io.File import java.io.File
import java.io.FileInputStream import java.io.FileInputStream
import java.lang.reflect.Field
import java.lang.reflect.Modifier
import java.util.* import java.util.*
import kotlin.collections.HashMap import kotlin.collections.HashMap
/** /**
* Image Loader Test. * Image Loader Test.
*/ */
@RunWith(PowerMockRunner::class) @RunWith(RobolectricTestRunner::class)
@PrepareForTest(PickedFiles::class) @PrepareForTest(PickedFiles::class)
@Config(sdk = [21], application = TestCommonsApplication::class) @Config(sdk = [21], application = TestCommonsApplication::class)
@ExperimentalCoroutinesApi @ExperimentalCoroutinesApi
@ -89,13 +96,15 @@ class ImageLoaderTest {
private var mapHolderImage : HashMap<ImageAdapter.ImageViewHolder, Image> = HashMap() private var mapHolderImage : HashMap<ImageAdapter.ImageViewHolder, Image> = HashMap()
private var mapResult: HashMap<String, ImageLoader.Result> = HashMap() private var mapResult: HashMap<String, ImageLoader.Result> = HashMap()
private var mapModifiedImageSHA1: HashMap<Image, String> = HashMap() private var mapModifiedImageSHA1: HashMap<Image, String> = HashMap()
private lateinit var image: Image; private lateinit var image: Image
private lateinit var uploadedStatus: UploadedStatus; private lateinit var uploadedStatus: UploadedStatus
private lateinit var mockedPickedFiles: MockedStatic<PickedFiles>
/** /**
* Setup before test. * Setup before test.
*/ */
@Before @Before
@BeforeAll
@ExperimentalCoroutinesApi @ExperimentalCoroutinesApi
fun setup() { fun setup() {
Dispatchers.setMain(testDispacher) Dispatchers.setMain(testDispacher)
@ -117,11 +126,13 @@ class ImageLoaderTest {
Whitebox.setInternalState(imageLoader, "mapHolderImage", mapHolderImage); Whitebox.setInternalState(imageLoader, "mapHolderImage", mapHolderImage);
Whitebox.setInternalState(imageLoader, "mapModifiedImageSHA1", mapModifiedImageSHA1); Whitebox.setInternalState(imageLoader, "mapModifiedImageSHA1", mapModifiedImageSHA1);
Whitebox.setInternalState(imageLoader, "mapResult", mapResult); Whitebox.setInternalState(imageLoader, "mapResult", mapResult);
Whitebox.setInternalState(imageLoader, "context", context) setFinalStatic(
ImageLoader::class.java.getDeclaredField("context"),
context)
whenever(contentResolver.openInputStream(uri)).thenReturn(inputStream) whenever(contentResolver.openInputStream(uri)).thenReturn(inputStream)
whenever(context.contentResolver).thenReturn(contentResolver) whenever(context.contentResolver).thenReturn(contentResolver)
whenever(fileUtilsWrapper.getSHA1(inputStream)).thenReturn("testSha1") whenever(fileUtilsWrapper.getSHA1(inputStream)).thenReturn("testSha1")
mockedPickedFiles = mockStatic(PickedFiles::class.java)
} }
/** /**
@ -132,6 +143,7 @@ class ImageLoaderTest {
fun tearDown() { fun tearDown() {
Dispatchers.resetMain() Dispatchers.resetMain()
testDispacher.cleanupTestCoroutines() testDispacher.cleanupTestCoroutines()
mockedPickedFiles.close();
} }
/** /**
@ -173,7 +185,7 @@ class ImageLoaderTest {
whenever(notForUploadStatusDao.find(any())).thenReturn(0) whenever(notForUploadStatusDao.find(any())).thenReturn(0)
whenever(uploadedStatusDao.findByImageSHA1(any(), any())).thenReturn(0) whenever(uploadedStatusDao.findByImageSHA1(any(), any())).thenReturn(0)
whenever(uploadedStatusDao.findByModifiedImageSHA1(any(), any())).thenReturn(0) whenever(uploadedStatusDao.findByModifiedImageSHA1(any(), any())).thenReturn(0)
PowerMockito.mockStatic(PickedFiles::class.java) // mockStatic(PickedFiles::class.java)
BDDMockito.given(PickedFiles.pickedExistingPicture(context, image.uri)) BDDMockito.given(PickedFiles.pickedExistingPicture(context, image.uri))
.willReturn(UploadableFile(uri, File("ABC"))) .willReturn(UploadableFile(uri, File("ABC")))
whenever(fileUtilsWrapper.getFileInputStream("ABC")).thenReturn(inputStream) whenever(fileUtilsWrapper.getFileInputStream("ABC")).thenReturn(inputStream)
@ -200,7 +212,6 @@ class ImageLoaderTest {
@ExperimentalCoroutinesApi @ExperimentalCoroutinesApi
fun testGetSha1() = testDispacher.runBlockingTest { fun testGetSha1() = testDispacher.runBlockingTest {
PowerMockito.mockStatic(PickedFiles::class.java)
BDDMockito.given(PickedFiles.pickedExistingPicture(context, image.uri)) BDDMockito.given(PickedFiles.pickedExistingPicture(context, image.uri))
.willReturn(UploadableFile(uri, File("ABC"))) .willReturn(UploadableFile(uri, File("ABC")))

View file

@ -57,7 +57,7 @@ class DeleteHelperTest {
*/ */
@Before @Before
fun setup() { fun setup() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
deleteHelper = DeleteHelper(mock(), pageEditClient, mock(), "") deleteHelper = DeleteHelper(mock(), pageEditClient, mock(), "")
} }

View file

@ -39,7 +39,7 @@ class ReasonBuilderTest {
@Before @Before
@Throws(Exception::class) @Throws(Exception::class)
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
val resources = mock(Resources::class.java) val resources = mock(Resources::class.java)
`when`(resources!!.getString(anyInt())).thenReturn("test") `when`(resources!!.getString(anyInt())).thenReturn("test")
`when`(context!!.resources).thenReturn(resources) `when`(context!!.resources).thenReturn(resources)

View file

@ -42,7 +42,7 @@ class BasePagingPresenterTest {
@Before @Before
@Throws(Exception::class) @Throws(Exception::class)
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
whenever(pageableBaseDataSource.pagingResults).thenReturn(searchResults) whenever(pageableBaseDataSource.pagingResults).thenReturn(searchResults)
whenever(pageableBaseDataSource.loadingStates).thenReturn(loadingStates) whenever(pageableBaseDataSource.loadingStates).thenReturn(loadingStates)
whenever(pageableBaseDataSource.noItemsLoadedQueries) whenever(pageableBaseDataSource.noItemsLoadedQueries)

View file

@ -53,7 +53,7 @@ class ExploreFragmentUnitTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
context = ApplicationProvider.getApplicationContext() context = ApplicationProvider.getApplicationContext()
AppAdapter.set(TestAppAdapter()) AppAdapter.set(TestAppAdapter())

View file

@ -73,7 +73,7 @@ class ExploreListRootFragmentUnitTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
context = ApplicationProvider.getApplicationContext() context = ApplicationProvider.getApplicationContext()
AppAdapter.set(TestAppAdapter()) AppAdapter.set(TestAppAdapter())

View file

@ -22,7 +22,7 @@ class PageableBaseDataSourceTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
pageableBaseDataSource = object: PageableBaseDataSource<String>(liveDataConverter){ pageableBaseDataSource = object: PageableBaseDataSource<String>(liveDataConverter){
override val loadFunction: LoadFunction<String> override val loadFunction: LoadFunction<String>
get() = mock() get() = mock()

View file

@ -31,7 +31,7 @@ class PagingDataSourceFactoryTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
factory = object : PagingDataSourceFactory<String>(loadingStates) { factory = object : PagingDataSourceFactory<String>(loadingStates) {
override val loadFunction get() = function override val loadFunction get() = function
} }

View file

@ -12,6 +12,7 @@ import org.junit.After
import org.junit.Before import org.junit.Before
import org.junit.Test import org.junit.Test
import org.mockito.Mock import org.mockito.Mock
import org.mockito.Mockito.verifyNoInteractions
import org.mockito.MockitoAnnotations import org.mockito.MockitoAnnotations
class PagingDataSourceTest { class PagingDataSourceTest {
@ -25,7 +26,7 @@ class PagingDataSourceTest {
@Before @Before
fun setUp() { fun setUp() {
RxJavaPlugins.setIoSchedulerHandler { Schedulers.trampoline() } RxJavaPlugins.setIoSchedulerHandler { Schedulers.trampoline() }
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
loadingStates = PublishProcessor.create() loadingStates = PublishProcessor.create()
searchDepictionsDataSource = searchDepictionsDataSource =
TestPagingDataSource( TestPagingDataSource(
@ -88,7 +89,7 @@ class PagingDataSourceTest {
@Test @Test
fun `retryFailedRequest does nothing when null`() { fun `retryFailedRequest does nothing when null`() {
searchDepictionsDataSource.retryFailedRequest() searchDepictionsDataSource.retryFailedRequest()
verifyNoMoreInteractions(mockGetItems) verifyNoInteractions(mockGetItems)
} }
@Test @Test

View file

@ -21,7 +21,7 @@ class PageableCategoriesMediaDataSourceTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
} }
@Test @Test

View file

@ -20,7 +20,7 @@ class PageableParentCategoriesDataSourceTest{
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
} }
@Test @Test

View file

@ -20,7 +20,7 @@ class PageableSubCategoriesDataSourceTest{
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
} }
@Test @Test

View file

@ -26,7 +26,7 @@ class DepictsClientTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
depictsClient = DepictsClient(depictsInterface) depictsClient = DepictsClient(depictsInterface)
} }

View file

@ -64,7 +64,7 @@ class WikidataItemDetailsActivityUnitTests {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
AppAdapter.set(TestAppAdapter()) AppAdapter.set(TestAppAdapter())
val intent = Intent( val intent = Intent(
ApplicationProvider.getApplicationContext(), ApplicationProvider.getApplicationContext(),

View file

@ -19,7 +19,7 @@ class PageableChildDepictionsDataSourceTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
} }
@Test @Test

View file

@ -20,7 +20,7 @@ class PageableParentDepictionsDataSourceTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
} }
@Test @Test

View file

@ -33,7 +33,7 @@ class MediaConverterTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
mediaConverter = MediaConverter() mediaConverter = MediaConverter()
} }

View file

@ -18,7 +18,7 @@ class PageableMediaDataSourceTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
} }
@Test @Test

View file

@ -16,6 +16,7 @@ import org.junit.Assert.*
import org.junit.Before import org.junit.Before
import org.junit.Test import org.junit.Test
import org.junit.runner.RunWith import org.junit.runner.RunWith
import org.mockito.Mockito.verifyNoInteractions
import org.robolectric.RobolectricTestRunner import org.robolectric.RobolectricTestRunner
import org.robolectric.annotation.Config import org.robolectric.annotation.Config
import java.util.* import java.util.*
@ -65,7 +66,7 @@ class RecentSearchesDaoTest {
fun migrateTableVersionFrom_v1_to_v2() { fun migrateTableVersionFrom_v1_to_v2() {
onUpdate(database, 1, 2) onUpdate(database, 1, 2)
// Table didnt exist before v7 // Table didnt exist before v7
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
/** /**
@ -75,7 +76,7 @@ class RecentSearchesDaoTest {
fun migrateTableVersionFrom_v2_to_v3() { fun migrateTableVersionFrom_v2_to_v3() {
onUpdate(database, 2, 3) onUpdate(database, 2, 3)
// Table didnt exist before v7 // Table didnt exist before v7
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
/** /**
@ -85,7 +86,7 @@ class RecentSearchesDaoTest {
fun migrateTableVersionFrom_v3_to_v4() { fun migrateTableVersionFrom_v3_to_v4() {
onUpdate(database, 3, 4) onUpdate(database, 3, 4)
// Table didnt exist before v7 // Table didnt exist before v7
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
/** /**
@ -95,7 +96,7 @@ class RecentSearchesDaoTest {
fun migrateTableVersionFrom_v4_to_v5() { fun migrateTableVersionFrom_v4_to_v5() {
onUpdate(database, 4, 5) onUpdate(database, 4, 5)
// Table didnt exist before v7 // Table didnt exist before v7
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
/** /**
@ -105,7 +106,7 @@ class RecentSearchesDaoTest {
fun migrateTableVersionFrom_v5_to_v6() { fun migrateTableVersionFrom_v5_to_v6() {
onUpdate(database, 5, 6) onUpdate(database, 5, 6)
// Table didnt exist before v7 // Table didnt exist before v7
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
/** /**
@ -124,7 +125,7 @@ class RecentSearchesDaoTest {
fun migrateTableVersionFrom_v7_to_v8() { fun migrateTableVersionFrom_v7_to_v8() {
onUpdate(database, 7, 8) onUpdate(database, 7, 8)
// Table didnt change in version 8 // Table didnt change in version 8
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
/** /**

View file

@ -64,7 +64,7 @@ class RecentSearchesFragmentUnitTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
context = ApplicationProvider.getApplicationContext() context = ApplicationProvider.getApplicationContext()
AppAdapter.set(TestAppAdapter()) AppAdapter.set(TestAppAdapter())

View file

@ -26,7 +26,6 @@ import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertNull import org.junit.jupiter.api.Assertions.assertNull
import org.junit.runner.RunWith import org.junit.runner.RunWith
import org.mockito.Mock import org.mockito.Mock
import org.mockito.Mockito.times
import org.mockito.Mockito.`when` import org.mockito.Mockito.`when`
import org.mockito.MockitoAnnotations import org.mockito.MockitoAnnotations
import org.powermock.api.mockito.PowerMockito.mock import org.powermock.api.mockito.PowerMockito.mock
@ -82,12 +81,9 @@ class SearchActivityUnitTests {
@Mock @Mock
private lateinit var searchCategoryFragment: SearchCategoryFragment private lateinit var searchCategoryFragment: SearchCategoryFragment
@Mock
private lateinit var mFragments: FragmentController
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
activity = Robolectric.buildActivity(SearchActivity::class.java).create().get() activity = Robolectric.buildActivity(SearchActivity::class.java).create().get()
context = ApplicationProvider.getApplicationContext() context = ApplicationProvider.getApplicationContext()
} }
@ -120,12 +116,7 @@ class SearchActivityUnitTests {
@Test @Test
@Throws(Exception::class) @Throws(Exception::class)
fun testOnBackPressed() { fun testOnBackPressed() {
Whitebox.setInternalState(activity, "mFragments", mFragments)
Whitebox.setInternalState(activity, "mediaDetails", mediaDetails)
`when`(mFragments.supportFragmentManager).thenReturn(supportFragmentManager)
`when`(supportFragmentManager.backStackEntryCount).thenReturn(0)
activity.onBackPressed() activity.onBackPressed()
verify(supportFragmentManager, times(2)).backStackEntryCount
} }
@Test @Test
@ -196,42 +187,6 @@ class SearchActivityUnitTests {
assertEquals(activity.totalMediaCount, num) assertEquals(activity.totalMediaCount, num)
} }
@Test
@Throws(Exception::class)
fun testRefreshNominatedMediaCase1() {
Whitebox.setInternalState(activity, "mFragments", mFragments)
Whitebox.setInternalState(activity, "mediaDetails", mediaDetails)
`when`(mFragments.supportFragmentManager).thenReturn(supportFragmentManager)
`when`(supportFragmentManager.backStackEntryCount).thenReturn(1)
`when`(mediaDetails.isVisible).thenReturn(true)
activity.refreshNominatedMedia(0)
}
@Test
@Throws(Exception::class)
fun testRefreshNominatedMediaCase2() {
Whitebox.setInternalState(activity, "mFragments", mFragments)
Whitebox.setInternalState(activity, "mediaDetails", mediaDetails)
`when`(mFragments.supportFragmentManager).thenReturn(supportFragmentManager)
`when`(supportFragmentManager.backStackEntryCount).thenReturn(1)
`when`(mediaDetails.isVisible).thenReturn(true)
activity.refreshNominatedMedia(0)
}
@Test
@Throws(Exception::class)
fun testOnResume() {
Whitebox.setInternalState(activity, "mFragments", mFragments)
Whitebox.setInternalState(activity, "supportFragmentManager", supportFragmentManager)
Whitebox.setInternalState(activity, "mediaDetails", mediaDetails)
`when`(mFragments.supportFragmentManager).thenReturn(supportFragmentManager)
`when`(supportFragmentManager.backStackEntryCount).thenReturn(1)
`when`(mediaDetails.isVisible).thenReturn(true)
val method: Method = SearchActivity::class.java.getDeclaredMethod("onResume")
method.isAccessible = true
method.invoke(activity)
}
@Test @Test
@Throws(Exception::class) @Throws(Exception::class)
fun testHandleSearchCaseEmpty() { fun testHandleSearchCaseEmpty() {

View file

@ -28,7 +28,7 @@ class FeedbackContentCreatorUnitTests {
@Before @Before
fun setup() { fun setup() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
AppAdapter.set(TestAppAdapter()) AppAdapter.set(TestAppAdapter())
context = FakeContextWrapper(ApplicationProvider.getApplicationContext()) context = FakeContextWrapper(ApplicationProvider.getApplicationContext())
} }

View file

@ -7,11 +7,13 @@ import androidx.test.core.app.ApplicationProvider
import com.nhaarman.mockitokotlin2.doReturn import com.nhaarman.mockitokotlin2.doReturn
import fr.free.nrw.commons.TestAppAdapter import fr.free.nrw.commons.TestAppAdapter
import fr.free.nrw.commons.TestCommonsApplication import fr.free.nrw.commons.TestCommonsApplication
import fr.free.nrw.commons.TestUtility.setFinalStatic
import fr.free.nrw.commons.contributions.MainActivity import fr.free.nrw.commons.contributions.MainActivity
import fr.free.nrw.commons.databinding.DialogFeedbackBinding import fr.free.nrw.commons.databinding.DialogFeedbackBinding
import fr.free.nrw.commons.ui.PasteSensitiveTextInputEditText import fr.free.nrw.commons.ui.PasteSensitiveTextInputEditText
import org.junit.Assert import org.junit.Assert
import org.junit.Before import org.junit.Before
import org.junit.Rule
import org.junit.Test import org.junit.Test
import org.junit.runner.RunWith import org.junit.runner.RunWith
import org.mockito.Mock import org.mockito.Mock
@ -40,7 +42,7 @@ class FeedbackDialogTests {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
context = ApplicationProvider.getApplicationContext() context = ApplicationProvider.getApplicationContext()
AppAdapter.set(TestAppAdapter()) AppAdapter.set(TestAppAdapter())
@ -64,9 +66,11 @@ class FeedbackDialogTests {
fun testSubmitFeedbackError() { fun testSubmitFeedbackError() {
val editable = mock(Editable::class.java) val editable = mock(Editable::class.java)
val ed = mock(PasteSensitiveTextInputEditText::class.java) val ed = mock(PasteSensitiveTextInputEditText::class.java)
Whitebox.setInternalState(dialogFeedbackBinding, "feedbackItemEditText", ed) setFinalStatic(
DialogFeedbackBinding::class.java.getDeclaredField("feedbackItemEditText"),
ed)
`when`(ed?.text).thenReturn(editable) `when`(ed?.text).thenReturn(editable)
doReturn(editable).`when`(dialogFeedbackBinding.feedbackItemEditText)?.text doReturn(editable).`when`(ed)?.text
doReturn("").`when`(editable).toString() doReturn("").`when`(editable).toString()
dialog.submitFeedback() dialog.submitFeedback()
} }
@ -76,11 +80,13 @@ class FeedbackDialogTests {
shadowOf(getMainLooper()).idle() shadowOf(getMainLooper()).idle()
val editable: Editable = mock(Editable::class.java) val editable: Editable = mock(Editable::class.java)
val ed = mock(PasteSensitiveTextInputEditText::class.java) val ed = mock(PasteSensitiveTextInputEditText::class.java)
Whitebox.setInternalState(dialogFeedbackBinding, "feedbackItemEditText", ed) setFinalStatic(
DialogFeedbackBinding::class.java.getDeclaredField("feedbackItemEditText"),
ed)
`when`(ed?.text).thenReturn(editable) `when`(ed?.text).thenReturn(editable)
`when`(editable.toString()).thenReturn("1234") `when`(editable.toString()).thenReturn("1234")
Assert.assertEquals(dialogFeedbackBinding.feedbackItemEditText?.text.toString(), "1234") Assert.assertEquals(ed.text.toString(), "1234")
dialog.submitFeedback() dialog.submitFeedback()
} }

View file

@ -63,7 +63,7 @@ class FilePickerTest {
`when`(sharedPref.edit().putInt("type", 0)).thenReturn(sharedPreferencesEditor) `when`(sharedPref.edit().putInt("type", 0)).thenReturn(sharedPreferencesEditor)
FilePicker.openGallery(activity, 0, nextBoolean()) FilePicker.openGallery(activity, 0, nextBoolean())
verify(activity).startActivityForResult( verify(activity).startActivityForResult(
ArgumentMatchers.anyObject(), ArgumentMatchers.any(),
requestCodeCaptor?.capture()?.toInt()!! requestCodeCaptor?.capture()?.toInt()!!
) )
assertEquals(requestCodeCaptor?.value, RequestCodes.PICK_PICTURE_FROM_GALLERY) assertEquals(requestCodeCaptor?.value, RequestCodes.PICK_PICTURE_FROM_GALLERY)
@ -78,7 +78,7 @@ class FilePickerTest {
`when`(activity.applicationContext).thenReturn(mockApplication) `when`(activity.applicationContext).thenReturn(mockApplication)
FilePicker.openCameraForImage(activity, 0) FilePicker.openCameraForImage(activity, 0)
verify(activity).startActivityForResult( verify(activity).startActivityForResult(
ArgumentMatchers.anyObject(), ArgumentMatchers.any(),
requestCodeCaptor?.capture()?.toInt()!! requestCodeCaptor?.capture()?.toInt()!!
) )
assertEquals(requestCodeCaptor?.value, RequestCodes.TAKE_PICTURE) assertEquals(requestCodeCaptor?.value, RequestCodes.TAKE_PICTURE)
@ -227,7 +227,7 @@ class FilePickerTest {
`when`(sharedPref.edit()).thenReturn(sharedPreferencesEditor) `when`(sharedPref.edit()).thenReturn(sharedPreferencesEditor)
`when`(sharedPref.edit().putInt("type", 0)).thenReturn(sharedPreferencesEditor) `when`(sharedPref.edit().putInt("type", 0)).thenReturn(sharedPreferencesEditor)
FilePicker.openCustomSelector(activity, 0) FilePicker.openCustomSelector(activity, 0)
verify(activity).startActivityForResult(ArgumentMatchers.anyObject(), requestCodeCaptor?.capture()?.toInt()!!) verify(activity).startActivityForResult(ArgumentMatchers.any(), requestCodeCaptor?.capture()?.toInt()!!)
assertEquals(requestCodeCaptor?.value, RequestCodes.PICK_PICTURE_FROM_CUSTOM_SELECTOR) assertEquals(requestCodeCaptor?.value, RequestCodes.PICK_PICTURE_FROM_CUSTOM_SELECTOR)
} }
} }

View file

@ -47,7 +47,7 @@ class LoginActivityUnitTests {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
AppAdapter.set(TestAppAdapter()) AppAdapter.set(TestAppAdapter())

View file

@ -68,7 +68,7 @@ class CustomOkHttpNetworkFetcherUnitTest {
@Before @Before
@Throws(Exception::class) @Throws(Exception::class)
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
okHttpClient = OkHttpClient() okHttpClient = OkHttpClient()
fetcher = CustomOkHttpNetworkFetcher(okHttpClient, defaultKvStore) fetcher = CustomOkHttpNetworkFetcher(okHttpClient, defaultKvStore)
whenever(context.imageRequest).thenReturn(imageRequest) whenever(context.imageRequest).thenReturn(imageRequest)

View file

@ -41,7 +41,7 @@ class MediaClientTest {
@Before @Before
@Throws(Exception::class) @Throws(Exception::class)
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
mediaClient = mediaClient =
MediaClient(mediaInterface, pageMediaInterface, mediaDetailInterface, mediaConverter) MediaClient(mediaInterface, pageMediaInterface, mediaDetailInterface, mediaConverter)
} }

View file

@ -60,16 +60,12 @@ class MediaDetailFragmentUnitTests {
private val REQUEST_CODE = 1001 private val REQUEST_CODE = 1001
private val LAST_LOCATION = "last_location_while_uploading" private val LAST_LOCATION = "last_location_while_uploading"
private val REQUEST_CODE_EDIT_DESCRIPTION = 1002
private lateinit var fragment: MediaDetailFragment private lateinit var fragment: MediaDetailFragment
private lateinit var fragmentManager: FragmentManager private lateinit var fragmentManager: FragmentManager
private lateinit var layoutInflater: LayoutInflater private lateinit var layoutInflater: LayoutInflater
private lateinit var view: View private lateinit var view: View
private lateinit var context: Context private lateinit var context: Context
private val NOMINATING_FOR_DELETION_MEDIA = "Nominating for deletion %s"
@Mock @Mock
private lateinit var deleteHelper: DeleteHelper private lateinit var deleteHelper: DeleteHelper
@ -147,7 +143,7 @@ class MediaDetailFragmentUnitTests {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
context = ApplicationProvider.getApplicationContext() context = ApplicationProvider.getApplicationContext()

View file

@ -55,7 +55,7 @@ class MediaDetailPagerFragmentUnitTests {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
context = ApplicationProvider.getApplicationContext() context = ApplicationProvider.getApplicationContext()

View file

@ -43,7 +43,7 @@ class ZoomableActivityUnitTests {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
AppAdapter.set(TestAppAdapter()) AppAdapter.set(TestAppAdapter())
context = ApplicationProvider.getApplicationContext() context = ApplicationProvider.getApplicationContext()
SoLoader.setInTestMode() SoLoader.setInTestMode()

View file

@ -25,7 +25,7 @@ class MultiPointerGestureDetectorUnitTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
detector = MultiPointerGestureDetector() detector = MultiPointerGestureDetector()
detector = MultiPointerGestureDetector.newInstance() detector = MultiPointerGestureDetector.newInstance()
detector.setListener(listener) detector.setListener(listener)

View file

@ -28,7 +28,7 @@ class TransformGestureDetectorUnitTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
detector = TransformGestureDetector(MultiPointerGestureDetector()) detector = TransformGestureDetector(MultiPointerGestureDetector())
detector = TransformGestureDetector.newInstance() detector = TransformGestureDetector.newInstance()
detector.setListener(listener) detector.setListener(listener)

View file

@ -23,7 +23,7 @@ class UserClientTest{
@Before @Before
@Throws(Exception::class) @Throws(Exception::class)
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
} }
@Test @Test

View file

@ -64,7 +64,7 @@ class MoreBottomSheetFragmentUnitTests {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
context = ApplicationProvider.getApplicationContext() context = ApplicationProvider.getApplicationContext()
AppAdapter.set(TestAppAdapter()) AppAdapter.set(TestAppAdapter())

View file

@ -59,7 +59,7 @@ class AdvanceQueryFragmentUnitTests {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
AppAdapter.set(TestAppAdapter()) AppAdapter.set(TestAppAdapter())
activity = Robolectric.buildActivity(MainActivity::class.java).create().get() activity = Robolectric.buildActivity(MainActivity::class.java).create().get()

View file

@ -3,7 +3,6 @@ package fr.free.nrw.commons.nearby
import android.widget.CompoundButton import android.widget.CompoundButton
import androidx.test.core.app.ApplicationProvider import androidx.test.core.app.ApplicationProvider
import com.nhaarman.mockitokotlin2.verify import com.nhaarman.mockitokotlin2.verify
import com.nhaarman.mockitokotlin2.verifyNoMoreInteractions
import fr.free.nrw.commons.TestCommonsApplication import fr.free.nrw.commons.TestCommonsApplication
import fr.free.nrw.commons.location.LatLng import fr.free.nrw.commons.location.LatLng
import fr.free.nrw.commons.nearby.CheckBoxTriStates.CHECKED import fr.free.nrw.commons.nearby.CheckBoxTriStates.CHECKED
@ -12,6 +11,7 @@ import org.junit.Before
import org.junit.Test import org.junit.Test
import org.junit.runner.RunWith import org.junit.runner.RunWith
import org.mockito.Mock import org.mockito.Mock
import org.mockito.Mockito.verifyNoInteractions
import org.mockito.MockitoAnnotations import org.mockito.MockitoAnnotations
import org.robolectric.RobolectricTestRunner import org.robolectric.RobolectricTestRunner
import org.robolectric.annotation.Config import org.robolectric.annotation.Config
@ -31,7 +31,7 @@ class CheckBoxTriStatesTest {
@Before @Before
@Throws(Exception::class) @Throws(Exception::class)
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
checkBoxTriStates = CheckBoxTriStates(ApplicationProvider.getApplicationContext()) checkBoxTriStates = CheckBoxTriStates(ApplicationProvider.getApplicationContext())
checkBoxTriStates.setCallback(callback) checkBoxTriStates.setCallback(callback)
checkBoxTriStates.setOnCheckedChangeListener(onCheckChangeListener) checkBoxTriStates.setOnCheckedChangeListener(onCheckChangeListener)
@ -44,7 +44,7 @@ class CheckBoxTriStatesTest {
fun testSetStateWhenSameState() { fun testSetStateWhenSameState() {
checkBoxTriStates.state = CHECKED checkBoxTriStates.state = CHECKED
checkBoxTriStates.setState(CHECKED) checkBoxTriStates.setState(CHECKED)
verifyNoMoreInteractions(callback) verifyNoInteractions(callback)
} }
/** /**
@ -66,6 +66,6 @@ class CheckBoxTriStatesTest {
NearbyController.currentLocation = null NearbyController.currentLocation = null
checkBoxTriStates.state = CHECKED checkBoxTriStates.state = CHECKED
checkBoxTriStates.setState(UNCHECKED) checkBoxTriStates.setState(UNCHECKED)
verifyNoMoreInteractions(callback) verifyNoInteractions(callback)
} }
} }

View file

@ -39,7 +39,7 @@ class CommonPlaceClickActionsUnitTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
val activity = Robolectric.buildActivity(ProfileActivity::class.java).create().get() val activity = Robolectric.buildActivity(ProfileActivity::class.java).create().get()
commonPlaceClickActions = CommonPlaceClickActions(store, activity, contributionController) commonPlaceClickActions = CommonPlaceClickActions(store, activity, contributionController)
} }

View file

@ -24,7 +24,7 @@ class NearbyBaseMarkerUnitTests {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
marker = NearbyBaseMarker() marker = NearbyBaseMarker()
Whitebox.setInternalState(marker, "icon", icon) Whitebox.setInternalState(marker, "icon", icon)
} }

View file

@ -48,7 +48,7 @@ class NearbyControllerTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
nearbyController = NearbyController(nearbyPlaces) nearbyController = NearbyController(nearbyPlaces)
context = ApplicationProvider.getApplicationContext() context = ApplicationProvider.getApplicationContext()
} }

View file

@ -46,7 +46,7 @@ class NearbyFilterSearchRecyclerViewAdapterUnitTests {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
context = ApplicationProvider.getApplicationContext() context = ApplicationProvider.getApplicationContext()
adapter = NearbyFilterSearchRecyclerViewAdapter(context, ArrayList<Label>(Label.valuesAsList()), recyclerView) adapter = NearbyFilterSearchRecyclerViewAdapter(context, ArrayList<Label>(Label.valuesAsList()), recyclerView)
viewHolder.placeTypeIcon = imageView viewHolder.placeTypeIcon = imageView

View file

@ -14,6 +14,7 @@ import org.junit.Test
import org.mockito.ArgumentMatchers import org.mockito.ArgumentMatchers
import org.mockito.Mock import org.mockito.Mock
import org.mockito.Mockito import org.mockito.Mockito
import org.mockito.Mockito.verifyNoInteractions
import org.mockito.MockitoAnnotations import org.mockito.MockitoAnnotations
import java.util.* import java.util.*
@ -45,7 +46,7 @@ class NearbyParentFragmentPresenterTest {
@Before @Before
@Throws(Exception::class) @Throws(Exception::class)
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
nearbyPresenter = NearbyParentFragmentPresenter(bookmarkLocationsDao) nearbyPresenter = NearbyParentFragmentPresenter(bookmarkLocationsDao)
nearbyPresenter.attachView(nearbyParentFragmentView) nearbyPresenter.attachView(nearbyParentFragmentView)
} }
@ -92,7 +93,7 @@ class NearbyParentFragmentPresenterTest {
nearbyPresenter.lockUnlockNearby(true) nearbyPresenter.lockUnlockNearby(true)
nearbyPresenter.updateMapAndList(null) nearbyPresenter.updateMapAndList(null)
verify(nearbyParentFragmentView).disableFABRecenter() verify(nearbyParentFragmentView).disableFABRecenter()
verifyZeroInteractions(nearbyParentFragmentView) verifyNoMoreInteractions(nearbyParentFragmentView)
} }
/** /**
@ -238,7 +239,7 @@ class NearbyParentFragmentPresenterTest {
fun testFilterByMarkerTypeMultiSelectUNKNOWN() { fun testFilterByMarkerTypeMultiSelectUNKNOWN() {
val state = CheckBoxTriStates.UNKNOWN val state = CheckBoxTriStates.UNKNOWN
nearbyPresenter.filterByMarkerType(selectedLabels,state,false,true) nearbyPresenter.filterByMarkerType(selectedLabels,state,false,true)
verifyZeroInteractions(nearbyParentFragmentView) verifyNoInteractions(nearbyParentFragmentView)
} }
/** /**
@ -499,7 +500,7 @@ class NearbyParentFragmentPresenterTest {
nearbyPresenter.onCameraMove(Mockito.mock(com.mapbox.mapboxsdk.geometry.LatLng::class.java)) nearbyPresenter.onCameraMove(Mockito.mock(com.mapbox.mapboxsdk.geometry.LatLng::class.java))
verify(nearbyParentFragmentView).setProjectorLatLngBounds() verify(nearbyParentFragmentView).setProjectorLatLngBounds()
verify(nearbyParentFragmentView).isNetworkConnectionEstablished() verify(nearbyParentFragmentView).isNetworkConnectionEstablished()
verifyZeroInteractions(nearbyParentFragmentView) verifyNoMoreInteractions(nearbyParentFragmentView)
} }
@Test @Test
@ -509,7 +510,7 @@ class NearbyParentFragmentPresenterTest {
nearbyPresenter.onCameraMove(Mockito.mock(com.mapbox.mapboxsdk.geometry.LatLng::class.java)) nearbyPresenter.onCameraMove(Mockito.mock(com.mapbox.mapboxsdk.geometry.LatLng::class.java))
verify(nearbyParentFragmentView).setProjectorLatLngBounds() verify(nearbyParentFragmentView).setProjectorLatLngBounds()
verify(nearbyParentFragmentView).isNetworkConnectionEstablished() verify(nearbyParentFragmentView).isNetworkConnectionEstablished()
verifyZeroInteractions(nearbyParentFragmentView) verifyNoMoreInteractions(nearbyParentFragmentView)
} }
@Test @Test

View file

@ -127,7 +127,7 @@ class NearbyParentFragmentUnitTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
context = ApplicationProvider.getApplicationContext() context = ApplicationProvider.getApplicationContext()
AppAdapter.set(TestAppAdapter()) AppAdapter.set(TestAppAdapter())

View file

@ -22,7 +22,7 @@ class NearbyPlacesTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
nearbyPlaces = NearbyPlaces(okHttpJsonApiClient) nearbyPlaces = NearbyPlaces(okHttpJsonApiClient)
} }

View file

@ -39,7 +39,7 @@ class ProfileActivityTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
activity = Robolectric.buildActivity(ProfileActivity::class.java).create().get() activity = Robolectric.buildActivity(ProfileActivity::class.java).create().get()
mockContext = ApplicationProvider.getApplicationContext() mockContext = ApplicationProvider.getApplicationContext()
} }

View file

@ -105,7 +105,7 @@ class AchievementsFragmentUnitTests {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
context = ApplicationProvider.getApplicationContext() context = ApplicationProvider.getApplicationContext()
menuItem = RoboMenuItem(context) menuItem = RoboMenuItem(context)
AppAdapter.set(TestAppAdapter()) AppAdapter.set(TestAppAdapter())

View file

@ -28,7 +28,7 @@ class LevelControllerTest {
*/ */
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
levelController = LevelController() levelController = LevelController()
levelInfo = LevelController.LevelInfo.from( levelInfo = LevelController.LevelInfo.from(
IMAGES_UPLOADED_SAMPLE_VALUE, IMAGES_UPLOADED_SAMPLE_VALUE,

View file

@ -40,7 +40,7 @@ class QuizActivityUnitTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
SoLoader.setInTestMode() SoLoader.setInTestMode()
Fresco.initialize(ApplicationProvider.getApplicationContext()) Fresco.initialize(ApplicationProvider.getApplicationContext())
activity = Robolectric.buildActivity(QuizActivity::class.java).create().get() activity = Robolectric.buildActivity(QuizActivity::class.java).create().get()

View file

@ -45,7 +45,7 @@ class QuizCheckerUnitTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
SoLoader.setInTestMode() SoLoader.setInTestMode()
Fresco.initialize(ApplicationProvider.getApplicationContext()) Fresco.initialize(ApplicationProvider.getApplicationContext())
activity = Robolectric.buildActivity(QuizActivity::class.java).create().get() activity = Robolectric.buildActivity(QuizActivity::class.java).create().get()

View file

@ -20,7 +20,7 @@ class QuizControllerTest {
@Before @Before
fun setup() { fun setup() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
`when`(context.getString(any(Int::class.java))) `when`(context.getString(any(Int::class.java)))
.thenReturn("") .thenReturn("")
quizController = QuizController() quizController = QuizController()

View file

@ -27,7 +27,7 @@ class QuizQuestionTest {
@Before @Before
fun setup() { fun setup() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
quizQuestion = QuizQuestion( quizQuestion = QuizQuestion(
QUESTION_NUM_SAMPLE_VALUE, QUESTION_NUM_SAMPLE_VALUE,
QUESTION_SAMPLE_VALUE, QUESTION_SAMPLE_VALUE,

View file

@ -29,7 +29,7 @@ class QuizResultActivityUnitTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
val intent = Intent().putExtra("QuizResult", 0) val intent = Intent().putExtra("QuizResult", 0)
activity = Robolectric.buildActivity(QuizResultActivity::class.java, intent).get() activity = Robolectric.buildActivity(QuizResultActivity::class.java, intent).get()
quizResultActivity = PowerMockito.mock(QuizResultActivity::class.java) quizResultActivity = PowerMockito.mock(QuizResultActivity::class.java)

View file

@ -33,7 +33,7 @@ class RadioGroupHelperUnitTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
radioGroupHelper = RadioGroupHelper() radioGroupHelper = RadioGroupHelper()
} }

View file

@ -37,7 +37,7 @@ class RecentLanguagesAdapterUnitTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
context = RuntimeEnvironment.getApplication().applicationContext context = RuntimeEnvironment.getApplication().applicationContext

View file

@ -24,7 +24,7 @@ class RecentLanguagesContentProviderUnitTest {
@Before @Before
fun setUp(){ fun setUp(){
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
contentProvider = RecentLanguagesContentProvider() contentProvider = RecentLanguagesContentProvider()
Whitebox.setInternalState(contentProvider, "dbOpenHelper", dbOpenHelper) Whitebox.setInternalState(contentProvider, "dbOpenHelper", dbOpenHelper)
} }

View file

@ -13,6 +13,11 @@ import org.junit.Assert
import org.junit.Before import org.junit.Before
import org.junit.Test import org.junit.Test
import org.junit.runner.RunWith import org.junit.runner.RunWith
import org.mockito.ArgumentMatchers.any
import org.mockito.ArgumentMatchers.eq
import org.mockito.Mockito.verify
import org.mockito.Mockito.verifyNoInteractions
import org.mockito.Mockito.verifyNoInteractions
import org.robolectric.RobolectricTestRunner import org.robolectric.RobolectricTestRunner
import org.robolectric.annotation.Config import org.robolectric.annotation.Config
@ -150,119 +155,119 @@ class RecentLanguagesDaoUnitTest {
fun migrateTableVersionFrom_v1_to_v2() { fun migrateTableVersionFrom_v1_to_v2() {
onUpdate(database, 1, 2) onUpdate(database, 1, 2)
// Table didnt exist before v7 // Table didnt exist before v7
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v2_to_v3() { fun migrateTableVersionFrom_v2_to_v3() {
onUpdate(database, 2, 3) onUpdate(database, 2, 3)
// Table didnt exist before v7 // Table didnt exist before v7
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v3_to_v4() { fun migrateTableVersionFrom_v3_to_v4() {
onUpdate(database, 3, 4) onUpdate(database, 3, 4)
// Table didnt exist before v7 // Table didnt exist before v7
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v4_to_v5() { fun migrateTableVersionFrom_v4_to_v5() {
onUpdate(database, 4, 5) onUpdate(database, 4, 5)
// Table didnt exist before v7 // Table didnt exist before v7
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v5_to_v6() { fun migrateTableVersionFrom_v5_to_v6() {
onUpdate(database, 5, 6) onUpdate(database, 5, 6)
// Table didnt exist in version 6 // Table didnt exist in version 6
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v6_to_v7() { fun migrateTableVersionFrom_v6_to_v7() {
onUpdate(database, 6, 7) onUpdate(database, 6, 7)
// Table didnt exist in version 7 // Table didnt exist in version 7
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v7_to_v8() { fun migrateTableVersionFrom_v7_to_v8() {
onUpdate(database, 7, 8) onUpdate(database, 7, 8)
// Table didnt exist in version 8 // Table didnt exist in version 8
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v8_to_v9() { fun migrateTableVersionFrom_v8_to_v9() {
onUpdate(database, 8, 9) onUpdate(database, 8, 9)
// Table didnt exist in version 9 // Table didnt exist in version 9
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v9_to_v10() { fun migrateTableVersionFrom_v9_to_v10() {
onUpdate(database, 9, 10) onUpdate(database, 9, 10)
// Table didnt exist in version 10 // Table didnt exist in version 10
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v10_to_v11() { fun migrateTableVersionFrom_v10_to_v11() {
onUpdate(database, 10, 11) onUpdate(database, 10, 11)
// Table didnt exist in version 11 // Table didnt exist in version 11
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v11_to_v12() { fun migrateTableVersionFrom_v11_to_v12() {
onUpdate(database, 11, 12) onUpdate(database, 11, 12)
// Table didnt exist in version 12 // Table didnt exist in version 12
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v12_to_v13() { fun migrateTableVersionFrom_v12_to_v13() {
onUpdate(database, 12, 13) onUpdate(database, 12, 13)
// Table didnt exist in version 13 // Table didnt exist in version 13
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v13_to_v14() { fun migrateTableVersionFrom_v13_to_v14() {
onUpdate(database, 13, 14) onUpdate(database, 13, 14)
// Table didnt exist in version 14 // Table didnt exist in version 14
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v14_to_v15() { fun migrateTableVersionFrom_v14_to_v15() {
onUpdate(database, 14, 15) onUpdate(database, 14, 15)
// Table didnt exist in version 15 // Table didnt exist in version 15
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v15_to_v16() { fun migrateTableVersionFrom_v15_to_v16() {
onUpdate(database, 15, 16) onUpdate(database, 15, 16)
// Table didnt exist in version 16 // Table didnt exist in version 16
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v16_to_v17() { fun migrateTableVersionFrom_v16_to_v17() {
onUpdate(database, 16, 17) onUpdate(database, 16, 17)
// Table didnt exist in version 17 // Table didnt exist in version 17
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
fun migrateTableVersionFrom_v18_to_v19() { fun migrateTableVersionFrom_v18_to_v19() {
onUpdate(database, 18, 19) onUpdate(database, 18, 19)
// Table didnt exist in version 18 // Table didnt exist in version 18
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test
@ -274,7 +279,7 @@ class RecentLanguagesDaoUnitTest {
@Test @Test
fun migrateTableVersionFrom_v20_to_v20() { fun migrateTableVersionFrom_v20_to_v20() {
onUpdate(database, 20, 20) onUpdate(database, 20, 20)
verifyZeroInteractions(database) verifyNoInteractions(database)
} }
@Test @Test

View file

@ -66,7 +66,7 @@ class ReviewActivityTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
context = ApplicationProvider.getApplicationContext() context = ApplicationProvider.getApplicationContext()

View file

@ -56,7 +56,7 @@ class ReviewControllerTest {
@Before @Before
@Throws(Exception::class) @Throws(Exception::class)
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
context = ApplicationProvider.getApplicationContext() context = ApplicationProvider.getApplicationContext()
AppAdapter.set(TestAppAdapter()) AppAdapter.set(TestAppAdapter())
SoLoader.setInTestMode() SoLoader.setInTestMode()

View file

@ -42,7 +42,7 @@ class ReviewHelperTest {
@Before @Before
@Throws(Exception::class) @Throws(Exception::class)
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
val mwQueryPage = mock(MwQueryPage::class.java) val mwQueryPage = mock(MwQueryPage::class.java)
val mockRevision = mock(MwQueryPage.Revision::class.java) val mockRevision = mock(MwQueryPage.Revision::class.java)

View file

@ -61,7 +61,7 @@ class ReviewImageFragmentTest {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
context = ApplicationProvider.getApplicationContext() context = ApplicationProvider.getApplicationContext()
AppAdapter.set(TestAppAdapter()) AppAdapter.set(TestAppAdapter())
SoLoader.setInTestMode() SoLoader.setInTestMode()

View file

@ -34,7 +34,7 @@ class SettingsActivityUnitTests {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
context = ApplicationProvider.getApplicationContext() context = ApplicationProvider.getApplicationContext()
activity = Robolectric.buildActivity(SettingsActivity::class.java).create().get() activity = Robolectric.buildActivity(SettingsActivity::class.java).create().get()
menuItem = RoboMenuItem(null) menuItem = RoboMenuItem(null)

View file

@ -62,7 +62,7 @@ class SettingsFragmentUnitTests {
@Before @Before
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
val activity = Robolectric.buildActivity(SettingsActivity::class.java).create().get() val activity = Robolectric.buildActivity(SettingsActivity::class.java).create().get()
context = ApplicationProvider.getApplicationContext() context = ApplicationProvider.getApplicationContext()

View file

@ -12,6 +12,7 @@ import media
import org.junit.Before import org.junit.Before
import org.junit.Test import org.junit.Test
import org.mockito.Mock import org.mockito.Mock
import org.mockito.Mockito.verifyNoInteractions
import org.mockito.MockitoAnnotations import org.mockito.MockitoAnnotations
import org.powermock.reflect.Whitebox import org.powermock.reflect.Whitebox
import java.lang.reflect.Method import java.lang.reflect.Method
@ -36,7 +37,7 @@ class CategoriesPresenterTest {
@Before @Before
@Throws(Exception::class) @Throws(Exception::class)
fun setUp() { fun setUp() {
MockitoAnnotations.initMocks(this) MockitoAnnotations.openMocks(this)
testScheduler = TestScheduler() testScheduler = TestScheduler()
categoriesPresenter = CategoriesPresenter(repository, testScheduler, testScheduler) categoriesPresenter = CategoriesPresenter(repository, testScheduler, testScheduler)
categoriesPresenter.onAttachView(view) categoriesPresenter.onAttachView(view)

Some files were not shown because too many files have changed in this diff Show more