Commit Graph

44 Commits

Author SHA1 Message Date
stephen ma
9b3bdebaa6 Adds tests for LAUNCHREQUEST 1, 20, 50, 100, 500, 1000 reqeusts.
Also adds tests for canceling 1,20,50,100,500,1000 requests.

[FYI] Benjamin.Dohrmann, Ryan.Hairyes, Chris.Varnsverry
#rb alejandro.aguilar, Chris.Varnsverry, lorry.li

[CL 31313811 by stephen ma in ue5-main branch]
2024-02-08 19:27:07 -05:00
lorry li
b2820a2752 Add more test cases about retry behaviors in WebTests;
Make sure when timed out in retry system, during back off or during retrying, it will return the last response instead of empty response.

[REVIEW] [at]michael.kirzinger [at]michael.atchison [at]rafa.lecina
[FYI] daniel.lamb
#rb Rafa.Lecina
#tests Tried in WebTests

[CL 31310240 by lorry li in ue5-main branch]
2024-02-08 18:13:40 -05:00
lorry li
702eeb4a13 Stop activity timeout timer after canceling request;
Stop total timeout timer after request completed in retry manager;
Move the virtual impls of FHttpRequestAdapter to cpp file.

[REVIEW] [at]michael.kirzinger [at]rafa.lecina [at]michael.atchison
#jira UE-197485
[FYI] [at]jens.petersam
#rb Jens.Petersam, Rafa.Lecina
#tests Repro and fixed in WebTests

[CL 31304925 by lorry li in ue5-main branch]
2024-02-08 16:31:09 -05:00
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