[Tests] E2E File upload/download #3214
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously we were faking the upload/download process by talking to the assumed
LocalBucket
storage.Where as in actual usage we are expecting PUT/GET HTTP requests.
This changes the tests to actually use that code path.
The reasoning for this previous decision was because we weren't actually serving the GQL API over a server, but executing the operations directly. So without a web server setup, we couldn't do these requests either. That has since changed.
The last hard part here was that we use a unix socket for the test web server which assigns a random port when we start listening.
The app needs to know where it is hosting/listening on so it can generate those PUT/GET urls.
But app boot happens before listening so the port can't be known ahead of time.
I switched the
ConfigService.hostUrl
to be aBehaviorSubject
so we can adjust the url later, after listening starts.Here's where it is set in the test suite setup.
It's worth noting that Nest's usage of this, like global prefix, does not listen for changes to this value, and only uses the initial one. I've updated all of our usages to respect the current value.