Commit Graph

165 Commits

Author SHA1 Message Date
Stefano Duo
dd6e96462d Add testHttpEngine_EnablePublicKeyPinningBypassForLocalTrustAnchors
Test: m & run tests
Change-Id: I704074e1ac271702779e4f75343ed829c0a64549
2023-03-03 12:46:36 +00:00
Stefano Duo
6977153209 Revert "Revert "Add testHttpEngine_EnableHttpCache""
This reverts commit eff4a85a49.

Reason for revert: Fix silent conflict and reland

Test: m && atest CtsNetHttpTestCases
Change-Id: Iff5c03189aa4fadaa94ad2c1492a9b2e41d749bc
2023-03-03 12:40:38 +00:00
Chidera Olibie
ecb76dc821 cronet: add test for urlresponse info
Test: atest CtsNetHttpTestCases
Bug: 251012627
Change-Id: I6fb9c1aba0e4123b919fdbbe5a863d10a4633473
2023-03-01 18:33:13 +00:00
Chidera Olibie
8722531c08 Cronet: Add bidirectionalStream GET request test
Bug: 251012627
Test: atest CtsNetHttpTestCases
Change-Id: Ie55ea28a82c5929f0c61ba2b1e7acdf990eba68b
2023-03-01 14:34:55 +00:00
Chidera Olibie
5fdc75602e Merge "Revert "Add testHttpEngine_EnableHttpCache"" 2023-03-01 13:09:56 +00:00
Oleg Blinnikov
eff4a85a49 Revert "Add testHttpEngine_EnableHttpCache"
This reverts commit f909669ff3.

Reason for revert: breeaks build aosp-master on test_suites_x86_64

Change-Id: I5ce549e338eb59070af815a7ff370659ae4b55dc
Bug: 271252145
2023-03-01 13:00:45 +00:00
Chidera Olibie
f21c105b88 Merge "Add BidirectionalStreamCallback util class" 2023-03-01 11:26:41 +00:00
Stefano Duo
b4f2ac248f Merge "Add testHttpEngine_EnableHttpCache" 2023-03-01 10:45:14 +00:00
Chidera Olibie
cb8add1a78 Add BidirectionalStreamCallback util class
This is a copy of the TestBidirectionalStreamCallback class
in the chromium codebase with semantic changes

Bug: 251012627
Test: th
Change-Id: I3df8970a4c0c5c1f51fcb669ff0c7d003129aa6d
2023-02-28 15:47:01 +00:00
Chidera Olibie
b298aee089 Cronet clean up
- Switch to android..ext.junit version. Others are deprecated
- Remove unused deps

Bug: 251012627
Test: atest CtsNetHttpTestCases
Change-Id: I79eaaead368edce83404dc2e06aff62b74c8a785
2023-02-28 15:10:27 +00:00
Stefano Duo
02970ff18b Merge "TestUrlRequestCallback: assert internal states using matchers" 2023-02-27 13:28:00 +00:00
Frank Feng
c75668a113 Merge "Update Cronet/tests/cts/AndroidManifest.xml" 2023-02-27 03:37:03 +00:00
Frank Feng
0fbde75ba0 Update Cronet/tests/cts/AndroidManifest.xml
Remove:
<meta-data android:name="listener" android:value="com.android.cts.runner.CtsTestRunListener" />

Bug: 267766325
Test: TH
Change-Id: I8d024d095e6bfcb93f060a9aeb133c9ca7284267
2023-02-24 07:53:55 -08:00
Stefano Duo
f909669ff3 Add testHttpEngine_EnableHttpCache
New test for enable caching API. CtsTestServer doesn't add a
`cache-control: max-age=X` header, this stops Cronet HttpEngine from
caching the response. Use a non-hermetic server to circumvent that.

Test: m & test run
Change-Id: I6852c72590146892a3175ce8c23668e3abda0dbd
2023-02-24 13:57:05 +00:00
Stefano Duo
b7c14eb74a TestUrlRequestCallback: assert internal states using matchers
Currently, TestUrlRequestCallback asserts state transitions through
boolean expressions. When these fail, they simply yell "true != false",
without surfacing the wrong underlying state transition (e.g.,
`next_state == ON_REDIRECT`).

Using assertThat & matchers avoids this problem.

Test: m & test run
Change-Id: Ia26dc0e6f2fe9b53a1f92638ab0b74e39b936d3d
2023-02-24 13:57:05 +00:00
Chidera Olibie
237172d275 Merge "Add CTS for ConnectionMigrationOptions API" 2023-02-23 11:50:30 +00:00
Dan Stahr
5f70ec9c9c Add more test coverage for DnsOptions.
Bug: 251012627
Test: atest CtsNetHttpTestCases
Change-Id: I5bd980e6b289b8ef86f1c0d8b0f5fe473bd3aab8
2023-02-21 10:59:28 +00:00
Chidera Olibie
57d11ad77d Add CTS for ConnectionMigrationOptions API
Bug: 251012627
Test: atest CtsNetHttpTestCases
Change-Id: I656bcad4bd14bf74c8bbe7232b3f5734bfef7151
2023-02-19 23:12:50 +00:00
Chidera Olibie
6436cc10e0 Merge "Add CTS for DnsOptions API" 2023-02-18 22:04:23 +00:00
Chidera Olibie
16484bd0cb Merge "Remove compile_multilib from non-coverage test target" 2023-02-17 15:16:48 +00:00
Chidera Olibie
2b012c2ca0 Add CTS for DnsOptions API
Bug: 251012627
Test: atest CtsNetHttpTestCases
Change-Id: Ic048a842e1f491d47c92b51ac05f55cec60eeda6
2023-02-17 14:21:20 +00:00
Chidera Olibie
379690352c Add CTS for Network Exception
Bug: 251012627
Test: atest CtsNetHttpTestCases
Change-Id: I549de0f89a9b9614276e2af5ff9e0104aff0c117
2023-02-15 13:34:28 +00:00
Chidera Olibie
0a5befb743 Add CTS for CallbackException
Bug: 251012627
Test: atest CtsNetHttpTestCases
Change-Id: I65b0afddfe99dfdf26d11194f94764eb60e967ee
2023-02-15 12:56:44 +00:00
Stefano Duo
ab552d1080 Always cancel requests during tearDown
Assertions can terminate a test prior to that test's blockForDone call.
In this case we will try to shutdown the engine with an outstanding
request, in which case the method will throw, effectively failing the
test.

To avoid that, store a reference by the request created by the test and
always cancel it (before calling engine.shutdown()).

Also, instead of asserting the success of the requests, assume it. This
is required because these tests are not hermetic and the request might
fail due to reasons unrelated to the code being tested.

Bug: 267618889
Test: m && atest CtsNetHttpTestCasess
Change-Id: Ia1e30c99303f05342a2a73562e85d4ab2486c0d7
2023-02-13 17:11:26 +00:00
Chidera Olibie
b3cad554eb Remove compile_multilib from non-coverage test target
This was added to targets being used for coverage collection

Test: atest CtsNetHttpTestCases, NetHttpTests
Change-Id: I5e8dad82d57014cffbf7ab58b54328ea04316f70
2023-02-13 14:10:23 +00:00
Chidera Olibie
c8f7d1fc54 Merge "Create a separate coverage target for Cronet tests" 2023-02-09 11:26:30 +00:00
Chidera Olibie
184ba4059e Merge "Create NetHttpTests target" 2023-02-09 11:23:54 +00:00
Chidera Olibie
e3e2e7fcaf Create a separate coverage target for Cronet tests
This will allow us add more java test targets without need to change
mts-tethering-coverage. Also in tune with the current Connectivity
setup.

Will consider merging to ConnectivityCoverageTests afterwards.

Bug: 263294440
Test: atest NetHttpCoverageTests
Change-Id: I4f65b30ccf548cc7f278488d73fe9e733a9c608d
2023-02-08 21:08:22 +00:00
Chidera Olibie
d46c92f02c Create NetHttpTests target
This will hold Java classes for cronet's mts

Bug: 267353182
Test: atest NetHttpTests
Change-Id: Id2e2bbe2ce6a19c4fcabd25773d90eb0d0901437
2023-02-08 21:06:11 +00:00
Etienne Dechamps
d5bab6b9d8 cronet: add CTS test for net.http.UrlRequest failure
Test: atest CtsNetHttpTestCases
Change-Id: If0f3b5a42724ac0de92a3ce6db2df0021f9f1231
2023-02-08 15:54:00 +00:00
Chidera Olibie
09b8b28712 Merge "Cronet: add test for handling post request" 2023-02-07 16:26:32 +00:00
Treehugger Robot
68f7c3add7 Merge "Cronet QUIC test: skip if request fails" 2023-02-07 15:17:09 +00:00
Chidera Olibie
a3d69d047f Cronet: add test for handling post request
This tests the API to setUploadDataProvider

Test: atest CtsCronetTestCases
Change-Id: Iceab323c58890eff7c847585b1f6de5fcd772e70
2023-02-07 11:19:35 +00:00
Chidera Olibie
90bcc0db1b Merge "cronet: handle post request" 2023-02-06 19:04:24 +00:00
Stefano Duo
59c8cf3b9b Cronet QUIC test: skip if request fails
This specific test checks whether QUIC is used when it's enabled. If the
request fails the test should just be skipped to reduce flakiness (we've
another test in place for that specific case)

Bug: 267618889
Test: m && atest CtsNetHttpTestCasess
Change-Id: Ib18778c14cb4d27f079cb42948e5c3e6f35e2e92
2023-02-03 16:26:52 +00:00
Etienne Dechamps
ed6f25b136 cronet: add CTS test for net.http.UrlRequest.cancel()
Test: atest CtsNetHttpTestCases
Change-Id: I7b93a90a35a1a80809ab5423b9a98669371d1746
2023-02-02 16:54:30 +00:00
Chidera Olibie
9dd83a2b17 cronet: handle post request
Implement a method to echo request body as response body

Test: atest CtsNetHttpTestCases
Bug: 251012627
Change-Id: I06b8cff8a2ed98fabeb7dc6dd1c78e63e63a1489
2023-02-02 10:53:52 +00:00
Stefano Duo
44563b5e9c testHttpEngine_EnableQuic: Send multiple requests
Send multiple requests and fail if none of them was sent over QUIC.

Bug: 266661483
Test: atest CtsNetHttpTestCases
Change-Id: Idae99ccc060e243d8087f5d2ff9181f77f39f761
2023-01-26 12:50:27 +00:00
Chidera Olibie
b91ba3f905 Cronet: add TestUploadDataProvider
To be used for POST request tests.
This is a copy of the class in chromium.
https://source.chromium.org/chromium/chromium/src/+/main:components/cronet/android/test/javatests/src/org/chromium/net/TestUploadDataProvider.java

Test: none
Bug: 251012627
Change-Id: Ib5b7f425b463ddf74d090b5da1ecd605e5297ddf
2023-01-24 15:48:42 +00:00
Patrick Rohr
d6bb61859e cronet: align cronet test naming with API
Since the API was renamed, remove all mentions of cronet from tests.

Test: TH
Change-Id: I4636f971a70f45d8b12c053989bf353bd0471c26
2023-01-24 02:44:38 -08:00
Patrick Rohr
63863bf446 cronet: rename CronetCtsTestServer to HttpCtsTestServer
To be more inline with the newly added android.net.http APIs.

Test: TH
Change-Id: Ibd3d875364a931d7da0ff5c6dc574ce2c5360335
2023-01-24 02:41:58 -08:00
Stefano Duo
4c77a7db34 Create Cronet's CTS for CronetEngine APIs
At the moment CronetCtsTestServer doesn't support QUIC and doesn't
report the negotiated protocol (i.e.,
UrlResponseInfo#getNegotiatedProtocol() will always return "unknown").
To circumenvent that, use "https://source.android.com" as target URL.

Test: atest CtsCronetTestCases
Change-Id: If5bf3d5e8f38675cddabba597db2d64e59cc5b60
2023-01-23 18:47:54 +00:00
Stefano Duo
7351f471c8 Refactor internet connection check into utility function
The internet connectivity check will be required by multiple test
classes. Refactor it into a standalone utility function and port the
code to Kotlin at the same time.

Also, instead of asserting, make use of junit.Assume. This way when ther
is no internet connection the test won't fail but it will just be
reported as skipped

Test: atest CtsCronetTestCases
Change-Id: I170aa19e23a9532d84da72cbcec567b65519bb0b
2023-01-23 18:47:54 +00:00
Patrick Rohr
aa257b1449 Merge changes I54d367fd,Ib789dc59
* changes:
  cronet: update tests to use android.net.http API
  cronet: use defaults to enable or disable tests
2023-01-19 14:32:13 +00:00
Patrick Rohr
04a633ab05 cronet: update tests to use android.net.http API
Test: atest CtsCronetTestCases
Bug: 265882325
Change-Id: I54d367fd028f1624f3eeadf2df2db7eee4dbf366
2023-01-18 22:28:26 -08:00
Patrick Rohr
6839424327 cronet: use defaults to enable or disable tests
This is used to disable CtsCronetTestCases in tm-mainline-prod.

Test: TH
Change-Id: Ib789dc592677b16676ad7b9c38f33901569d9db9
2023-01-18 22:28:18 -08:00
Chidera Olibie
8d6cbffe82 Rename CtsCronetTestCases to CtsNetHttpTestCases
Bug: 251012627
Test: atest CtsNetHttpTestCases
Change-Id: Icaa5a92c873c956ddff5869db48e7c4e6f0bcee0
2023-01-18 16:25:07 +00:00
Patrick Rohr
f0f0ac0a7c cronet: add variable to disable cronet tests on tm-mainline-prod
Cronet tests cannot be built on tm-mainline-prod as the required APIs
are not present.

Test: TH
Change-Id: Ifa549f928a7d021c6d51b83b7195f9811a9360f2
2023-01-18 02:55:35 -08:00
Chidera Olibie
f18cacf0d9 Cronet: add test for urlrequest status
Test: atest CtsCronetTestCases
Bug: 251012627
Change-Id: I6e221665f06b32b50c5fbe594ca1ccd82988f0b4
2023-01-16 15:48:36 +00:00
Chidera Olibie
640420ee32 Cronet: add testStatusListener
Test: none
Bug: 251012627
Change-Id: I3bf15342fe2623192f3ee037e63fdeab4359128b
2023-01-16 14:46:09 +00:00