m-lab / ndt-e2e-clientworker

Code for the client worker of the NDT end-to-end test framework
Apache License 2.0
1 stars 4 forks source link

Substitutes all instances of the domain apis.google.com with 127.0.0.1. #91

Closed nkinkade closed 7 years ago

nkinkade commented 7 years ago

Most of the data returned from OneBox client requests is javascript, and some of that javascript fetches yet additional resources, and some of that over HTTPS, which our current replay_generator doesn't handle. This PR adds another explicit domain to the list of client request domains that need to be substituted with 127.0.0.1.

The underlying issue is that testbed clients do not have Internet access, and any request to a host not on the testbed network will fail. The javascript returned by the Google search was attempting to fetch things from https://apis.google.com, which was failing, causing the replay server request from the E2E client to never completely load, causing OneBox tests on Firefox and Safari to fail with timeout errors.

It should be noted that OneBox tests on Chrome always work, and I imagine this has something to do with Chrome using multi-processes and/or other optimizations Chrome makes for loading pages quickly, even while JS resources have yet to fully load.

coveralls commented 7 years ago

Coverage Status

Coverage remained the same at 87.556% when pulling 831958274667f3c97eeb3f78dc445caf7c691632 on nkinkade:rewrite-googleapis into 38832dace382c89c0d6337d7207dc5f82fb32862 on m-lab:master.

fernandalavalle commented 7 years ago

LGTM