mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-27 04:43:54 +01:00
Add WikiAccountAuthenticator Unit Tests (#4827)
This commit is contained in:
parent
9205f37605
commit
52bdb56fb2
2 changed files with 148 additions and 0 deletions
|
|
@ -0,0 +1,34 @@
|
||||||
|
package fr.free.nrw.commons.auth
|
||||||
|
|
||||||
|
import org.junit.Assert
|
||||||
|
import org.junit.Before
|
||||||
|
import org.junit.Test
|
||||||
|
import org.mockito.MockitoAnnotations
|
||||||
|
import java.lang.reflect.Field
|
||||||
|
|
||||||
|
class WikiAccountAuthenticatorServiceUnitTest {
|
||||||
|
|
||||||
|
private lateinit var service: WikiAccountAuthenticatorService
|
||||||
|
|
||||||
|
@Before
|
||||||
|
fun setUp() {
|
||||||
|
MockitoAnnotations.initMocks(this)
|
||||||
|
service = WikiAccountAuthenticatorService()
|
||||||
|
service.onBind(null)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun checkNotNull() {
|
||||||
|
Assert.assertNotNull(service)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testOnBindCaseNull() {
|
||||||
|
val field: Field =
|
||||||
|
WikiAccountAuthenticatorService::class.java.getDeclaredField("authenticator")
|
||||||
|
field.isAccessible = true
|
||||||
|
field.set(service, null)
|
||||||
|
Assert.assertEquals(service.onBind(null), null)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,114 @@
|
||||||
|
package fr.free.nrw.commons.auth
|
||||||
|
|
||||||
|
import android.accounts.Account
|
||||||
|
import android.accounts.AccountAuthenticatorResponse
|
||||||
|
import android.accounts.AccountManager
|
||||||
|
import android.content.Context
|
||||||
|
import android.content.Intent
|
||||||
|
import android.os.Bundle
|
||||||
|
import fr.free.nrw.commons.BuildConfig
|
||||||
|
import fr.free.nrw.commons.TestCommonsApplication
|
||||||
|
import org.junit.Assert
|
||||||
|
import org.junit.Before
|
||||||
|
import org.junit.Test
|
||||||
|
import org.junit.runner.RunWith
|
||||||
|
import org.mockito.Mock
|
||||||
|
import org.mockito.MockitoAnnotations
|
||||||
|
import org.robolectric.RobolectricTestRunner
|
||||||
|
import org.robolectric.RuntimeEnvironment
|
||||||
|
import org.robolectric.annotation.Config
|
||||||
|
import org.robolectric.annotation.LooperMode
|
||||||
|
|
||||||
|
@RunWith(RobolectricTestRunner::class)
|
||||||
|
@Config(sdk = [21], application = TestCommonsApplication::class)
|
||||||
|
@LooperMode(LooperMode.Mode.PAUSED)
|
||||||
|
class WikiAccountAuthenticatorUnitTest {
|
||||||
|
|
||||||
|
private lateinit var context: Context
|
||||||
|
private lateinit var authenticator: WikiAccountAuthenticator
|
||||||
|
|
||||||
|
@Mock
|
||||||
|
private lateinit var response: AccountAuthenticatorResponse
|
||||||
|
|
||||||
|
@Mock
|
||||||
|
private lateinit var account: Account
|
||||||
|
|
||||||
|
@Before
|
||||||
|
fun setUp() {
|
||||||
|
MockitoAnnotations.initMocks(this)
|
||||||
|
context = RuntimeEnvironment.application.applicationContext
|
||||||
|
authenticator = WikiAccountAuthenticator(context)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun checkNotNull() {
|
||||||
|
Assert.assertNotNull(authenticator)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testEditProperties() {
|
||||||
|
val bundle: Bundle = authenticator.editProperties(response, "test")
|
||||||
|
Assert.assertEquals(bundle.getString("test"), "editProperties")
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testAddAccountCaseNotSupportedType() {
|
||||||
|
val bundle: Bundle = authenticator.addAccount(response, "test", null, null, null)
|
||||||
|
Assert.assertEquals(bundle.getString("test"), "addAccount")
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testAddAccountCaseSupportedType() {
|
||||||
|
val bundle: Bundle =
|
||||||
|
authenticator.addAccount(response, BuildConfig.ACCOUNT_TYPE, null, null, null)
|
||||||
|
val intent: Intent? = bundle.getParcelable(AccountManager.KEY_INTENT)
|
||||||
|
Assert.assertEquals(
|
||||||
|
intent?.extras!![AccountManager.KEY_ACCOUNT_AUTHENTICATOR_RESPONSE],
|
||||||
|
response
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testConfirmCredentials() {
|
||||||
|
val bundle: Bundle = authenticator.confirmCredentials(response, account, null)
|
||||||
|
Assert.assertEquals(bundle.getString("test"), "confirmCredentials")
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testGetAuthToken() {
|
||||||
|
val bundle: Bundle = authenticator.getAuthToken(response, account, "", null)
|
||||||
|
Assert.assertEquals(bundle.getString("test"), "getAuthToken")
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testGetAuthTokenLabelCaseNull() {
|
||||||
|
Assert.assertEquals(authenticator.getAuthTokenLabel(""), null)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testGetAuthTokenLabelCaseNonNull() {
|
||||||
|
Assert.assertEquals(
|
||||||
|
authenticator.getAuthTokenLabel(BuildConfig.ACCOUNT_TYPE),
|
||||||
|
AccountUtil.AUTH_TOKEN_TYPE
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testUpdateCredentials() {
|
||||||
|
val bundle: Bundle? = authenticator.updateCredentials(response, account, null, null)
|
||||||
|
Assert.assertEquals(bundle?.getString("test"), "updateCredentials")
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testHasFeatures() {
|
||||||
|
val bundle: Bundle? = authenticator.hasFeatures(response, account, arrayOf(""))
|
||||||
|
Assert.assertEquals(bundle?.getBoolean(AccountManager.KEY_BOOLEAN_RESULT), false)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testGetAccountRemovalAllowed() {
|
||||||
|
val bundle: Bundle? = authenticator.getAccountRemovalAllowed(response, account)
|
||||||
|
Assert.assertEquals(bundle?.getBoolean(AccountManager.KEY_BOOLEAN_RESULT), true)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue