Commit Graph

4035 Commits

Author SHA1 Message Date
Remi NGUYEN VAN
539bfc16ee Skip Ikev2VpnTest on Q
The Ikev2 VPN feature was introduced in R.

Bug: 150904735
Test: atest CtsNetTestCasesLatestSdk:Ikev2VpnTest
Change-Id: I51ded6e967291c110ff0bbd18a3631ab9a742e74
2020-06-02 10:51:55 +09:00
Cody Kesting
43fbab7444 Merge "Test Data Stall with unknown detection type." 2020-05-29 20:46:59 +00:00
Cody Kesting
f665174aaa Merge "Add CTS testing for ConnectivityDiagnostics Data Stall callback." 2020-05-29 20:44:42 +00:00
Cody Kesting
21763671f4 Merge "Add CTS tests for ConnectivityDiagnostics callbacks." 2020-05-29 19:49:06 +00:00
Benedict Wong
c75e8886ed Merge changes from topic "vpn-cts"
* changes:
  Add IPv6 testing for IKEv2 VPN tests
  Add Ikev2VpnTests including IKE negotiation.
  Add basic tests for IKEv2/IPsec VPNs
  Extract IPsec and test network utility methods
2020-05-29 18:51:26 +00:00
Benedict Wong
3d95958d01 Add IPv6 testing for IKEv2 VPN tests
This change adds tests for IPv6 IKEv2 VPN profiles.

Bug: 148582947
Test: IPv6 tests passing
Change-Id: Ic0f71df739bd9162653b5f2878e7ddc446ddde0e
2020-05-29 02:28:07 -07:00
Remi NGUYEN VAN
b0d3cd455c Merge "Add CTS test for the capport API" 2020-05-29 00:35:24 +00:00
Benedict Wong
e777f4076e Add Ikev2VpnTests including IKE negotiation.
This commit expands IKEv2 VPN CTS testing to ensure that given a
successful IKEv2 negotiation, the VPN network will be correctly set up.
Additionally, it verifies that the stopProvisionedVpnProfile will
teardown the VPN network.

Bug: 148582947
Test: atest CtsNetTestCases:Ikev2VpnTest
Change-Id: Ib6635f0068200ac0172515989fbdee5c3d49e231
2020-05-28 14:14:16 -07:00
Benedict Wong
670639c13c Add basic tests for IKEv2/IPsec VPNs
This change adds basic tests for all IKEv2/IPsec VPN public APIs.
Additional testing for ensuring IKEv2 setup completes will be done in a
subsequent CL.

Bug: 148582947
Test: Ikev2VpnTest added
Change-Id: Ia5d35c32525b32be4a0dc0584630f5bb9e7f1bcb
2020-05-28 10:45:57 -07:00
Benedict Wong
9986109df8 Extract IPsec and test network utility methods
This patch moves some test setup functions to util classes in
preparation for IKEv2 VPN tests which will use those same utilities.

Bug: 148582947
Test: atest IpSecManagerTunnelTest; passing
Change-Id: I9aeafa45ab515ce72a72c3de6f70fb26e32e7fd4
2020-05-28 10:43:16 -07:00
Yan Yan
4a7fcbcb54 Merge "Test IKE Session setup in IPv6 network" 2020-05-28 17:03:51 +00:00
Remi NGUYEN VAN
be87265e09 Add CTS test for the capport API
The test relies on EthernetManager#setIncludeTestInterfaces to run
validation on an "ethernet" network based on a tap interface, and
simulates DHCP and HTTP servers so the device sees the capport DHCP
option, and fetches the API contents.

Bug: 156062304
Test: atest CaptivePortalApiTest
Change-Id: I734dbd05c0f50b8dc4553102ab286f0d8807a7ac
2020-05-28 16:30:31 +09:00
Yan Yan
77a425820a Merge "Test handling authentication failure" 2020-05-28 04:22:35 +00:00
Treehugger Robot
555ca8801b Merge "Fix testTetheringUpstream flaky" 2020-05-28 01:36:55 +00:00
Yan Yan
06c7ebc8e4 Merge "Test remotely initiated rekey" 2020-05-28 01:10:38 +00:00
Yan Yan
aecb7c05e2 Merge "Test IKE Session setup with EAP-MSCHAPv2" 2020-05-28 01:09:11 +00:00
Yan Yan
6b5975c9fb Merge "Test IKE Session setup with digital-signature-based Auth" 2020-05-27 23:38:25 +00:00
markchien
47e3788e3e Fix testTetheringUpstream flaky
testTetheringUpstream test case need cellular network. So it disable
wifi and getActiveNetwork to check whether current network is cellular.
But there is a race that call getActiveNetwork right away after
disconnect wifi. getActiveNetwork may return null because switching
network is not ready yet.

Bug: 156314879
Test: atest CtsTetheringTest

Change-Id: I6b433560fb27a3b4bd80c4198ccdb58a5be701b6
2020-05-27 23:03:07 +08:00
Treehugger Robot
89b5be1e4d Merge "Add logs to NetworkCallbackTest to diagnose issues" 2020-05-27 10:19:57 +00:00
Chalard Jean
796ccadc00 Add logs to NetworkCallbackTest to diagnose issues
Bug: 157391946
Test: NetworkCallbackTests
Change-Id: I552a1ad05f97a2a9f83f5f7de77d2e7b64084ddc
2020-05-27 15:51:53 +09:00
evitayan
8719bd68eb Test IKE Session setup in IPv6 network
Bug: 148689509
Test: atest testIkeSessionSetupAndChildSessionSetupWithTunnelModeV6
Change-Id: Ia2fa9462c66a283697e0cb9dd4c475215c0eafde
2020-05-26 17:22:21 -07:00
evitayan
ac96b659d3 Test handling authentication failure
- Test receiving Authentication Failure notification
- Test setting up IKE Session with first Child setup failure

Bug: 155821007
Test: CtsIkeTestCases
Change-Id: I4ec43a3899d67a119cd4ba19e0ffc63c277325fb
2020-05-26 15:52:14 -07:00
Yan Yan
609752fca4 Merge "Move common logic in testing and verification to IkeSessionTestBase" 2020-05-26 22:51:40 +00:00
evitayan
c0b2dbdaf6 Test remotely initiated rekey
This commit:
- Adds test for remotely initiated rekey for IKE and Child SA
- Makes IkeTunUtils support building and injecting requests
- Adds method to parse hex to long because Long.parseLong cannot
  handle negative long value

Bug: 155821007
Test: atest CtsIkeTestCases
Change-Id: I299cf190261ac15397f9ed389adb2c69e94a6507
2020-05-26 15:49:56 -07:00
evitayan
ce7032f0be Test IKE Session setup with EAP-MSCHAPv2
Bug: 155821007
Test: atest CtsIkeTestCases
Change-Id: Ie8a328c53b531027ce63edaa874c4cd0904e0068
2020-05-26 15:49:43 -07:00
evitayan
ab4bc2dd35 Test IKE Session setup with digital-signature-based Auth
This commit adds a test for setting up IKE Session with
digital-signature-based authentication.

This test also verifies sending and receiving IKE fragments

Bug: 155821007
Test: atest CtsIkeTestCases:IkeSessionDigitalSignatureTest
Change-Id: I5829dfa955c47c0810760b7bf97372031e740f1e
2020-05-26 15:49:36 -07:00
Yan Yan
3e8456302a Merge "Verify creation and deletion of IpSecTransform pair" 2020-05-26 22:34:00 +00:00
evitayan
13f043a8db Move common logic in testing and verification to IkeSessionTestBase
This commit moves following logics to IkeSessionTestBase so that all
subclasses can share it:
- build ChildParams
- perform IKE and first Child setup
- perform deleting IKE
- verifying IKE and first Child setup

Bug: 155821007
Test: atest CtsIkeTestCases:IkeSessionDigitalSignatureTest
Change-Id: Ib35b18240396a7b4823111e37be9a338d8ff6f06
2020-05-26 10:30:28 -07:00
evitayan
908f1d3365 Verify creation and deletion of IpSecTransform pair
- Verify that inbound and outbound IpSecTransforms
  are created when a Child Session is created
- Verify that when Child Session is deleted,
  the IpSecTransform pair is deleted

Bug: 148689509
Test: atest CtsIkeTestCases
Change-Id: If142b3fb2ac791322921beeab1bc8d43db255317
2020-05-26 10:21:00 -07:00
Remi NGUYEN VAN
352a01edfd Merge "Skip testTemporarilyNotMeteredCapability on Q" 2020-05-26 00:00:45 +00:00
Remi NGUYEN VAN
efcc79f2a5 Merge "Use Q permission on Q for startCaptivePortalApp" 2020-05-26 00:00:17 +00:00
Remi NGUYEN VAN
591263914c Merge "Fix and deflake ConnectivityManagerTest" 2020-05-25 23:59:11 +00:00
Remi NGUYEN VAN
6dfe6412a2 Skip testTemporarilyNotMeteredCapability on Q
The capability did not exist on Q.

Bug: 155993662
Test: atest NetworkRequestTest
Change-Id: I94e874e37cadadd90397278bf519db68db48a50f
2020-05-25 19:21:21 +09:00
Remi NGUYEN VAN
aa660b56cf Use Q permission on Q for startCaptivePortalApp
on Q startCaptivePortalApp was guarded by CONNECTIVITY_INTERNAL instead
of NETWORK_SETTINGS: change the permission adopted by shell on Q to
match the platform.

Test: atest CaptivePortalTest on a Q device
Bug: 150904735

Change-Id: I24b6907d164aba07df0f5a1a3715669e99cddd88
2020-05-25 19:15:53 +09:00
Remi NGUYEN VAN
2f5879f6c7 Fix and deflake ConnectivityManagerTest
- Migrate the test to JUnit4, as JUnit3 cannot use assumeTrue
 - Skip IPv4 keepalive tests on networks that do not have native IPv4.
 - Refactor usage of adoptShellPermissionIdentity to use try / finally
   or runAsShellPermissionIdentity: test failures could lead to
   permission failures in other tests due to mismatched adopt/drop.
 - Fix ensureWifiConnected to support the "wifi enabled but not fully
   connected" case.

Bug: 150949391
Test: atest CtsNetTestCasesLatestSdk:ConnectivityManagerTest \
      --rerun-until-failure 50
Change-Id: I7459753b1068e1760a95337760db58d1df213fad
2020-05-25 19:15:39 +09:00
Remi NGUYEN VAN
c7cd60d9d4 Merge "Add a cts test for PermissionMonitor security problem" 2020-05-25 09:21:39 +00:00
Luke Huang
76fdd5976f Merge "Deflaky test for DnsResolverTest" 2020-05-22 15:28:05 +00:00
Yan Yan
27349420bd Merge "Cleanup of IkeSessionPskTest" 2020-05-22 01:49:08 +00:00
evitayan
34e71a5b68 Cleanup of IkeSessionPskTest
- Add java doc in IkeSessionTestBase about the necessity to use
  different addresses and Networks in each test
- Use ArrayTrackRecord in Test Session Callback to retrieve the
  latest result.
- Verify that IpSecTransform pair is created and deleted

Bug: 148689509
Test: atest CtsIkeTestCases
Change-Id: Ib747c8cdfe1827e8df2aa7544e28e98a177d3d1c
2020-05-21 16:23:02 -07:00
Yan Yan
32d03b84b6 Merge "Exit test if device does not support IPsec tunnel" 2020-05-21 23:10:54 +00:00
Cody Kesting
4ddd1debbd Test Data Stall with unknown detection type.
This CL adds a CTS test for Data Stall events to
ConnectivityDiagnostics. This makes sure that new DataStall detection
methods are passed to ConnectivityDiagnostics callbacks with the
appropriate detection method bit mask.

Bug: 156294356
Bug: 148032944
Test: atest ConnectivityDiagnosticsManagerTest
Change-Id: Id6f1bff59b08192f09ebcc4578a3c233fd1c2768
2020-05-21 15:57:28 -07:00
Cody Kesting
d1e42d7e64 Add CTS testing for ConnectivityDiagnostics Data Stall callback.
Verify that onDataStallSuspected() is invoked by the System when
expected.

ConnectivityDiagnosticsManager provides an API for registering callbacks
with the System. These callbacks allow the System to notify registered
and permissioned callbacks on Network validation, suspected data stalls,
and Network connectivity reported.

Bug: 148032944
Test: atest ConnectivityDiagnosticsManagerTest
Change-Id: If6ceae9d2bbcabf88298d2d8c39cad5275fbd1ef
2020-05-21 15:57:28 -07:00
Cody Kesting
214a8ea198 Add CTS tests for ConnectivityDiagnostics callbacks.
Verify that the callbacks onConnectivityReport() and
onNetworkConnectivityReported() are invoked by the System when expected.

ConnectivityDiagnosticsManager provides an API for registering callbacks
with the System. These callbacks allow the System to notify registered
and permissioned callbacks on Network validation, suspected data stalls,
and Network connectivity reported.

Bug: 148032944
Test: android.net.cts.ConnectivityDiagnosticsManagerTest
Change-Id: I748229d41c16adf1561e03aa597d5aac00f12912
2020-05-21 15:57:27 -07:00
Luke Huang
d6e36d820e Deflaky test for DnsResolverTest
It's possible that private DNS setting is not in the state we expected
when we tried to enable strict mode during tests. The problem here is
that there are 2 setting Uris(mode and specifier) relating to strict
mode, each of them might trigger private DNS setting changing evnet in
ConnectivityService.
Previously, we tried to enable strict mode with first set private DNS
mode and then private DNS specifier. This may result in 2 consecutive
private DNS changes events with very short intervals, which caused
conflicts between DnsResolver / NetworkMonitor and lead to flaky tests.

So
0. Use opportunistic as default mode if no default mode existed.
1. Change the order (mode and specifier) for enabling strict mode.
2. Change private DNS mode only when needed.
     (If original mode is "hostname", then we only need to set
     specifier)

Bug: 153624005
Bug: 151122313
Bug: 150952393
Test: atest DnsResolverTest --rerun-until-failure 100
Test: forrest (git_master, cts/networking/gce-all)
Test: forrest (git_rvc-dev, atest CtsNetTestCases)
Test: forrest (git_rvc-dev, mts/dnsresolver/device-all)
Change-Id: I224a6493c87cebaf0bf954c2644e2945ccd50db1
2020-05-21 16:04:49 +08:00
Sarah Chin
bab248804b Merge "Add cts for TEMPORARILY_NOT_METERED" 2020-05-21 01:37:51 +00:00
Sarah Chin
ae36797b69 Add cts for TEMPORARILY_NOT_METERED
Bug: 155993662
Test: atest NetworkRequestTest
Change-Id: I6838dff70e6608f166119b99750db3bc59c59e42
Merged-In: I6838dff70e6608f166119b99750db3bc59c59e42
2020-05-20 17:27:55 -07:00
evitayan
677a1c1554 Exit test if device does not support IPsec tunnel
Bug: 155926216
Test: CtsIkeTestCases
Change-Id: I4e426b8f3509e56e7e2e7532e216533ad8bfbc2f
2020-05-20 15:18:32 -07:00
Remi NGUYEN VAN
114a0914bd Merge "Fix CtsNetTestCasesLatestSdk fail on Q platform" 2020-05-19 04:27:39 +00:00
Luke Huang
dfa5480414 Revert "Fix flaky test for DnsResolverTest"
This reverts commit fb735de0e8.

Reason for revert: This CL made whole test failed.

Bug: 153624005
Bug: 150952393
Bug: 151122313
Change-Id: I083529616dbf80421ea6a322bb57d2bb0f2bca62
2020-05-19 01:18:49 +00:00
Ken Chen
5dd02e3103 Fix CtsNetTestCasesLatestSdk fail on Q platform
The CtsNetTestCasesLatestSdk needs to build against platform (for hidden
API access), The JNI library libnativedns_jni used by
CtsNetTestCasesLatestSdk needs to build against stable SDK (for running
on Q). To fulfill the combination, property jni_uses_sdk_apis must be
set.

Bug: 151122313
Bug: 150904735
Bug: 150918852
Test: atest CtsNetTestCasesLatestSdk on R and Q platforms
Change-Id: I5db3cb28829847e74412d270db7d17b81c5e26a2
2020-05-18 19:55:29 +08:00