From da024990633f43e96e6b8ccb7d9244ddd4c43712 Mon Sep 17 00:00:00 2001 From: Peter Kalauskas Date: Wed, 16 Jun 2021 13:40:55 -0700 Subject: [PATCH] Fix crash when running UserSwitcherControllerTest Previously, test would fail on wembley with the following errors: - No service published for: fingerprint - No service published for: face - java.lang.AssertionError: expected:<1> but was:<0> Fixes: 191280089 Test: atest SystemUITests:com.android.systemui.statusbar.policy.UserSwitcherControllerTest Change-Id: I34539a5e9678b308b4d3a03e4593fb9385e7831f --- .../statusbar/policy/UserSwitcherControllerTest.kt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/UserSwitcherControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/UserSwitcherControllerTest.kt index c915bcbef6541..e0f395d494463 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/UserSwitcherControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/UserSwitcherControllerTest.kt @@ -17,10 +17,13 @@ package com.android.systemui.statusbar.policy import android.app.IActivityTaskManager +import android.content.Context import android.content.DialogInterface import android.content.Intent import android.content.pm.UserInfo import android.graphics.Bitmap +import android.hardware.face.FaceManager +import android.hardware.fingerprint.FingerprintManager import android.os.Handler import android.os.UserManager import android.testing.AndroidTestingRunner @@ -47,6 +50,7 @@ import org.mockito.ArgumentMatchers.eq import org.mockito.Mock import org.mockito.Mockito.any import org.mockito.Mockito.anyString +import org.mockito.Mockito.mock import org.mockito.Mockito.`when` import org.mockito.MockitoAnnotations @@ -77,6 +81,10 @@ class UserSwitcherControllerTest : SysuiTestCase() { testableLooper = TestableLooper.get(this) uiEventLogger = UiEventLoggerFake() + mContext.addMockSystemService(Context.FACE_SERVICE, mock(FaceManager::class.java)) + mContext.addMockSystemService(Context.FINGERPRINT_SERVICE, + mock(FingerprintManager::class.java)) + userSwitcherController = UserSwitcherController(context, userManager, userTracker, @@ -106,6 +114,7 @@ class UserSwitcherControllerTest : SysuiTestCase() { `when`(userManager.createGuest(any(), anyString())).thenReturn(userInfo) userSwitcherController.onUserListItemClicked(emptyGuestUserRecord) + testableLooper.processAllMessages() assertEquals(1, uiEventLogger.numLogs()) assertEquals(QSUserSwitcherEvent.QS_USER_GUEST_ADD.id, uiEventLogger.eventId(0)) }