Commit Graph

41 Commits

Author SHA1 Message Date
lorry li
881a7127a7 Make sure python packages can be updated in WebTestsServer;
Added more checks in test case "Can do blocking call" of WebTests;
Added duplicated call CancelRequest in test case "Cancel http request connect before timeout" of  WebTests;
Some other code clean in WebTests.

[REVIEW] [at]stephen.ma [at]michael.kirzinger [at]rafa.lecina
#rb stephen.ma

[CL 31289833 by lorry li in ue5-main branch]
2024-02-08 09:21:28 -05:00
lorry li
f1f1946eee Add GetEffectiveURL interface to get the effective url after redirection.
#jira UE-204044
[REVIEW] [at]michael.kirzinger [at]michael.atchison [at]rafa.lecina [at]jens.petersam
#rb Rafa.Lecina
#tests Passed WebTests test case, launched the game to main menu.

[CL 31180593 by lorry li in ue5-main branch]
2024-02-05 13:23:49 -05:00
lorry li
a5c3cb5473 Fix the failure in test case "Can do blocking call" in WebTests by removing the complete delegate.
[REVIEW] [at]michael.kirzinger [at]michael.atchison [at]rafa.lecina

[CL 31172233 by lorry li in ue5-main branch]
2024-02-05 09:36:17 -05:00
lorry li
0dc90dec14 Add check in WebTests test case to validate the received data.
[REVIEW] [at]michael.kirzinger [at]justin.marcus [at]michael.atchison [at]rafa.lecina

[CL 31171540 by lorry li in ue5-main branch]
2024-02-05 09:10:34 -05:00
rafa lecina
2e5975241d Add connection and activity timeout support on AppleHttp so WebTests are passing
#jira UE-197485
[REVIEW] [at]Lorry.Li, [at]Michael.Kirzinger, [at]Michael.Atchison
#rb lorry.li

#changelist validated
#virtualized

[CL 30974721 by rafa lecina in ue5-main branch]
2024-01-29 14:02:13 -05:00
lorry li
d1b0478e2f Fix the http dead lock when Flush while AbortRequest;
Add the ProcessRequestUntilComplete sync call to IHttpRequest.

[REVIEW] [at]michael.kirzinger [at]michael.atchison [at]rafa.lecina [at]robert.millar [at]laura.hermanns
#jira UE-197485
#rb Laura.Hermanns, michael.atchison, Rafa.Lecina
#tests Passed tests in WebTests.

[CL 30934863 by lorry li in ue5-main branch]
2024-01-26 14:25:18 -05:00
lorry li
0980390e94 Migrate retry system total timeout for http request, by adding total timeout feature in http request;
Deprecate HttpTimeout config, use HttpActivityTimeout or HttpTotalTimeout instead;
Deprecate HttpSendTimeout config, only use HttpActivityTimeout;
Make HttpActivityTimeout work on all platforms, not only CurlHttp;
Added corresponding http tests;
Now because timeout migrated, enable new flow by default in retry system to have non-game thread support.

#jira UE-197485, UE-202201
[REVIEW] [at]michael.atchison [at]michael.kirzinger [at]rafa.lecina
#rb michael.atchison, Michael.Kirzinger
#tests Tested through WebTests project on all platforms, also tried the game on PC.

[CL 30817277 by lorry li in ue5-main branch]
2024-01-23 16:08:08 -05:00
lorry li
05a45465b3 Add status code received callback for http and implement it for all platforms.
#jira UE-203992
[REVIEW] [at]michael.kirzinger [at]michael.atchison [at]rafa.lecina [at]jans.petersam
#rb michael.atchison, Rafa.Lecina
#tests Tested through new test cases in WebTests project

[CL 30726774 by lorry li in ue5-main branch]
2024-01-19 15:35:30 -05:00
lorry li
9ab1c34e02 Add mock_latency method in web tests server, prepare for timeout tests;
Add chunk latency param for streaming api in web tests server;
Make sure streaming api in web tests server can actually return response data by chunks in django asgi server.

#jira UE-197485
[REVIEW] [at]michael.kirzinger [at]michael.atchison [at]rafa.lecina
#rb michael.atchison, Michael.Kirzinger, Rafa.Lecina
#tests Tried in WebTests project

[CL 30669130 by lorry li in ue5-main branch]
2024-01-17 16:29:34 -05:00
lorry li
340a38a9df Add test code to cover the case that download progress get cleaned when retry.
[REVIEW] [at]michael.kirzinger [at]rex.hill
#rb Rafa.Lecina, Rex.Hill, stephen.ma
#tests Tested through WebTests in local

[CL 30639345 by lorry li in ue5-main branch]
2024-01-16 14:08:02 -05:00
lorry li
882df0d083 Add test case to validate the http header receive callback.
[REVIEW] [at]justin.marcus [at]michael.kirzinger [at]rafa.lecina [at]michael.atchison
#rb Justin.Marcus, michael.atchison, Michael.Kirzinger, Rafa.Lecina
#tests Tested through WebTests preflight

[CL 30639160 by lorry li in ue5-main branch]
2024-01-16 14:00:28 -05:00
RiotJoshuaGlazer
70b5e2b144 PR #10520: Fix issues with non blocking sockets in SocketBSD preventing http server from serving large files on linux
#jira UE-188438
[REVIEW] [at]michael.kirzinger [at]michael.atchison
#rb jon.fairchild, Ryan.Gerleve
#tests Reproduced and fixed it in WebTests project by a test case.

[CL 30298475 by RiotJoshuaGlazer in ue5-main branch]
2023-12-13 13:40:37 -05:00
lorry li
22aaf876f0 Make all http impls respect the connect timeout set in http module.
#jira UE-201788
[REVIEW] [at]michael.kirzinger [at]michael.atchison [at]rafa.lecina
#rb Michael.Kirzinger, Rafa.Lecina
#tests Test covered in WebTests project

[CL 30245270 by lorry li in ue5-main branch]
2023-12-11 14:19:43 -05:00
lorry li
e371c162e5 Revert the changes to limit schemes to http and https. We already have support to config the allowed schemes through FURLRequestFilter.
#jira UE-198427
[REVIEW] [at]michael.kirzinger [at]rafa.lecina
#rb Michael.Kirzinger, Rafa.Lecina

[CL 29841236 by lorry li in ue5-main branch]
2023-11-20 09:55:01 -05:00
lorry li
329d5447bc Make sure it's safe to retry http request in http thread, by keep the shared ptr of retry manager in the request. (Caught by the random failure of a test case in WebTests)
NOTE: This change requires existing holder of FHttpRetrySystem::FManager be converted to shared ptr.

#jira UE-163631
[REVIEW] [at]michael.kirzinger [at]michael.atchison
#rb [at]michael.kirzinger [at]michael.atchison

[CL 29698310 by lorry li in ue5-main branch]
2023-11-13 17:55:00 -05:00
lorry li
f7ee29e5fe Resubmit after: //Fortnite/Main/... changelist 29101420
Make retry system don't rely on Tick from game thread;
Make http tests can run with retry system enabled/disabled.

#jira UE-163631
[REVIEW] [at]michael.atchison [at]michael.kirzinger
#rb [at]michael.atchison, [at]michael.kirzinger
#tests Passed WebTests, also tried on Windows to reach main menu

[CL 29180201 by lorry li in ue5-main branch]
2023-10-27 08:42:11 -04:00
bob tellez
549b6f8bc8 [Backout] - CL29087771
[FYI] lorry.li
Original CL Desc
-----------------------------------------------------------------
Make retry system don't rely on Tick from game thread;
Make http tests can run with retry system enabled/disabled.

#jira UE-163631
[REVIEW] [at]michael.atchison [at]michael.kirzinger
#rb [at]michael.atchison, [at]michael.kirzinger
#tests Passed WebTests, also tried on Windows to reach main menu

[CL 29101454 by bob tellez in ue5-main branch]
2023-10-25 16:43:47 -04:00
lorry li
c6aee9025c Make retry system don't rely on Tick from game thread;
Make http tests can run with retry system enabled/disabled.

#jira UE-163631
[REVIEW] [at]michael.atchison [at]michael.kirzinger
#rb [at]michael.atchison, [at]michael.kirzinger
#tests Passed WebTests, also tried on Windows to reach main menu

[CL 29087807 by lorry li in ue5-main branch]
2023-10-25 10:01:09 -04:00
lorry li
70a86ba061 Remove dependency of http request from http response;
Make http requests use GET by default if verb is not set.

[REVIEW] [at]michael.kirzinger [at]rafa.lecina [at]justin.marcus
#jira UE-196108
#rb [at]michael.kirzinger [at]justin.marcus

[CL 28469520 by lorry li in ue5-main branch]
2023-10-04 15:14:01 -04:00
lorry li
8d63b6815b Enable more platforms for WebTests, fix corresponding warning or errors.
[REVIEW] [at]stephen.ma [at]david.harvey [at]michael.kirzinger [at]chris.constantinescu
#jira UE-194887
#rb [at]stephen.ma [at]david.harvey [at]chris.constantinescu

[CL 27973497 by lorry li in ue5-main branch]
2023-09-18 16:36:57 -04:00
lorry li
e73e52ce3a Enable PS5 for WebTests;
Fix WebTests warnings on PS5.

[REVIEW] [at]stephen.ma [at]michael.kirzinger

[CL 27634961 by lorry li in ue5-main branch]
2023-09-06 10:45:24 -04:00
lorry li
a73b702986 Fix the warning in new test case when validate retry manager thread safety;
Fix the warning when the request didn't get removed from http manager when test.

#jira UE-182678
[REVIEW] [at]stephen.ma [at]michael.kirzinger
#rb [at]stephen.ma

[CL 27554811 by lorry li in ue5-main branch]
2023-09-01 10:24:00 -04:00
lorry li
8dfb049f4c Fix the warnings in WebTests project:
- Set http log level to error if the warning logs are expected for specified tests;
- There is a warning about failing to delete file downloaded, because the file is still in use, close the file reader which verifies the file;
- There is a warning about failing to delete file uploaded, because the file is still in use. Now http upload request closes the file reader when complete.

#jira UE-182678
[REVIEW] [at]michael.kirzinger [at]stephen.ma [at]rafa.lecina
#rb [at]rafa.lecina

[CL 27510921 by lorry li in ue5-main branch]
2023-08-30 21:20:37 -04:00
lorry li
3fc1d2becf Make sure progress callback can be called on http thread;
Make sure HttpManagerRequestAdded and HttpManagerRequestCompleted callback can be called on http thread.

From now on the delegates bind to http manager through SetRequestAddedDelegate and SetRequestCompletedDelegate have to be changed to be thread-safe.

#jira UE-182677
[REVIEW] [at]michael.atchison [at]michael.kirzinger [at]rafa.lecina [at]justin.marcus

[CL 27506980 by lorry li in ue5-main branch]
2023-08-30 18:56:04 -04:00
lorry li
b756c03676 Make http retry system thread safe.
[REVIEW] [at]michael.kirzinger [at]michael.atchison

[CL 27501211 by lorry li in ue5-main branch]
2023-08-30 17:27:56 -04:00