Loading tests/utils/testutils/java/com/android/internal/util/test/BidirectionalAsyncChannelServer.java +5 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import com.android.internal.util.AsyncChannel; import java.util.HashMap; import java.util.Map; import java.util.Set; /** * Provides an interface for the server side implementation of a bidirectional channel as described Loading Loading @@ -83,4 +84,8 @@ public class BidirectionalAsyncChannelServer { return mMessenger; } public Set<Messenger> getClientMessengers() { return mClients.keySet(); } } wifi/tests/src/android/net/wifi/WifiManagerTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -1593,7 +1593,7 @@ i * Verify that a call to cancel WPS immediately returns a failure. } /** * Test behavior of {@link WifiManager#isDualModeSupported()} * Test behavior of {@link WifiManager#isDualModeSupported()} ()} * @throws Exception */ @Test Loading wifi/tests/src/android/net/wifi/WifiScannerTest.java +70 −3 Original line number Diff line number Diff line Loading @@ -22,7 +22,9 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.validateMockitoUsage; import static org.mockito.Mockito.verify; Loading @@ -36,6 +38,7 @@ import android.net.wifi.WifiScanner.ScanSettings; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.os.Messenger; import android.os.Parcel; import android.os.test.TestLooper; Loading Loading @@ -78,6 +81,7 @@ public class WifiScannerTest { private WifiScanner mWifiScanner; private TestLooper mLooper; private Handler mHandler; private BidirectionalAsyncChannelServer mBidirectionalAsyncChannelServer; /** * Setup before tests. Loading @@ -86,10 +90,10 @@ public class WifiScannerTest { public void setUp() throws Exception { MockitoAnnotations.initMocks(this); mLooper = new TestLooper(); mHandler = mock(Handler.class); BidirectionalAsyncChannelServer server = new BidirectionalAsyncChannelServer( mHandler = spy(new Handler(mLooper.getLooper())); mBidirectionalAsyncChannelServer = new BidirectionalAsyncChannelServer( mContext, mLooper.getLooper(), mHandler); when(mService.getMessenger()).thenReturn(server.getMessenger()); when(mService.getMessenger()).thenReturn(mBidirectionalAsyncChannelServer.getMessenger()); mWifiScanner = new WifiScanner(mContext, mService, mLooper.getLooper()); mLooper.dispatchAll(); } Loading Loading @@ -295,6 +299,69 @@ public class WifiScannerTest { } /** * Test behavior of {@link WifiScanner#startScan(ScanSettings, WifiScanner.ScanListener)} * @throws Exception */ @Test public void testStartScanListenerOnSuccess() throws Exception { ScanSettings scanSettings = new ScanSettings(); WifiScanner.ScanListener scanListener = mock(WifiScanner.ScanListener.class); mWifiScanner.startScan(scanSettings, scanListener); mLooper.dispatchAll(); ArgumentCaptor<Message> messageArgumentCaptor = ArgumentCaptor.forClass(Message.class); verify(mHandler).handleMessage(messageArgumentCaptor.capture()); Message sentMessage = messageArgumentCaptor.getValue(); assertNotNull(sentMessage); assertEquals(1, mBidirectionalAsyncChannelServer.getClientMessengers().size()); Messenger scannerMessenger = mBidirectionalAsyncChannelServer.getClientMessengers().iterator().next(); Message responseMessage = Message.obtain(); responseMessage.what = WifiScanner.CMD_OP_SUCCEEDED; responseMessage.arg2 = sentMessage.arg2; scannerMessenger.send(responseMessage); mLooper.dispatchAll(); verify(scanListener).onSuccess(); } /** * Test behavior of {@link WifiScanner#startScan(ScanSettings, WifiScanner.ScanListener)} * @throws Exception */ @Test public void testStartScanListenerOnResults() throws Exception { ScanSettings scanSettings = new ScanSettings(); WifiScanner.ScanListener scanListener = mock(WifiScanner.ScanListener.class); mWifiScanner.startScan(scanSettings, scanListener); mLooper.dispatchAll(); ArgumentCaptor<Message> messageArgumentCaptor = ArgumentCaptor.forClass(Message.class); verify(mHandler).handleMessage(messageArgumentCaptor.capture()); Message sentMessage = messageArgumentCaptor.getValue(); assertNotNull(sentMessage); assertEquals(1, mBidirectionalAsyncChannelServer.getClientMessengers().size()); Messenger scannerMessenger = mBidirectionalAsyncChannelServer.getClientMessengers().iterator().next(); ScanResult scanResult = new ScanResult(); ScanData scanDatas[] = new ScanData[]{new ScanData(0, 0 , new ScanResult[] {scanResult})}; Message responseMessage = Message.obtain(); responseMessage.what = WifiScanner.CMD_SCAN_RESULT; responseMessage.arg2 = sentMessage.arg2; responseMessage.obj = new WifiScanner.ParcelableScanData(scanDatas); scannerMessenger.send(responseMessage); mLooper.dispatchAll(); verify(scanListener).onResults(scanDatas); } /** * Test behavior of {@link WifiScanner#startDisconnectedPnoScan(ScanSettings, PnoSettings, * WifiScanner.PnoScanListener)} Loading Loading
tests/utils/testutils/java/com/android/internal/util/test/BidirectionalAsyncChannelServer.java +5 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import com.android.internal.util.AsyncChannel; import java.util.HashMap; import java.util.Map; import java.util.Set; /** * Provides an interface for the server side implementation of a bidirectional channel as described Loading Loading @@ -83,4 +84,8 @@ public class BidirectionalAsyncChannelServer { return mMessenger; } public Set<Messenger> getClientMessengers() { return mClients.keySet(); } }
wifi/tests/src/android/net/wifi/WifiManagerTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -1593,7 +1593,7 @@ i * Verify that a call to cancel WPS immediately returns a failure. } /** * Test behavior of {@link WifiManager#isDualModeSupported()} * Test behavior of {@link WifiManager#isDualModeSupported()} ()} * @throws Exception */ @Test Loading
wifi/tests/src/android/net/wifi/WifiScannerTest.java +70 −3 Original line number Diff line number Diff line Loading @@ -22,7 +22,9 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.validateMockitoUsage; import static org.mockito.Mockito.verify; Loading @@ -36,6 +38,7 @@ import android.net.wifi.WifiScanner.ScanSettings; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.os.Messenger; import android.os.Parcel; import android.os.test.TestLooper; Loading Loading @@ -78,6 +81,7 @@ public class WifiScannerTest { private WifiScanner mWifiScanner; private TestLooper mLooper; private Handler mHandler; private BidirectionalAsyncChannelServer mBidirectionalAsyncChannelServer; /** * Setup before tests. Loading @@ -86,10 +90,10 @@ public class WifiScannerTest { public void setUp() throws Exception { MockitoAnnotations.initMocks(this); mLooper = new TestLooper(); mHandler = mock(Handler.class); BidirectionalAsyncChannelServer server = new BidirectionalAsyncChannelServer( mHandler = spy(new Handler(mLooper.getLooper())); mBidirectionalAsyncChannelServer = new BidirectionalAsyncChannelServer( mContext, mLooper.getLooper(), mHandler); when(mService.getMessenger()).thenReturn(server.getMessenger()); when(mService.getMessenger()).thenReturn(mBidirectionalAsyncChannelServer.getMessenger()); mWifiScanner = new WifiScanner(mContext, mService, mLooper.getLooper()); mLooper.dispatchAll(); } Loading Loading @@ -295,6 +299,69 @@ public class WifiScannerTest { } /** * Test behavior of {@link WifiScanner#startScan(ScanSettings, WifiScanner.ScanListener)} * @throws Exception */ @Test public void testStartScanListenerOnSuccess() throws Exception { ScanSettings scanSettings = new ScanSettings(); WifiScanner.ScanListener scanListener = mock(WifiScanner.ScanListener.class); mWifiScanner.startScan(scanSettings, scanListener); mLooper.dispatchAll(); ArgumentCaptor<Message> messageArgumentCaptor = ArgumentCaptor.forClass(Message.class); verify(mHandler).handleMessage(messageArgumentCaptor.capture()); Message sentMessage = messageArgumentCaptor.getValue(); assertNotNull(sentMessage); assertEquals(1, mBidirectionalAsyncChannelServer.getClientMessengers().size()); Messenger scannerMessenger = mBidirectionalAsyncChannelServer.getClientMessengers().iterator().next(); Message responseMessage = Message.obtain(); responseMessage.what = WifiScanner.CMD_OP_SUCCEEDED; responseMessage.arg2 = sentMessage.arg2; scannerMessenger.send(responseMessage); mLooper.dispatchAll(); verify(scanListener).onSuccess(); } /** * Test behavior of {@link WifiScanner#startScan(ScanSettings, WifiScanner.ScanListener)} * @throws Exception */ @Test public void testStartScanListenerOnResults() throws Exception { ScanSettings scanSettings = new ScanSettings(); WifiScanner.ScanListener scanListener = mock(WifiScanner.ScanListener.class); mWifiScanner.startScan(scanSettings, scanListener); mLooper.dispatchAll(); ArgumentCaptor<Message> messageArgumentCaptor = ArgumentCaptor.forClass(Message.class); verify(mHandler).handleMessage(messageArgumentCaptor.capture()); Message sentMessage = messageArgumentCaptor.getValue(); assertNotNull(sentMessage); assertEquals(1, mBidirectionalAsyncChannelServer.getClientMessengers().size()); Messenger scannerMessenger = mBidirectionalAsyncChannelServer.getClientMessengers().iterator().next(); ScanResult scanResult = new ScanResult(); ScanData scanDatas[] = new ScanData[]{new ScanData(0, 0 , new ScanResult[] {scanResult})}; Message responseMessage = Message.obtain(); responseMessage.what = WifiScanner.CMD_SCAN_RESULT; responseMessage.arg2 = sentMessage.arg2; responseMessage.obj = new WifiScanner.ParcelableScanData(scanDatas); scannerMessenger.send(responseMessage); mLooper.dispatchAll(); verify(scanListener).onResults(scanDatas); } /** * Test behavior of {@link WifiScanner#startDisconnectedPnoScan(ScanSettings, PnoSettings, * WifiScanner.PnoScanListener)} Loading