summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2017-01-06 19:43:56 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2017-01-06 19:43:56 +0000
commitff1100de0e10f72517c93427d7231c8a7ae0307d (patch)
tree6ca7abae7df0e8c0d8f5e557dcdcd2e667d958f1 /tests
parent4718fa7418ebb57bb62e51697a6ba073e777b149 (diff)
parentfcbdc7fdb5612e82991494832a95c73bcc898f12 (diff)
Merge "Move WifiNotificationController to NetworkRecommendation"
Diffstat (limited to 'tests')
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiNotificationControllerTest.java145
1 files changed, 0 insertions, 145 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiNotificationControllerTest.java b/tests/wifitests/src/com/android/server/wifi/WifiNotificationControllerTest.java
deleted file mode 100644
index 5375bcff8..000000000
--- a/tests/wifitests/src/com/android/server/wifi/WifiNotificationControllerTest.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (C) 2016 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.server.wifi;
-
-import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.anyInt;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.Notification;
-import android.app.NotificationManager;
-import android.content.BroadcastReceiver;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.IntentFilter;
-import android.content.res.Resources;
-import android.net.NetworkInfo;
-import android.net.wifi.ScanResult;
-import android.net.wifi.WifiManager;
-import android.net.wifi.WifiScanner;
-import android.os.UserHandle;
-import android.os.test.TestLooper;
-import android.provider.Settings;
-import android.test.suitebuilder.annotation.SmallTest;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.ArgumentCaptor;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Unit tests for {@link com.android.server.wifi.WifiScanningServiceImpl}.
- */
-@SmallTest
-public class WifiNotificationControllerTest {
- public static final String TAG = "WifiScanningServiceTest";
-
- @Mock private Context mContext;
- @Mock private FrameworkFacade mFrameworkFacade;
- @Mock private NotificationManager mNotificationManager;
- @Mock private WifiInjector mWifiInjector;
- @Mock private WifiScanner mWifiScanner;
- WifiNotificationController mWifiNotificationController;
-
- /**
- * Internal BroadcastReceiver that WifiNotificationController uses to listen for broadcasts
- * this is initialized by calling startServiceAndLoadDriver
- */
- BroadcastReceiver mBroadcastReceiver;
-
- /** Initialize objects before each test run. */
- @Before
- public void setUp() throws Exception {
- MockitoAnnotations.initMocks(this);
-
- // Needed for the NotificationEnabledSettingObserver.
- when(mContext.getContentResolver()).thenReturn(mock(ContentResolver.class));
-
- when(mContext.getSystemService(Context.NOTIFICATION_SERVICE))
- .thenReturn(mNotificationManager);
-
- when(mFrameworkFacade.getIntegerSetting(mContext,
- Settings.Global.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, 1)).thenReturn(1);
-
- when(mWifiInjector.getWifiScanner()).thenReturn(mWifiScanner);
-
- TestLooper mock_looper = new TestLooper();
- mWifiNotificationController = new WifiNotificationController(
- mContext, mock_looper.getLooper(), mFrameworkFacade,
- mock(Notification.Builder.class), mWifiInjector);
- ArgumentCaptor<BroadcastReceiver> broadcastReceiverCaptor =
- ArgumentCaptor.forClass(BroadcastReceiver.class);
-
- verify(mContext)
- .registerReceiver(broadcastReceiverCaptor.capture(), any(IntentFilter.class));
- mBroadcastReceiver = broadcastReceiverCaptor.getValue();
- }
-
- private void setOpenAccessPoint() {
- List<ScanResult> scanResults = new ArrayList<>();
- ScanResult scanResult = new ScanResult();
- scanResult.capabilities = "[ESS]";
- scanResults.add(scanResult);
- when(mWifiScanner.getSingleScanResults()).thenReturn(scanResults);
- }
-
- /** Verifies that a notification is displayed (and retracted) given system events. */
- @Test
- public void verifyNotificationDisplayed() throws Exception {
- TestUtil.sendWifiStateChanged(mBroadcastReceiver, mContext, WifiManager.WIFI_STATE_ENABLED);
- TestUtil.sendNetworkStateChanged(mBroadcastReceiver, mContext,
- NetworkInfo.DetailedState.DISCONNECTED);
- setOpenAccessPoint();
-
- // The notification should not be displayed after only two scan results.
- TestUtil.sendScanResultsAvailable(mBroadcastReceiver, mContext);
- TestUtil.sendScanResultsAvailable(mBroadcastReceiver, mContext);
- verify(mNotificationManager, never())
- .notifyAsUser(any(String.class), anyInt(), any(Notification.class),
- any(UserHandle.class));
-
- // Changing to and from "SCANNING" state should not affect the counter.
- TestUtil.sendNetworkStateChanged(mBroadcastReceiver, mContext,
- NetworkInfo.DetailedState.SCANNING);
- TestUtil.sendNetworkStateChanged(mBroadcastReceiver, mContext,
- NetworkInfo.DetailedState.DISCONNECTED);
-
- // Needed while WifiNotificationController creates its notification.
- when(mContext.getResources()).thenReturn(mock(Resources.class));
-
- // The third scan result notification will trigger the notification.
- TestUtil.sendScanResultsAvailable(mBroadcastReceiver, mContext);
- verify(mNotificationManager)
- .notifyAsUser(any(String.class), anyInt(), any(Notification.class),
- any(UserHandle.class));
- verify(mNotificationManager, never())
- .cancelAsUser(any(String.class), anyInt(), any(UserHandle.class));
-
- // Changing network state should cause the notification to go away.
- TestUtil.sendNetworkStateChanged(mBroadcastReceiver, mContext,
- NetworkInfo.DetailedState.CONNECTED);
- verify(mNotificationManager)
- .cancelAsUser(any(String.class), anyInt(), any(UserHandle.class));
- }
-}