diff options
author | Hai Shalom <haishalom@google.com> | 2020-04-09 19:10:06 -0700 |
---|---|---|
committer | Hai Shalom <haishalom@google.com> | 2020-04-13 16:25:48 -0700 |
commit | f17e56bbd9dd09169b9b4a6b9735acda9d31b9d1 (patch) | |
tree | 95c19375c554482d9cab891b86b0a362c1a781ff /tests | |
parent | 6e5f940b37880a6d05a9a50c0dbb7245f2448ce0 (diff) |
[Passpoint] Add metrics for Root CA and Subscription Expiration
Add metrics for counting profiles with no Root CA, profiles
with self-signed Root CAs and profiles with Subscription Expiration.
Bug: 153695144
Test: atest PasspointManagerTest
Test: atest WifiMetricsTest
Change-Id: I94dd0a3a8948d612a3bccdcf6fcea677f93d97bf
Diffstat (limited to 'tests')
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java | 19 | ||||
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointManagerTest.java | 73 |
2 files changed, 92 insertions, 0 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java b/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java index c8b149ba6..3964d2d37 100644 --- a/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java +++ b/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java @@ -398,6 +398,9 @@ public class WifiMetricsTest extends WifiBaseTest { private static final int NUM_PASSPOINT_PROVIDER_UNINSTALLATION = 3; private static final int NUM_PASSPOINT_PROVIDER_UNINSTALL_SUCCESS = 2; private static final int NUM_PASSPOINT_PROVIDERS_SUCCESSFULLY_CONNECTED = 1; + private static final int NUM_PASSPOINT_PROVIDERS_WITH_NO_ROOT_CA = 2; + private static final int NUM_PASSPOINT_PROVIDERS_WITH_SELF_SIGNED_ROOT_CA = 3; + private static final int NUM_PASSPOINT_PROVIDERS_WITH_EXPIRATION_DATE = 4; private static final int NUM_EAP_SIM_TYPE = 1; private static final int NUM_EAP_TTLS_TYPE = 2; private static final int NUM_EAP_TLS_TYPE = 3; @@ -873,6 +876,15 @@ public class WifiMetricsTest extends WifiBaseTest { for (int i = 0; i < NUM_PASSPOINT_PROVIDER_UNINSTALL_SUCCESS; i++) { mWifiMetrics.incrementNumPasspointProviderUninstallSuccess(); } + for (int i = 0; i < NUM_PASSPOINT_PROVIDERS_WITH_NO_ROOT_CA; i++) { + mWifiMetrics.incrementNumPasspointProviderWithNoRootCa(); + } + for (int i = 0; i < NUM_PASSPOINT_PROVIDERS_WITH_SELF_SIGNED_ROOT_CA; i++) { + mWifiMetrics.incrementNumPasspointProviderWithSelfSignedRootCa(); + } + for (int i = 0; i < NUM_PASSPOINT_PROVIDERS_WITH_EXPIRATION_DATE; i++) { + mWifiMetrics.incrementNumPasspointProviderWithSubscriptionExpiration(); + } for (int i = 0; i < NUM_RADIO_MODE_CHANGE_TO_MCC; i++) { mWifiMetrics.incrementNumRadioModeChangeToMcc(); } @@ -1329,6 +1341,13 @@ public class WifiMetricsTest extends WifiBaseTest { mDecodedProto.numPasspointProviderUninstallSuccess); assertEquals(NUM_PASSPOINT_PROVIDERS_SUCCESSFULLY_CONNECTED, mDecodedProto.numPasspointProvidersSuccessfullyConnected); + assertEquals(NUM_PASSPOINT_PROVIDERS_WITH_NO_ROOT_CA, + mDecodedProto.numPasspointProviderWithNoRootCa); + assertEquals(NUM_PASSPOINT_PROVIDERS_WITH_SELF_SIGNED_ROOT_CA, + mDecodedProto.numPasspointProviderWithSelfSignedRootCa); + assertEquals(NUM_PASSPOINT_PROVIDERS_WITH_EXPIRATION_DATE, + mDecodedProto.numPasspointProviderWithSubscriptionExpiration); + assertEquals(NUM_RADIO_MODE_CHANGE_TO_MCC, mDecodedProto.numRadioModeChangeToMcc); assertEquals(NUM_RADIO_MODE_CHANGE_TO_SCC, mDecodedProto.numRadioModeChangeToScc); assertEquals(NUM_RADIO_MODE_CHANGE_TO_SBS, mDecodedProto.numRadioModeChangeToSbs); diff --git a/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointManagerTest.java b/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointManagerTest.java index 73c5713ac..861aa94ff 100644 --- a/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointManagerTest.java +++ b/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointManagerTest.java @@ -2560,4 +2560,77 @@ public class PasspointManagerTest extends WifiBaseTest { // Verify content in the data source. assertTrue(mUserDataSource.getProviders().isEmpty()); } + + /** + * Verify that adding a provider with a self signed root CA increments the metrics correctly. + * + * @throws Exception + */ + @Test + public void verifySelfSignRootCaMetrics() throws Exception { + WifiConfiguration wifiConfig = new WifiConfiguration(); + wifiConfig.FQDN = TEST_FQDN; + PasspointConfiguration config = + createTestConfigWithUserCredential(TEST_FQDN, TEST_FRIENDLY_NAME); + PasspointProvider provider = createMockProvider(config, wifiConfig, true); + when(mObjectFactory.makePasspointProvider(eq(config), eq(mWifiKeyStore), + eq(mWifiCarrierInfoManager), anyLong(), eq(TEST_CREATOR_UID), eq(TEST_PACKAGE), + eq(true))).thenReturn(provider); + when(provider.getPackageName()).thenReturn(TEST_PACKAGE); + assertTrue(mManager.addOrUpdateProvider( + config, TEST_CREATOR_UID, TEST_PACKAGE, true, false)); + verify(mWifiMetrics).incrementNumPasspointProviderWithSelfSignedRootCa(); + verify(mWifiMetrics, never()).incrementNumPasspointProviderWithNoRootCa(); + verify(mWifiMetrics).incrementNumPasspointProviderInstallation(); + verify(mWifiMetrics).incrementNumPasspointProviderInstallSuccess(); + } + + /** + * Verify that adding a provider with no root CA increments the metrics correctly. + * + * @throws Exception + */ + @Test + public void verifyNoRootCaMetrics() throws Exception { + WifiConfiguration wifiConfig = new WifiConfiguration(); + wifiConfig.FQDN = TEST_FQDN; + PasspointConfiguration config = + createTestConfigWithUserCredential(TEST_FQDN, TEST_FRIENDLY_NAME); + config.getCredential().setCaCertificate(null); + PasspointProvider provider = createMockProvider(config, wifiConfig, true); + when(mObjectFactory.makePasspointProvider(eq(config), eq(mWifiKeyStore), + eq(mWifiCarrierInfoManager), anyLong(), eq(TEST_CREATOR_UID), eq(TEST_PACKAGE), + eq(true))).thenReturn(provider); + when(provider.getPackageName()).thenReturn(TEST_PACKAGE); + assertTrue(mManager.addOrUpdateProvider( + config, TEST_CREATOR_UID, TEST_PACKAGE, true, false)); + verify(mWifiMetrics).incrementNumPasspointProviderWithNoRootCa(); + verify(mWifiMetrics, never()).incrementNumPasspointProviderWithSelfSignedRootCa(); + verify(mWifiMetrics).incrementNumPasspointProviderInstallation(); + verify(mWifiMetrics).incrementNumPasspointProviderInstallSuccess(); + } + + /** + * Verify that adding a provider with subscription expiration increments the metrics correctly. + * + * @throws Exception + */ + @Test + public void verifySubscriptionExpirationMetrics() throws Exception { + WifiConfiguration wifiConfig = new WifiConfiguration(); + wifiConfig.FQDN = TEST_FQDN; + PasspointConfiguration config = + createTestConfigWithUserCredential(TEST_FQDN, TEST_FRIENDLY_NAME); + config.setSubscriptionExpirationTimeInMillis(1586228641000L); + PasspointProvider provider = createMockProvider(config, wifiConfig, true); + when(mObjectFactory.makePasspointProvider(eq(config), eq(mWifiKeyStore), + eq(mWifiCarrierInfoManager), anyLong(), eq(TEST_CREATOR_UID), eq(TEST_PACKAGE), + eq(true))).thenReturn(provider); + when(provider.getPackageName()).thenReturn(TEST_PACKAGE); + assertTrue(mManager.addOrUpdateProvider( + config, TEST_CREATOR_UID, TEST_PACKAGE, true, false)); + verify(mWifiMetrics).incrementNumPasspointProviderWithSubscriptionExpiration(); + verify(mWifiMetrics).incrementNumPasspointProviderInstallation(); + verify(mWifiMetrics).incrementNumPasspointProviderInstallSuccess(); + } } |