DataStallReport is defined inside ConnectivityDiagnosticsManager. In order for DataStallReport to be used in aidls, it must implement the Parcelable interface. Bug: 143187964 Test: compiles Test: atest FrameworksNetTests Change-Id: Idbb4885e2f67fb3f85d406a622ae45d34492dca4
197 lines
7.7 KiB
Java
197 lines
7.7 KiB
Java
/*
|
|
* Copyright (C) 2020 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 android.net;
|
|
|
|
import static android.net.ConnectivityDiagnosticsManager.ConnectivityReport;
|
|
import static android.net.ConnectivityDiagnosticsManager.DataStallReport;
|
|
|
|
import static com.android.testutils.ParcelUtilsKt.assertParcelSane;
|
|
|
|
import static org.junit.Assert.assertEquals;
|
|
import static org.junit.Assert.assertFalse;
|
|
import static org.junit.Assert.assertNotEquals;
|
|
import static org.junit.Assert.assertTrue;
|
|
|
|
import android.os.PersistableBundle;
|
|
|
|
import org.junit.Test;
|
|
import org.junit.runner.RunWith;
|
|
import org.junit.runners.JUnit4;
|
|
|
|
@RunWith(JUnit4.class)
|
|
public class ConnectivityDiagnosticsManagerTest {
|
|
private static final int NET_ID = 1;
|
|
private static final int DETECTION_METHOD = 2;
|
|
private static final long TIMESTAMP = 10L;
|
|
private static final String INTERFACE_NAME = "interface";
|
|
private static final String BUNDLE_KEY = "key";
|
|
private static final String BUNDLE_VALUE = "value";
|
|
|
|
private ConnectivityReport createSampleConnectivityReport() {
|
|
final LinkProperties linkProperties = new LinkProperties();
|
|
linkProperties.setInterfaceName(INTERFACE_NAME);
|
|
|
|
final NetworkCapabilities networkCapabilities = new NetworkCapabilities();
|
|
networkCapabilities.addCapability(NetworkCapabilities.NET_CAPABILITY_IMS);
|
|
|
|
final PersistableBundle bundle = new PersistableBundle();
|
|
bundle.putString(BUNDLE_KEY, BUNDLE_VALUE);
|
|
|
|
return new ConnectivityReport(
|
|
new Network(NET_ID), TIMESTAMP, linkProperties, networkCapabilities, bundle);
|
|
}
|
|
|
|
private ConnectivityReport createDefaultConnectivityReport() {
|
|
return new ConnectivityReport(
|
|
new Network(0),
|
|
0L,
|
|
new LinkProperties(),
|
|
new NetworkCapabilities(),
|
|
PersistableBundle.EMPTY);
|
|
}
|
|
|
|
@Test
|
|
public void testPersistableBundleEquals() {
|
|
assertFalse(
|
|
ConnectivityDiagnosticsManager.persistableBundleEquals(
|
|
null, PersistableBundle.EMPTY));
|
|
assertFalse(
|
|
ConnectivityDiagnosticsManager.persistableBundleEquals(
|
|
PersistableBundle.EMPTY, null));
|
|
assertTrue(
|
|
ConnectivityDiagnosticsManager.persistableBundleEquals(
|
|
PersistableBundle.EMPTY, PersistableBundle.EMPTY));
|
|
|
|
final PersistableBundle a = new PersistableBundle();
|
|
a.putString(BUNDLE_KEY, BUNDLE_VALUE);
|
|
|
|
final PersistableBundle b = new PersistableBundle();
|
|
b.putString(BUNDLE_KEY, BUNDLE_VALUE);
|
|
|
|
final PersistableBundle c = new PersistableBundle();
|
|
c.putString(BUNDLE_KEY, null);
|
|
|
|
assertFalse(
|
|
ConnectivityDiagnosticsManager.persistableBundleEquals(PersistableBundle.EMPTY, a));
|
|
assertFalse(
|
|
ConnectivityDiagnosticsManager.persistableBundleEquals(a, PersistableBundle.EMPTY));
|
|
|
|
assertTrue(ConnectivityDiagnosticsManager.persistableBundleEquals(a, b));
|
|
assertTrue(ConnectivityDiagnosticsManager.persistableBundleEquals(b, a));
|
|
|
|
assertFalse(ConnectivityDiagnosticsManager.persistableBundleEquals(a, c));
|
|
assertFalse(ConnectivityDiagnosticsManager.persistableBundleEquals(c, a));
|
|
}
|
|
|
|
@Test
|
|
public void testConnectivityReportEquals() {
|
|
assertEquals(createSampleConnectivityReport(), createSampleConnectivityReport());
|
|
assertEquals(createDefaultConnectivityReport(), createDefaultConnectivityReport());
|
|
|
|
final LinkProperties linkProperties = new LinkProperties();
|
|
linkProperties.setInterfaceName(INTERFACE_NAME);
|
|
|
|
final NetworkCapabilities networkCapabilities = new NetworkCapabilities();
|
|
networkCapabilities.addCapability(NetworkCapabilities.NET_CAPABILITY_IMS);
|
|
|
|
final PersistableBundle bundle = new PersistableBundle();
|
|
bundle.putString(BUNDLE_KEY, BUNDLE_VALUE);
|
|
|
|
assertNotEquals(
|
|
createDefaultConnectivityReport(),
|
|
new ConnectivityReport(
|
|
new Network(NET_ID),
|
|
0L,
|
|
new LinkProperties(),
|
|
new NetworkCapabilities(),
|
|
PersistableBundle.EMPTY));
|
|
assertNotEquals(
|
|
createDefaultConnectivityReport(),
|
|
new ConnectivityReport(
|
|
new Network(0),
|
|
TIMESTAMP,
|
|
new LinkProperties(),
|
|
new NetworkCapabilities(),
|
|
PersistableBundle.EMPTY));
|
|
assertNotEquals(
|
|
createDefaultConnectivityReport(),
|
|
new ConnectivityReport(
|
|
new Network(0),
|
|
0L,
|
|
linkProperties,
|
|
new NetworkCapabilities(),
|
|
PersistableBundle.EMPTY));
|
|
assertNotEquals(
|
|
createDefaultConnectivityReport(),
|
|
new ConnectivityReport(
|
|
new Network(0),
|
|
TIMESTAMP,
|
|
new LinkProperties(),
|
|
networkCapabilities,
|
|
PersistableBundle.EMPTY));
|
|
assertNotEquals(
|
|
createDefaultConnectivityReport(),
|
|
new ConnectivityReport(
|
|
new Network(0),
|
|
TIMESTAMP,
|
|
new LinkProperties(),
|
|
new NetworkCapabilities(),
|
|
bundle));
|
|
}
|
|
|
|
@Test
|
|
public void testConnectivityReportParcelUnparcel() {
|
|
assertParcelSane(createSampleConnectivityReport(), 5);
|
|
}
|
|
|
|
private DataStallReport createSampleDataStallReport() {
|
|
final PersistableBundle bundle = new PersistableBundle();
|
|
bundle.putString(BUNDLE_KEY, BUNDLE_VALUE);
|
|
return new DataStallReport(new Network(NET_ID), TIMESTAMP, DETECTION_METHOD, bundle);
|
|
}
|
|
|
|
private DataStallReport createDefaultDataStallReport() {
|
|
return new DataStallReport(new Network(0), 0L, 0, PersistableBundle.EMPTY);
|
|
}
|
|
|
|
@Test
|
|
public void testDataStallReportEquals() {
|
|
assertEquals(createSampleDataStallReport(), createSampleDataStallReport());
|
|
assertEquals(createDefaultDataStallReport(), createDefaultDataStallReport());
|
|
|
|
final PersistableBundle bundle = new PersistableBundle();
|
|
bundle.putString(BUNDLE_KEY, BUNDLE_VALUE);
|
|
|
|
assertNotEquals(
|
|
createDefaultDataStallReport(),
|
|
new DataStallReport(new Network(NET_ID), 0L, 0, PersistableBundle.EMPTY));
|
|
assertNotEquals(
|
|
createDefaultDataStallReport(),
|
|
new DataStallReport(new Network(0), TIMESTAMP, 0, PersistableBundle.EMPTY));
|
|
assertNotEquals(
|
|
createDefaultDataStallReport(),
|
|
new DataStallReport(new Network(0), 0L, DETECTION_METHOD, PersistableBundle.EMPTY));
|
|
assertNotEquals(
|
|
createDefaultDataStallReport(), new DataStallReport(new Network(0), 0L, 0, bundle));
|
|
}
|
|
|
|
@Test
|
|
public void testDataStallReportParcelUnparcel() {
|
|
assertParcelSane(createSampleDataStallReport(), 4);
|
|
}
|
|
}
|