Merge "Refactor TetheringMetricsTest"

This commit is contained in:
Wayne Ma
2023-03-14 08:51:16 +00:00
committed by Gerrit Code Review

View File

@@ -99,86 +99,87 @@ public final class TetheringMetricsTest {
mTetheringMetrics.sendReport(downstream);
}
private void runDownstreamTypesTest(final Pair<Integer, DownstreamType>... testPairs)
private void runDownstreamTypesTest(final Pair<Integer, DownstreamType> testPair)
throws Exception {
for (Pair<Integer, DownstreamType> testPair : testPairs) {
final int type = testPair.first;
final DownstreamType expectedResult = testPair.second;
final int type = testPair.first;
final DownstreamType expectedResult = testPair.second;
mTetheringMetrics.createBuilder(type, TEST_CALLER_PKG);
updateErrorAndSendReport(type, TETHER_ERROR_NO_ERROR);
verifyReport(expectedResult, ErrorCode.EC_NO_ERROR, UserType.USER_UNKNOWN);
reset(mTetheringMetrics);
}
mTetheringMetrics.createBuilder(type, TEST_CALLER_PKG);
updateErrorAndSendReport(type, TETHER_ERROR_NO_ERROR);
verifyReport(expectedResult, ErrorCode.EC_NO_ERROR, UserType.USER_UNKNOWN);
reset(mTetheringMetrics);
}
@Test
public void testDownstreamTypes() throws Exception {
runDownstreamTypesTest(new Pair<>(TETHERING_WIFI, DownstreamType.DS_TETHERING_WIFI),
new Pair<>(TETHERING_WIFI_P2P, DownstreamType.DS_TETHERING_WIFI_P2P),
new Pair<>(TETHERING_BLUETOOTH, DownstreamType.DS_TETHERING_BLUETOOTH),
new Pair<>(TETHERING_USB, DownstreamType.DS_TETHERING_USB),
new Pair<>(TETHERING_NCM, DownstreamType.DS_TETHERING_NCM),
new Pair<>(TETHERING_ETHERNET, DownstreamType.DS_TETHERING_ETHERNET));
runDownstreamTypesTest(new Pair<>(TETHERING_WIFI, DownstreamType.DS_TETHERING_WIFI));
runDownstreamTypesTest(new Pair<>(TETHERING_WIFI_P2P,
DownstreamType.DS_TETHERING_WIFI_P2P));
runDownstreamTypesTest(new Pair<>(TETHERING_BLUETOOTH,
DownstreamType.DS_TETHERING_BLUETOOTH));
runDownstreamTypesTest(new Pair<>(TETHERING_USB, DownstreamType.DS_TETHERING_USB));
runDownstreamTypesTest(new Pair<>(TETHERING_NCM, DownstreamType.DS_TETHERING_NCM));
runDownstreamTypesTest(new Pair<>(TETHERING_ETHERNET,
DownstreamType.DS_TETHERING_ETHERNET));
}
private void runErrorCodesTest(final Pair<Integer, ErrorCode>... testPairs)
private void runErrorCodesTest(final Pair<Integer, ErrorCode> testPair)
throws Exception {
for (Pair<Integer, ErrorCode> testPair : testPairs) {
final int errorCode = testPair.first;
final ErrorCode expectedResult = testPair.second;
final int errorCode = testPair.first;
final ErrorCode expectedResult = testPair.second;
mTetheringMetrics.createBuilder(TETHERING_WIFI, TEST_CALLER_PKG);
updateErrorAndSendReport(TETHERING_WIFI, errorCode);
verifyReport(DownstreamType.DS_TETHERING_WIFI, expectedResult, UserType.USER_UNKNOWN);
reset(mTetheringMetrics);
}
mTetheringMetrics.createBuilder(TETHERING_WIFI, TEST_CALLER_PKG);
updateErrorAndSendReport(TETHERING_WIFI, errorCode);
verifyReport(DownstreamType.DS_TETHERING_WIFI, expectedResult, UserType.USER_UNKNOWN);
}
@Test
public void testErrorCodes() throws Exception {
runErrorCodesTest(new Pair<>(TETHER_ERROR_NO_ERROR, ErrorCode.EC_NO_ERROR),
new Pair<>(TETHER_ERROR_UNKNOWN_IFACE, ErrorCode.EC_UNKNOWN_IFACE),
new Pair<>(TETHER_ERROR_SERVICE_UNAVAIL, ErrorCode.EC_SERVICE_UNAVAIL),
new Pair<>(TETHER_ERROR_UNSUPPORTED, ErrorCode.EC_UNSUPPORTED),
new Pair<>(TETHER_ERROR_UNAVAIL_IFACE, ErrorCode.EC_UNAVAIL_IFACE),
new Pair<>(TETHER_ERROR_INTERNAL_ERROR, ErrorCode.EC_INTERNAL_ERROR),
new Pair<>(TETHER_ERROR_TETHER_IFACE_ERROR, ErrorCode.EC_TETHER_IFACE_ERROR),
new Pair<>(TETHER_ERROR_UNTETHER_IFACE_ERROR, ErrorCode.EC_UNTETHER_IFACE_ERROR),
new Pair<>(TETHER_ERROR_ENABLE_FORWARDING_ERROR,
ErrorCode.EC_ENABLE_FORWARDING_ERROR),
new Pair<>(TETHER_ERROR_DISABLE_FORWARDING_ERROR,
ErrorCode.EC_DISABLE_FORWARDING_ERROR),
new Pair<>(TETHER_ERROR_IFACE_CFG_ERROR, ErrorCode.EC_IFACE_CFG_ERROR),
new Pair<>(TETHER_ERROR_PROVISIONING_FAILED, ErrorCode.EC_PROVISIONING_FAILED),
new Pair<>(TETHER_ERROR_DHCPSERVER_ERROR, ErrorCode.EC_DHCPSERVER_ERROR),
new Pair<>(TETHER_ERROR_ENTITLEMENT_UNKNOWN, ErrorCode.EC_ENTITLEMENT_UNKNOWN),
new Pair<>(TETHER_ERROR_NO_CHANGE_TETHERING_PERMISSION,
ErrorCode.EC_NO_CHANGE_TETHERING_PERMISSION),
new Pair<>(TETHER_ERROR_NO_ACCESS_TETHERING_PERMISSION,
ErrorCode.EC_NO_ACCESS_TETHERING_PERMISSION),
new Pair<>(TETHER_ERROR_UNKNOWN_TYPE, ErrorCode.EC_UNKNOWN_TYPE));
runErrorCodesTest(new Pair<>(TETHER_ERROR_NO_ERROR, ErrorCode.EC_NO_ERROR));
runErrorCodesTest(new Pair<>(TETHER_ERROR_UNKNOWN_IFACE, ErrorCode.EC_UNKNOWN_IFACE));
runErrorCodesTest(new Pair<>(TETHER_ERROR_SERVICE_UNAVAIL, ErrorCode.EC_SERVICE_UNAVAIL));
runErrorCodesTest(new Pair<>(TETHER_ERROR_UNSUPPORTED, ErrorCode.EC_UNSUPPORTED));
runErrorCodesTest(new Pair<>(TETHER_ERROR_UNAVAIL_IFACE, ErrorCode.EC_UNAVAIL_IFACE));
runErrorCodesTest(new Pair<>(TETHER_ERROR_INTERNAL_ERROR, ErrorCode.EC_INTERNAL_ERROR));
runErrorCodesTest(new Pair<>(TETHER_ERROR_TETHER_IFACE_ERROR,
ErrorCode.EC_TETHER_IFACE_ERROR));
runErrorCodesTest(new Pair<>(TETHER_ERROR_UNTETHER_IFACE_ERROR,
ErrorCode.EC_UNTETHER_IFACE_ERROR));
runErrorCodesTest(new Pair<>(TETHER_ERROR_ENABLE_FORWARDING_ERROR,
ErrorCode.EC_ENABLE_FORWARDING_ERROR));
runErrorCodesTest(new Pair<>(TETHER_ERROR_DISABLE_FORWARDING_ERROR,
ErrorCode.EC_DISABLE_FORWARDING_ERROR));
runErrorCodesTest(new Pair<>(TETHER_ERROR_IFACE_CFG_ERROR, ErrorCode.EC_IFACE_CFG_ERROR));
runErrorCodesTest(new Pair<>(TETHER_ERROR_PROVISIONING_FAILED,
ErrorCode.EC_PROVISIONING_FAILED));
runErrorCodesTest(new Pair<>(TETHER_ERROR_DHCPSERVER_ERROR,
ErrorCode.EC_DHCPSERVER_ERROR));
runErrorCodesTest(new Pair<>(TETHER_ERROR_ENTITLEMENT_UNKNOWN,
ErrorCode.EC_ENTITLEMENT_UNKNOWN));
runErrorCodesTest(new Pair<>(TETHER_ERROR_NO_CHANGE_TETHERING_PERMISSION,
ErrorCode.EC_NO_CHANGE_TETHERING_PERMISSION));
runErrorCodesTest(new Pair<>(TETHER_ERROR_NO_ACCESS_TETHERING_PERMISSION,
ErrorCode.EC_NO_ACCESS_TETHERING_PERMISSION));
runErrorCodesTest(new Pair<>(TETHER_ERROR_UNKNOWN_TYPE, ErrorCode.EC_UNKNOWN_TYPE));
}
private void runUserTypesTest(final Pair<String, UserType>... testPairs)
private void runUserTypesTest(final Pair<String, UserType> testPair)
throws Exception {
for (Pair<String, UserType> testPair : testPairs) {
final String callerPkg = testPair.first;
final UserType expectedResult = testPair.second;
final String callerPkg = testPair.first;
final UserType expectedResult = testPair.second;
mTetheringMetrics.createBuilder(TETHERING_WIFI, callerPkg);
updateErrorAndSendReport(TETHERING_WIFI, TETHER_ERROR_NO_ERROR);
verifyReport(DownstreamType.DS_TETHERING_WIFI, ErrorCode.EC_NO_ERROR, expectedResult);
reset(mTetheringMetrics);
}
mTetheringMetrics.createBuilder(TETHERING_WIFI, callerPkg);
updateErrorAndSendReport(TETHERING_WIFI, TETHER_ERROR_NO_ERROR);
verifyReport(DownstreamType.DS_TETHERING_WIFI, ErrorCode.EC_NO_ERROR, expectedResult);
reset(mTetheringMetrics);
}
@Test
public void testUserTypes() throws Exception {
runUserTypesTest(new Pair<>(TEST_CALLER_PKG, UserType.USER_UNKNOWN),
new Pair<>(SETTINGS_PKG, UserType.USER_SETTINGS),
new Pair<>(SYSTEMUI_PKG, UserType.USER_SYSTEMUI),
new Pair<>(GMS_PKG, UserType.USER_GMS));
runUserTypesTest(new Pair<>(TEST_CALLER_PKG, UserType.USER_UNKNOWN));
runUserTypesTest(new Pair<>(SETTINGS_PKG, UserType.USER_SETTINGS));
runUserTypesTest(new Pair<>(SYSTEMUI_PKG, UserType.USER_SYSTEMUI));
runUserTypesTest(new Pair<>(GMS_PKG, UserType.USER_GMS));
}
@Test