diff options
| author | 2023-03-23 17:25:14 +0000 | |
|---|---|---|
| committer | 2023-03-23 17:25:14 +0000 | |
| commit | 70aba1b8a6547438cf97d3d020cda5c68f590b0c (patch) | |
| tree | d834e36821763c862bea64e2efc0bd7c52a508f3 /java/tests/src | |
| parent | 9b0f802546a877164f38691c2c8f7e61feb1dbe2 (diff) | |
| parent | d600faec9328df33c867cfb64f0e8aa2c852bc0b (diff) | |
Merge "Adds a reciever for pin migration data" into udc-dev am: d600faec93
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/IntentResolver/+/22119004
Change-Id: Ie47702912cbc7a0dfafc02f0038e023ab9aee119
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'java/tests/src')
| -rw-r--r-- | java/tests/src/com/android/intentresolver/ChooserPinMigrationReceiverTest.kt | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/java/tests/src/com/android/intentresolver/ChooserPinMigrationReceiverTest.kt b/java/tests/src/com/android/intentresolver/ChooserPinMigrationReceiverTest.kt new file mode 100644 index 00000000..1daee137 --- /dev/null +++ b/java/tests/src/com/android/intentresolver/ChooserPinMigrationReceiverTest.kt @@ -0,0 +1,78 @@ +/* + * 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.intentresolver + +import android.content.Context +import android.content.Intent +import android.content.SharedPreferences +import androidx.test.ext.junit.runners.AndroidJUnit4 +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.Mock +import org.mockito.Mockito.verify +import org.mockito.Mockito.verifyNoMoreInteractions +import org.mockito.MockitoAnnotations + +@RunWith(AndroidJUnit4::class) +class ChooserPinMigrationReceiverTest { + + private lateinit var chooserPinMigrationReceiver: ChooserPinMigrationReceiver + + @Mock private lateinit var mockContext: Context + @Mock private lateinit var mockSharedPreferences: SharedPreferences + @Mock private lateinit var mockSharedPreferencesEditor: SharedPreferences.Editor + + @Before + fun setup() { + MockitoAnnotations.initMocks(this) + + whenever(mockSharedPreferences.edit()).thenReturn(mockSharedPreferencesEditor) + + chooserPinMigrationReceiver = ChooserPinMigrationReceiver { mockSharedPreferences } + } + + @Test + fun onReceive_addsReceivedPins() { + // Arrange + val intent = Intent().apply { + putExtra("TestPackage/TestClass", true) + } + + // Act + chooserPinMigrationReceiver.onReceive(mockContext, intent) + + // Assert + verify(mockSharedPreferencesEditor).putBoolean(eq("TestPackage/TestClass"), eq(true)) + verify(mockSharedPreferencesEditor).apply() + } + + @Test + fun onReceive_ignoresUnpinnedEntries() { + // Arrange + val intent = Intent().apply { + putExtra("TestPackage/TestClass", false) + } + + // Act + chooserPinMigrationReceiver.onReceive(mockContext, intent) + + // Assert + verify(mockSharedPreferencesEditor).apply() + verifyNoMoreInteractions(mockSharedPreferencesEditor) + } +}
\ No newline at end of file |