From b96deebb3e7ce2587fef3cab0049c703d0623c24 Mon Sep 17 00:00:00 2001 From: xinhe Date: Fri, 29 Jan 2016 15:19:58 -0800 Subject: decouple Quality Network Selection with WifiStateMachine Currently, Quality Network Selection grab a reference to WifiStateMachine and need directly call some APIs in WifiStateMachine. We'd like to reduce the coupling between Quality Network Selection and WifiStateMachine for better stronger self-containing. This can increase the robust and test-ability. BUG=26875232 Change-Id: Ib4e02a2d5b29bade22c416540c38d39dfee2c302 --- .../wifi/WifiQualifiedNetworkSelectionTest.java | 24 ++++++++++++---------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'tests') diff --git a/tests/wifitests/src/com/android/server/wifi/WifiQualifiedNetworkSelectionTest.java b/tests/wifitests/src/com/android/server/wifi/WifiQualifiedNetworkSelectionTest.java index 56f3333dc..99525c95c 100644 --- a/tests/wifitests/src/com/android/server/wifi/WifiQualifiedNetworkSelectionTest.java +++ b/tests/wifitests/src/com/android/server/wifi/WifiQualifiedNetworkSelectionTest.java @@ -64,7 +64,7 @@ public class WifiQualifiedNetworkSelectionTest { mWifiConfigStore = getWifiConfigStore(); mWifiInfo = getWifiInfo(); mWifiQualifiedNetworkSelector = new WifiQualifiedNetworkSelector(mWifiConfigStore, mContext, - mWifiStateMachine, mWifiInfo); + mWifiInfo); mWifiQualifiedNetworkSelector.enableVerboseLogging(1); } @@ -208,8 +208,6 @@ public class WifiQualifiedNetworkSelectionTest { int[] security = {SECURITY_PSK, SECURITY_PSK}; List scanDetails = getScanDetails(ssids, bssids, frequencies, caps, levels); - when(mWifiStateMachine.getScanResultsListNoCopyUnsync()).thenReturn(scanDetails); - when(mWifiStateMachine.isDisconnected()).thenReturn(true); final List savedNetwork = Arrays.asList(generateWifiConfigurations(ssids, security)); @@ -242,9 +240,12 @@ public class WifiQualifiedNetworkSelectionTest { associateWithScanResult2); ScanResult chosenScanResult = scanDetails.get(scanDetails.size() - 1).getScanResult(); - mWifiQualifiedNetworkSelector.selectQualifiedNetwork(false); - assertEquals("choose the wrong SSID", chosenScanResult.SSID, - mWifiQualifiedNetworkSelector.getConnetionTargetNetwork().SSID); + WifiConfiguration candidate = mWifiQualifiedNetworkSelector.selectQualifiedNetwork(false, + false, scanDetails, false, false, true, false); + + ScanResult candidateScan = candidate.getNetworkSelectionStatus().getCandidate(); + assertEquals("choose the wrong SSID", chosenScanResult.SSID, candidate.SSID); + assertEquals("choose the wrong BSSID", chosenScanResult.BSSID, candidateScan.BSSID); } @@ -334,8 +335,6 @@ public class WifiQualifiedNetworkSelectionTest { int[] levels = {-50, -65, -55}; List scanDetails = getScanDetails(ssids, bssids, frequencies, caps, levels); - when(mWifiStateMachine.getScanResultsListNoCopyUnsync()).thenReturn(scanDetails); - when(mWifiStateMachine.isDisconnected()).thenReturn(true); List associateWithScanResult1 = new ArrayList(); associateWithScanResult1.add(configs[0]); @@ -355,8 +354,11 @@ public class WifiQualifiedNetworkSelectionTest { ScanResult chosenScanResult = scanDetails.get(scanDetails.size() - 1).getScanResult(); when(mWifiConfigStore.getWifiConfiguration(configs[2].configKey())) .thenReturn(configs[2]); - mWifiQualifiedNetworkSelector.selectQualifiedNetwork(false); - assertEquals("choose the wrong SSID", chosenScanResult.SSID, - mWifiQualifiedNetworkSelector.getConnetionTargetNetwork().SSID); + + WifiConfiguration candidate = mWifiQualifiedNetworkSelector.selectQualifiedNetwork(false, + false, scanDetails, false, false, true, false); + ScanResult candidateScan = candidate.getNetworkSelectionStatus().getCandidate(); + assertEquals("choose the wrong SSID", chosenScanResult.SSID, candidate.SSID); + assertEquals("choose the wrong BSSID", chosenScanResult.BSSID, candidateScan.BSSID); } } -- cgit v1.2.3