diff options
| author | 2023-03-17 17:15:57 +0000 | |
|---|---|---|
| committer | 2023-03-17 17:15:57 +0000 | |
| commit | 94b34e6ff2ffefa9f371753e157b698f995a9594 (patch) | |
| tree | c1fbcce7883b79c646bf60f502f10fbacedba22f | |
| parent | 27e1857535e2fa1be9da916c3ddd4785f85e35a2 (diff) | |
| parent | 9d45d2d042382ec12e07a2bb67205161fd389643 (diff) | |
Merge "Merge "Add unit test for sim pin and sim puk views." into tm-qpr-dev am: 8ab6e160d9 am: 02885042e6" into udc-dev
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/keyguard/KeyguardSimPinViewControllerTest.kt | 131 | ||||
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/keyguard/KeyguardSimPukViewControllerTest.kt | 132 |
2 files changed, 263 insertions, 0 deletions
diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSimPinViewControllerTest.kt b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSimPinViewControllerTest.kt new file mode 100644 index 000000000000..eb86c0590018 --- /dev/null +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSimPinViewControllerTest.kt @@ -0,0 +1,131 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.keyguard + +import android.telephony.PinResult +import android.telephony.TelephonyManager +import android.testing.AndroidTestingRunner +import android.testing.TestableLooper +import android.view.LayoutInflater +import androidx.test.filters.SmallTest +import com.android.internal.util.LatencyTracker +import com.android.internal.widget.LockPatternUtils +import com.android.systemui.R +import com.android.systemui.SysuiTestCase +import com.android.systemui.classifier.FalsingCollector +import com.android.systemui.util.mockito.any +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.ArgumentMatchers.anyString +import org.mockito.Mock +import org.mockito.Mockito +import org.mockito.Mockito.anyInt +import org.mockito.Mockito.mock +import org.mockito.Mockito.verify +import org.mockito.Mockito.`when` +import org.mockito.MockitoAnnotations + +@SmallTest +@RunWith(AndroidTestingRunner::class) +@TestableLooper.RunWithLooper +class KeyguardSimPinViewControllerTest : SysuiTestCase() { + private lateinit var simPinView: KeyguardSimPinView + private lateinit var underTest: KeyguardSimPinViewController + @Mock private lateinit var keyguardUpdateMonitor: KeyguardUpdateMonitor + @Mock private lateinit var securityMode: KeyguardSecurityModel.SecurityMode + @Mock private lateinit var lockPatternUtils: LockPatternUtils + @Mock private lateinit var keyguardSecurityCallback: KeyguardSecurityCallback + @Mock private lateinit var messageAreaControllerFactory: KeyguardMessageAreaController.Factory + @Mock private lateinit var latencyTracker: LatencyTracker + @Mock private lateinit var liftToActivateListener: LiftToActivateListener + @Mock private lateinit var telephonyManager: TelephonyManager + @Mock private lateinit var falsingCollector: FalsingCollector + @Mock private lateinit var emergencyButtonController: EmergencyButtonController + @Mock + private lateinit var keyguardMessageAreaController: + KeyguardMessageAreaController<BouncerKeyguardMessageArea> + + @Before + fun setup() { + MockitoAnnotations.initMocks(this) + `when`(messageAreaControllerFactory.create(Mockito.any(KeyguardMessageArea::class.java))) + .thenReturn(keyguardMessageAreaController) + `when`(telephonyManager.createForSubscriptionId(anyInt())).thenReturn(telephonyManager) + `when`(telephonyManager.supplyIccLockPin(anyString())) + .thenReturn(mock(PinResult::class.java)) + simPinView = + LayoutInflater.from(context).inflate(R.layout.keyguard_sim_pin_view, null) + as KeyguardSimPinView + underTest = + KeyguardSimPinViewController( + simPinView, + keyguardUpdateMonitor, + securityMode, + lockPatternUtils, + keyguardSecurityCallback, + messageAreaControllerFactory, + latencyTracker, + liftToActivateListener, + telephonyManager, + falsingCollector, + emergencyButtonController + ) + underTest.init() + } + + @Test + fun onViewAttached() { + underTest.onViewAttached() + } + + @Test + fun onViewDetached() { + underTest.onViewDetached() + } + + @Test + fun onResume() { + underTest.onResume(KeyguardSecurityView.VIEW_REVEALED) + verify(keyguardUpdateMonitor) + .registerCallback(any(KeyguardUpdateMonitorCallback::class.java)) + } + + @Test + fun onPause() { + underTest.onPause() + verify(keyguardUpdateMonitor).removeCallback(any(KeyguardUpdateMonitorCallback::class.java)) + } + + @Test + fun startAppearAnimation() { + underTest.startAppearAnimation() + verify(keyguardMessageAreaController) + .setMessage(context.resources.getString(R.string.keyguard_enter_your_pin), false) + } + + @Test + fun startDisappearAnimation() { + underTest.startDisappearAnimation {} + } + + @Test + fun resetState() { + underTest.resetState() + verify(keyguardMessageAreaController).setMessage("") + } +} diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSimPukViewControllerTest.kt b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSimPukViewControllerTest.kt new file mode 100644 index 000000000000..2dcca55b9318 --- /dev/null +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSimPukViewControllerTest.kt @@ -0,0 +1,132 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.keyguard + +import android.telephony.PinResult +import android.telephony.TelephonyManager +import android.testing.AndroidTestingRunner +import android.testing.TestableLooper +import android.view.LayoutInflater +import androidx.test.filters.SmallTest +import com.android.internal.util.LatencyTracker +import com.android.internal.widget.LockPatternUtils +import com.android.systemui.R +import com.android.systemui.SysuiTestCase +import com.android.systemui.classifier.FalsingCollector +import com.android.systemui.util.mockito.any +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.ArgumentMatchers.anyString +import org.mockito.Mock +import org.mockito.Mockito +import org.mockito.MockitoAnnotations + +@SmallTest +@RunWith(AndroidTestingRunner::class) +@TestableLooper.RunWithLooper +class KeyguardSimPukViewControllerTest : SysuiTestCase() { + private lateinit var simPukView: KeyguardSimPukView + private lateinit var underTest: KeyguardSimPukViewController + @Mock private lateinit var keyguardUpdateMonitor: KeyguardUpdateMonitor + @Mock private lateinit var securityMode: KeyguardSecurityModel.SecurityMode + @Mock private lateinit var lockPatternUtils: LockPatternUtils + @Mock private lateinit var keyguardSecurityCallback: KeyguardSecurityCallback + @Mock private lateinit var messageAreaControllerFactory: KeyguardMessageAreaController.Factory + @Mock private lateinit var latencyTracker: LatencyTracker + @Mock private lateinit var liftToActivateListener: LiftToActivateListener + @Mock private lateinit var telephonyManager: TelephonyManager + @Mock private lateinit var falsingCollector: FalsingCollector + @Mock private lateinit var emergencyButtonController: EmergencyButtonController + @Mock + private lateinit var keyguardMessageAreaController: + KeyguardMessageAreaController<BouncerKeyguardMessageArea> + + @Before + fun setup() { + MockitoAnnotations.initMocks(this) + Mockito.`when`( + messageAreaControllerFactory.create(Mockito.any(KeyguardMessageArea::class.java)) + ) + .thenReturn(keyguardMessageAreaController) + Mockito.`when`(telephonyManager.createForSubscriptionId(Mockito.anyInt())) + .thenReturn(telephonyManager) + Mockito.`when`(telephonyManager.supplyIccLockPuk(anyString(), anyString())) + .thenReturn(Mockito.mock(PinResult::class.java)) + simPukView = + LayoutInflater.from(context).inflate(R.layout.keyguard_sim_puk_view, null) + as KeyguardSimPukView + underTest = + KeyguardSimPukViewController( + simPukView, + keyguardUpdateMonitor, + securityMode, + lockPatternUtils, + keyguardSecurityCallback, + messageAreaControllerFactory, + latencyTracker, + liftToActivateListener, + telephonyManager, + falsingCollector, + emergencyButtonController + ) + underTest.init() + } + + @Test + fun onViewAttached() { + underTest.onViewAttached() + Mockito.verify(keyguardUpdateMonitor) + .registerCallback(any(KeyguardUpdateMonitorCallback::class.java)) + } + + @Test + fun onViewDetached() { + underTest.onViewDetached() + Mockito.verify(keyguardUpdateMonitor) + .removeCallback(any(KeyguardUpdateMonitorCallback::class.java)) + } + + @Test + fun onResume() { + underTest.onResume(KeyguardSecurityView.VIEW_REVEALED) + } + + @Test + fun onPause() { + underTest.onPause() + } + + @Test + fun startAppearAnimation() { + underTest.startAppearAnimation() + Mockito.verify(keyguardMessageAreaController) + .setMessage(context.resources.getString(R.string.keyguard_enter_your_pin), false) + } + + @Test + fun startDisappearAnimation() { + underTest.startDisappearAnimation {} + } + + @Test + fun resetState() { + underTest.resetState() + Mockito.verify(keyguardMessageAreaController) + .setMessage(context.resources.getString(R.string.kg_puk_enter_puk_hint)) + } +} |