From cbb4d498c281ef53a8d72c88793e2f0996357831 Mon Sep 17 00:00:00 2001 From: Aaron Huang Date: Tue, 3 Aug 2021 09:53:49 +0800 Subject: [PATCH] Test a template matches mobile and mobile wildcard Add two test cases for matchesMobile and matchesMobileWildcard Bug: 183776809 Test: FrameworksNetTests:NetworkTemplateTest Change-Id: I14d31071655204fe6ad36c71f7f521640e01c96e --- .../java/android/net/NetworkTemplateTest.kt | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/tests/unit/java/android/net/NetworkTemplateTest.kt b/tests/unit/java/android/net/NetworkTemplateTest.kt index 49c7271c56..9ff594ab1d 100644 --- a/tests/unit/java/android/net/NetworkTemplateTest.kt +++ b/tests/unit/java/android/net/NetworkTemplateTest.kt @@ -39,6 +39,8 @@ import android.net.NetworkTemplate.OEM_MANAGED_YES import android.net.NetworkTemplate.SUBSCRIBER_ID_MATCH_RULE_EXACT import android.net.NetworkTemplate.WIFI_NETWORKID_ALL import android.net.NetworkTemplate.buildTemplateCarrierMetered +import android.net.NetworkTemplate.buildTemplateMobileAll +import android.net.NetworkTemplate.buildTemplateMobileWildcard import android.net.NetworkTemplate.buildTemplateMobileWithRatType import android.net.NetworkTemplate.buildTemplateWifi import android.net.NetworkTemplate.buildTemplateWifiWildcard @@ -170,6 +172,57 @@ class NetworkTemplateTest { templateWifiSsidAllImsi1.assertMatches(identWifiImsi1Ssid2) } + @Test + fun testMobileMatches() { + val templateMobileImsi1 = buildTemplateMobileAll(TEST_IMSI1) + val templateMobileImsi2WithRatType = buildTemplateMobileWithRatType(TEST_IMSI2, + TelephonyManager.NETWORK_TYPE_UMTS) + + val mobileImsi1 = buildNetworkState(TYPE_MOBILE, TEST_IMSI1, null /* ssid */, + OEM_NONE, true /* metered */) + val identMobile1 = buildNetworkIdentity(mockContext, mobileImsi1, + false /* defaultNetwork */, TelephonyManager.NETWORK_TYPE_UMTS) + val mobileImsi2 = buildMobileNetworkState(TEST_IMSI2) + val identMobile2Umts = buildNetworkIdentity(mockContext, mobileImsi2, + false /* defaultNetwork */, TelephonyManager.NETWORK_TYPE_UMTS) + + val identWifiImsi1Ssid1 = buildNetworkIdentity( + mockContext, buildWifiNetworkState(TEST_IMSI1, TEST_SSID1), true, 0) + + // Verify that the template matches type and the subscriberId. + templateMobileImsi1.assertMatches(identMobile1) + templateMobileImsi2WithRatType.assertMatches(identMobile2Umts) + + // Verify that the template does not match the different subscriberId. + templateMobileImsi1.assertDoesNotMatch(identMobile2Umts) + templateMobileImsi2WithRatType.assertDoesNotMatch(identMobile1) + + // Verify that the different type does not match. + templateMobileImsi1.assertDoesNotMatch(identWifiImsi1Ssid1) + } + + @Test + fun testMobileWildcardMatches() { + val templateMobileWildcard = buildTemplateMobileWildcard() + val templateMobileNullImsiWithRatType = buildTemplateMobileWithRatType(null, + TelephonyManager.NETWORK_TYPE_UMTS) + + val mobileImsi1 = buildMobileNetworkState(TEST_IMSI1) + val identMobile1 = buildNetworkIdentity(mockContext, mobileImsi1, + false /* defaultNetwork */, TelephonyManager.NETWORK_TYPE_UMTS) + + // Verify that the template matches any subscriberId. + templateMobileWildcard.assertMatches(identMobile1) + templateMobileNullImsiWithRatType.assertMatches(identMobile1) + + val identWifiImsi1Ssid1 = buildNetworkIdentity( + mockContext, buildWifiNetworkState(TEST_IMSI1, TEST_SSID1), true, 0) + + // Verify that the different type does not match. + templateMobileWildcard.assertDoesNotMatch(identWifiImsi1Ssid1) + templateMobileNullImsiWithRatType.assertDoesNotMatch(identWifiImsi1Ssid1) + } + @Test fun testCarrierMeteredMatches() { val templateCarrierImsi1Metered = buildTemplateCarrierMetered(TEST_IMSI1)