diff options
author | Nate Jiang <qiangjiang@google.com> | 2020-12-09 22:43:33 -0800 |
---|---|---|
committer | Nate Jiang <qiangjiang@google.com> | 2020-12-10 17:43:07 -0800 |
commit | 1bbcd4ef884e14007de07df558425196e1abd9a7 (patch) | |
tree | c02aa7378fd4dc96a4e4e3f8601f77d536b509eb /wifi/tests | |
parent | a36573fb1f5f5fad10c0466c1f26785ad04ea95e (diff) |
[Suggestion] Add listener for user approval status change
Bug: 160648511
Test: atest android.net.wifi
Change-Id: I2a1959a2504e274de83f9cd0e44300222bbe8aac
Diffstat (limited to 'wifi/tests')
-rw-r--r-- | wifi/tests/src/android/net/wifi/WifiManagerTest.java | 96 |
1 files changed, 90 insertions, 6 deletions
diff --git a/wifi/tests/src/android/net/wifi/WifiManagerTest.java b/wifi/tests/src/android/net/wifi/WifiManagerTest.java index 52e91394d8bf..e48fc6d6e26f 100644 --- a/wifi/tests/src/android/net/wifi/WifiManagerTest.java +++ b/wifi/tests/src/android/net/wifi/WifiManagerTest.java @@ -89,6 +89,7 @@ import android.net.wifi.WifiManager.OnWifiUsabilityStatsListener; import android.net.wifi.WifiManager.ScanResultsCallback; import android.net.wifi.WifiManager.SoftApCallback; import android.net.wifi.WifiManager.SuggestionConnectionStatusListener; +import android.net.wifi.WifiManager.SuggestionUserApprovalStatusListener; import android.net.wifi.WifiManager.TrafficStateCallback; import android.net.wifi.WifiManager.WifiConnectedNetworkScorer; import android.os.Build; @@ -147,12 +148,13 @@ public class WifiManagerTest { @Mock NetworkRequestMatchCallback mNetworkRequestMatchCallback; @Mock OnWifiUsabilityStatsListener mOnWifiUsabilityStatsListener; @Mock OnWifiActivityEnergyInfoListener mOnWifiActivityEnergyInfoListener; - @Mock SuggestionConnectionStatusListener mListener; + @Mock SuggestionConnectionStatusListener mSuggestionConnectionListener; @Mock Runnable mRunnable; @Mock Executor mExecutor; @Mock Executor mAnotherExecutor; @Mock ActivityManager mActivityManager; @Mock WifiConnectedNetworkScorer mWifiConnectedNetworkScorer; + @Mock SuggestionUserApprovalStatusListener mSuggestionUserApprovalStatusListener; private Handler mHandler; private TestLooper mLooper; @@ -2327,7 +2329,7 @@ public class WifiManagerTest { */ @Test(expected = IllegalArgumentException.class) public void testAddSuggestionConnectionStatusListenerWithNullExecutor() { - mWifiManager.addSuggestionConnectionStatusListener(null, mListener); + mWifiManager.addSuggestionConnectionStatusListener(null, mSuggestionConnectionListener); } /** @@ -2347,11 +2349,12 @@ public class WifiManagerTest { ArgumentCaptor<ISuggestionConnectionStatusListener.Stub> callbackCaptor = ArgumentCaptor.forClass(ISuggestionConnectionStatusListener.Stub.class); Executor executor = new SynchronousExecutor(); - mWifiManager.addSuggestionConnectionStatusListener(executor, mListener); + mWifiManager.addSuggestionConnectionStatusListener(executor, mSuggestionConnectionListener); verify(mWifiService).registerSuggestionConnectionStatusListener(any(IBinder.class), callbackCaptor.capture(), anyInt(), anyString(), nullable(String.class)); callbackCaptor.getValue().onConnectionStatus(mWifiNetworkSuggestion, errorCode); - verify(mListener).onConnectionStatus(any(WifiNetworkSuggestion.class), eq(errorCode)); + verify(mSuggestionConnectionListener).onConnectionStatus(any(WifiNetworkSuggestion.class), + eq(errorCode)); } /** @@ -2362,7 +2365,8 @@ public class WifiManagerTest { int errorCode = STATUS_SUGGESTION_CONNECTION_FAILURE_AUTHENTICATION; ArgumentCaptor<ISuggestionConnectionStatusListener.Stub> callbackCaptor = ArgumentCaptor.forClass(ISuggestionConnectionStatusListener.Stub.class); - mWifiManager.addSuggestionConnectionStatusListener(mExecutor, mListener); + mWifiManager.addSuggestionConnectionStatusListener(mExecutor, + mSuggestionConnectionListener); verify(mWifiService).registerSuggestionConnectionStatusListener(any(IBinder.class), callbackCaptor.capture(), anyInt(), anyString(), nullable(String.class)); callbackCaptor.getValue().onConnectionStatus(any(WifiNetworkSuggestion.class), errorCode); @@ -2382,7 +2386,7 @@ public class WifiManagerTest { */ @Test public void testRemoveSuggestionConnectionListener() throws Exception { - mWifiManager.removeSuggestionConnectionStatusListener(mListener); + mWifiManager.removeSuggestionConnectionStatusListener(mSuggestionConnectionListener); verify(mWifiService).unregisterSuggestionConnectionStatusListener(anyInt(), anyString()); } @@ -2609,4 +2613,84 @@ public class WifiManagerTest { verify(mWifiService).isCarrierNetworkOffloadEnabled(TEST_SUB_ID, false); } + + /** + * Verify an IllegalArgumentException is thrown if listener is not provided. + */ + @Test(expected = IllegalArgumentException.class) + public void testRemoveSuggestionUserApprovalStatusListenerWithNullListener() { + assumeTrue(SdkLevel.isAtLeastS()); + + mWifiManager.removeSuggestionUserApprovalStatusListener(null); + } + + + /** + * Verify removeSuggestionUserApprovalStatusListener. + */ + @Test + public void testRemoveSuggestionUserApprovalStatusListener() throws Exception { + assumeTrue(SdkLevel.isAtLeastS()); + + mWifiManager.removeSuggestionUserApprovalStatusListener( + mSuggestionUserApprovalStatusListener); + verify(mWifiService).removeSuggestionUserApprovalStatusListener(anyInt(), anyString()); + } + + /** + * Verify an IllegalArgumentException is thrown if executor not provided. + */ + @Test(expected = IllegalArgumentException.class) + public void testAddSuggestionUserApprovalStatusListenerWithNullExecutor() { + assumeTrue(SdkLevel.isAtLeastS()); + + mWifiManager.addSuggestionUserApprovalStatusListener(null, + mSuggestionUserApprovalStatusListener); + } + + /** + * Verify an IllegalArgumentException is thrown if listener is not provided. + */ + @Test(expected = IllegalArgumentException.class) + public void testAddSuggestionUserApprovalStatusListenerWithNullListener() { + assumeTrue(SdkLevel.isAtLeastS()); + + mWifiManager.addSuggestionUserApprovalStatusListener(mExecutor, null); + } + + /** + * Verify client provided listener is being called to the right listener. + */ + @Test + public void testAddSuggestionUserApprovalStatusListenerAndReceiveEvent() throws Exception { + assumeTrue(SdkLevel.isAtLeastS()); + + ArgumentCaptor<ISuggestionUserApprovalStatusListener.Stub> callbackCaptor = + ArgumentCaptor.forClass(ISuggestionUserApprovalStatusListener.Stub.class); + Executor executor = new SynchronousExecutor(); + mWifiManager.addSuggestionUserApprovalStatusListener(executor, + mSuggestionUserApprovalStatusListener); + verify(mWifiService).addSuggestionUserApprovalStatusListener(any(IBinder.class), + callbackCaptor.capture(), anyInt(), anyString(), nullable(String.class)); + callbackCaptor.getValue().onUserApprovalStatusChange(); + verify(mSuggestionUserApprovalStatusListener).onUserApprovalStatusChange(); + } + + /** + * Verify client provided listener is being called to the right executor. + */ + @Test + public void testAddSuggestionUserApprovalStatusListenerWithTheTargetExecutor() + throws Exception { + assumeTrue(SdkLevel.isAtLeastS()); + ArgumentCaptor<ISuggestionUserApprovalStatusListener.Stub> callbackCaptor = + ArgumentCaptor.forClass(ISuggestionUserApprovalStatusListener.Stub.class); + mWifiManager.addSuggestionUserApprovalStatusListener(mExecutor, + mSuggestionUserApprovalStatusListener); + verify(mWifiService).addSuggestionUserApprovalStatusListener(any(IBinder.class), + callbackCaptor.capture(), anyInt(), anyString(), nullable(String.class)); + callbackCaptor.getValue().onUserApprovalStatusChange(); + verify(mExecutor).execute(any(Runnable.class)); + } + } |