Resolve hidden connectivity methods dependency
This commit resolves the dependency under batterystatstests, servicestests and coretests with hidden connectivity module codes. Because of connectivity modularization work, the hidden connectivity methods are not accessible outside modules. Update tests with alternative ways. Bug: 182859030 Test: atest Change-Id: I8294ae4167ee5f95137e0be0f7464429ed3f3322
This commit is contained in:
@@ -21,7 +21,6 @@ import static org.junit.Assert.assertEquals;
|
||||
import android.app.Instrumentation;
|
||||
import android.content.Context;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.LinkProperties;
|
||||
import android.net.Network;
|
||||
import android.net.NetworkCapabilities;
|
||||
import android.net.NetworkRequest;
|
||||
@@ -128,8 +127,7 @@ public class ConnectivitySetupRule implements TestRule {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAvailable(Network network, NetworkCapabilities networkCapabilities,
|
||||
LinkProperties linkProperties, boolean blocked) {
|
||||
public void onAvailable(Network network) {
|
||||
checkActiveNetwork();
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,9 @@ import static junit.framework.Assert.assertEquals;
|
||||
import static junit.framework.Assert.assertFalse;
|
||||
import static junit.framework.Assert.assertTrue;
|
||||
|
||||
import static org.mockito.Mockito.CALLS_REAL_METHODS;
|
||||
import static org.mockito.Mockito.mock;
|
||||
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.test.runner.AndroidJUnit4;
|
||||
@@ -73,8 +76,9 @@ public class SntpClientTest {
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
// NETID_UNSET allows the test to run, with a loopback server, even w/o external networking
|
||||
mNetwork = new Network(ConnectivityManager.NETID_UNSET);
|
||||
// A mock network has NETID_UNSET, which allows the test to run, with a loopback server,
|
||||
// even w/o external networking.
|
||||
mNetwork = mock(Network.class, CALLS_REAL_METHODS);
|
||||
mServer = new SntpTestServer();
|
||||
mClient = new SntpClient();
|
||||
}
|
||||
|
||||
@@ -39,6 +39,8 @@ import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.InetAddress;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
@@ -53,8 +55,8 @@ public class IpConfigStoreTest {
|
||||
ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
|
||||
DataOutputStream outputStream = new DataOutputStream(byteStream);
|
||||
|
||||
IpConfiguration expectedConfig = new IpConfiguration(IpAssignment.DHCP,
|
||||
ProxySettings.NONE, null, null);
|
||||
final IpConfiguration expectedConfig =
|
||||
newIpConfiguration(IpAssignment.DHCP, ProxySettings.NONE, null, null);
|
||||
|
||||
// Emulate writing to old format.
|
||||
writeDhcpConfigV2(outputStream, KEY_CONFIG, expectedConfig);
|
||||
@@ -78,18 +80,23 @@ public class IpConfigStoreTest {
|
||||
final String DNS_IP_ADDR_1 = "1.2.3.4";
|
||||
final String DNS_IP_ADDR_2 = "5.6.7.8";
|
||||
|
||||
StaticIpConfiguration staticIpConfiguration = new StaticIpConfiguration();
|
||||
staticIpConfiguration.ipAddress = new LinkAddress(IP_ADDR_1);
|
||||
staticIpConfiguration.dnsServers.add(InetAddresses.parseNumericAddress(DNS_IP_ADDR_1));
|
||||
staticIpConfiguration.dnsServers.add(InetAddresses.parseNumericAddress(DNS_IP_ADDR_2));
|
||||
final ArrayList<InetAddress> dnsServers = new ArrayList<>();
|
||||
dnsServers.add(InetAddresses.parseNumericAddress(DNS_IP_ADDR_1));
|
||||
dnsServers.add(InetAddresses.parseNumericAddress(DNS_IP_ADDR_2));
|
||||
final StaticIpConfiguration staticIpConfiguration1 = new StaticIpConfiguration.Builder()
|
||||
.setIpAddress(new LinkAddress(IP_ADDR_1))
|
||||
.setDnsServers(dnsServers).build();
|
||||
final StaticIpConfiguration staticIpConfiguration2 = new StaticIpConfiguration.Builder()
|
||||
.setIpAddress(new LinkAddress(IP_ADDR_2))
|
||||
.setDnsServers(dnsServers).build();
|
||||
|
||||
ProxyInfo proxyInfo =
|
||||
ProxyInfo.buildDirectProxy("10.10.10.10", 88, Arrays.asList("host1", "host2"));
|
||||
|
||||
IpConfiguration expectedConfig1 = new IpConfiguration(IpAssignment.STATIC,
|
||||
ProxySettings.STATIC, staticIpConfiguration, proxyInfo);
|
||||
IpConfiguration expectedConfig2 = new IpConfiguration(expectedConfig1);
|
||||
expectedConfig2.getStaticIpConfiguration().ipAddress = new LinkAddress(IP_ADDR_2);
|
||||
IpConfiguration expectedConfig1 = newIpConfiguration(IpAssignment.STATIC,
|
||||
ProxySettings.STATIC, staticIpConfiguration1, proxyInfo);
|
||||
IpConfiguration expectedConfig2 = newIpConfiguration(IpAssignment.STATIC,
|
||||
ProxySettings.STATIC, staticIpConfiguration2, proxyInfo);
|
||||
|
||||
ArrayMap<String, IpConfiguration> expectedNetworks = new ArrayMap<>();
|
||||
expectedNetworks.put(IFACE_1, expectedConfig1);
|
||||
@@ -107,14 +114,24 @@ public class IpConfigStoreTest {
|
||||
assertEquals(expectedNetworks.get(IFACE_2), actualNetworks.get(IFACE_2));
|
||||
}
|
||||
|
||||
private IpConfiguration newIpConfiguration(IpAssignment ipAssignment,
|
||||
ProxySettings proxySettings, StaticIpConfiguration staticIpConfig, ProxyInfo info) {
|
||||
final IpConfiguration config = new IpConfiguration();
|
||||
config.setIpAssignment(ipAssignment);
|
||||
config.setProxySettings(proxySettings);
|
||||
config.setStaticIpConfiguration(staticIpConfig);
|
||||
config.setHttpProxy(info);
|
||||
return config;
|
||||
}
|
||||
|
||||
// This is simplified snapshot of code that was used to store values in V2 format (key as int).
|
||||
private static void writeDhcpConfigV2(DataOutputStream out, int configKey,
|
||||
IpConfiguration config) throws IOException {
|
||||
out.writeInt(2); // VERSION 2
|
||||
switch (config.ipAssignment) {
|
||||
switch (config.getIpAssignment()) {
|
||||
case DHCP:
|
||||
out.writeUTF("ipAssignment");
|
||||
out.writeUTF(config.ipAssignment.toString());
|
||||
out.writeUTF(config.getIpAssignment().toString());
|
||||
break;
|
||||
default:
|
||||
fail("Not supported in test environment");
|
||||
|
||||
@@ -87,6 +87,7 @@ import static org.mockito.ArgumentMatchers.anyLong;
|
||||
import static org.mockito.ArgumentMatchers.anyString;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.ArgumentMatchers.isA;
|
||||
import static org.mockito.Mockito.CALLS_REAL_METHODS;
|
||||
import static org.mockito.Mockito.atLeast;
|
||||
import static org.mockito.Mockito.atLeastOnce;
|
||||
import static org.mockito.Mockito.clearInvocations;
|
||||
@@ -226,7 +227,8 @@ public class NetworkPolicyManagerServiceTest {
|
||||
private static final String TEST_SSID = "AndroidAP";
|
||||
private static final String TEST_IMSI = "310210";
|
||||
private static final int TEST_SUB_ID = 42;
|
||||
private static final int TEST_NET_ID = 24;
|
||||
private static final Network TEST_NETWORK = mock(Network.class, CALLS_REAL_METHODS);
|
||||
|
||||
|
||||
private static NetworkTemplate sTemplateWifi = buildTemplateWifi(TEST_SSID);
|
||||
private static NetworkTemplate sTemplateMobileAll = buildTemplateMobileAll(TEST_IMSI);
|
||||
@@ -1637,7 +1639,7 @@ public class NetworkPolicyManagerServiceTest {
|
||||
|
||||
@Test
|
||||
public void testOpportunisticQuota() throws Exception {
|
||||
final Network net = new Network(TEST_NET_ID);
|
||||
final Network net = TEST_NETWORK;
|
||||
final NetworkPolicyManagerInternal internal = LocalServices
|
||||
.getService(NetworkPolicyManagerInternal.class);
|
||||
|
||||
@@ -1759,11 +1761,10 @@ public class NetworkPolicyManagerServiceTest {
|
||||
assertNotNull(callback);
|
||||
expectNetworkStateSnapshot(true /* roaming */);
|
||||
callback.onCapabilitiesChanged(
|
||||
new Network(TEST_NET_ID),
|
||||
buildNetworkCapabilities(TEST_SUB_ID, true /* roaming */));
|
||||
TEST_NETWORK, buildNetworkCapabilities(TEST_SUB_ID, true /* roaming */));
|
||||
|
||||
assertEquals(0, internal.getSubscriptionOpportunisticQuota(
|
||||
new Network(TEST_NET_ID), NetworkPolicyManagerInternal.QUOTA_TYPE_MULTIPATH));
|
||||
TEST_NETWORK, NetworkPolicyManagerInternal.QUOTA_TYPE_MULTIPATH));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2013,14 +2014,14 @@ public class NetworkPolicyManagerServiceTest {
|
||||
}
|
||||
|
||||
private NetworkCapabilities buildNetworkCapabilities(int subId, boolean roaming) {
|
||||
final NetworkCapabilities nc = new NetworkCapabilities();
|
||||
nc.addTransportType(TRANSPORT_CELLULAR);
|
||||
final NetworkCapabilities.Builder builder = new NetworkCapabilities.Builder();
|
||||
builder.addTransportType(TRANSPORT_CELLULAR);
|
||||
if (!roaming) {
|
||||
nc.addCapability(NET_CAPABILITY_NOT_ROAMING);
|
||||
builder.addCapability(NET_CAPABILITY_NOT_ROAMING);
|
||||
}
|
||||
nc.setNetworkSpecifier(new TelephonyNetworkSpecifier.Builder()
|
||||
builder.setNetworkSpecifier(new TelephonyNetworkSpecifier.Builder()
|
||||
.setSubscriptionId(subId).build());
|
||||
return nc;
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
private NetworkPolicy buildDefaultFakeMobilePolicy() {
|
||||
@@ -2061,10 +2062,9 @@ public class NetworkPolicyManagerServiceTest {
|
||||
private static NetworkStateSnapshot buildWifi() {
|
||||
final LinkProperties prop = new LinkProperties();
|
||||
prop.setInterfaceName(TEST_IFACE);
|
||||
final NetworkCapabilities networkCapabilities = new NetworkCapabilities();
|
||||
networkCapabilities.addTransportType(TRANSPORT_WIFI);
|
||||
networkCapabilities.setSSID(TEST_SSID);
|
||||
return new NetworkStateSnapshot(new Network(TEST_NET_ID), networkCapabilities, prop,
|
||||
final NetworkCapabilities networkCapabilities = new NetworkCapabilities.Builder()
|
||||
.addTransportType(TRANSPORT_WIFI).setSsid(TEST_SSID).build();
|
||||
return new NetworkStateSnapshot(TEST_NETWORK, networkCapabilities, prop,
|
||||
null /*subscriberId*/, TYPE_WIFI);
|
||||
}
|
||||
|
||||
@@ -2086,7 +2086,7 @@ public class NetworkPolicyManagerServiceTest {
|
||||
when(mCarrierConfigManager.getConfigForSubId(eq(TEST_SUB_ID)))
|
||||
.thenReturn(mCarrierConfig);
|
||||
List<NetworkStateSnapshot> snapshots = List.of(new NetworkStateSnapshot(
|
||||
new Network(TEST_NET_ID),
|
||||
TEST_NETWORK,
|
||||
buildNetworkCapabilities(TEST_SUB_ID, roaming),
|
||||
buildLinkProperties(TEST_IFACE), TEST_IMSI, TYPE_MOBILE));
|
||||
when(mConnManager.getAllNetworkStateSnapshot()).thenReturn(snapshots);
|
||||
|
||||
Reference in New Issue
Block a user