Comments (3)
Yeah, I already changed the CAR ones in #56 to only check for its presence, but not the value itself.
from gateway-conformance.
I was thinking about this and it's not just about Etag
in the HTTP Response. It's also about If-None-Match
in the HTTP Request. The current tests assume that ETags are built by Boxo, and many will fail with different implementations.
To make them good tests, we have to first make a request and use the Etag
value for a new request with If-None-Match
. We can make this be two tests, dependent on each other. The first one checks that there is an Etag
, the second one uses that value as If-None-Match
and should get a Not Modified status.
Summarising, I think there's a few things here:
- Change all tests that check for specific
Etag
toNot().IsEmpty()
- Change all tests that send
If-None-Match
to: (1) make request, (2) read Etag, (3) send request withEtag
of previous request asIf-None-Match
- Add tests to ensure that different
?format
for same/ipfs/path
return differentEtag
- Add tests to ensure that different
/ipfs/path
return differentEtag
- Add specific tests to Boxo with our known Etag values.
- Add
X-Ipfs-Roots
check for current tests.
I'm not sure if this is something we can do right now: use the values of one request for the next. cc @laurentsenta @galargh
from gateway-conformance.
I'm not sure if this is something we can do right now: use the values of one request for the next. cc @laurentsenta @galargh
Not yet but it's something we've been thinking about for a while and waiting for when the actual need arises - it seems it just has. We've been playing around with this idea in #30. The PR itself is not longer relevant in its' current form but there are some parts of it that we'll salvage.
from gateway-conformance.
Related Issues (20)
- Add test for Service-Worker registration scope
- Support -skip of multiple tests HOT 3
- Relax tests related to only-if-cached
- Add more IPNS record tests based on IPIP-428 HOT 1
- Remove the red workflows from CI HOT 2
- Support MUST / MAY / SHOULD responses
- Add tests for HTTP Range requests HOT 1
- Implement a nicer status range check
- bug: forks seems to break download-artifacts HOT 2
- bug: race condition during releases
- Implementation Dashboard - Going Public HOT 6
- feat: add an option to output minimal reports
- www: broken links for percent-encoded tests
- docs: should add instructions to run from source HOT 8
- bug: gateway-conformance subdomains are inflexible and setup is not clear HOT 13
- bug: CORS tests not finding existing values HOT 5
- bug: `make fixtures.car` doesn't succeed on "clean" main branch HOT 2
- Trustless Gateway: "GET CAR with entity-bytes requesting a range from the end of a file" test expects in correct behavior HOT 1
- bug: string expected to convert to in dag-json tests
- help running a specific test HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gateway-conformance.