All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Relaxed negative test of TAR response #221
- Support meaningful
Cache-Control
on generated UnixFS directory listing responses on/ipfs
namespace
- Gateway URL
--gateway-url
is no longer defaulting to predefined URL. User has to provide it via CLI orGATEWAY_URL
environment variable or the test suite will refuse to start.- This aims to ensure no confusion about which gateway endpoint is being tested.
- Docs and examples use
--gateway-url http://127.0.0.1:8080
to ensure no confusion withlocalhost:8080
subdomain gateway feature in IPFS implementations like Kubo.
- Subdomain URL and UX related to subdomain tests
- The
--subdomain-url
is no longer set by default. - User has to provide the origin of the subdomain gateway via CLI or
SUBDOMAIN_GATEWAY_URL
to be used during subdomain tests. This aims to ensure no confusion about which domain name is being tested. - Simplified the way
--subdomain-url
works. We no longer run implicit tests againsthttp://localhost
in addition to the URL passed via--subdomain-url
. To test more than one domain, run test multiple times. localhost
subdomain gateway tests are no longer implicit. To run tests againstlocalhost
use--subdomain-url http://localhost:8080
- The
- DNSLink test fixtures changed
- DNSLink fixtures no longer depend on
--subdomain-url
and use unrelated*.example.org
domains instead. gateway-conformance extract-fixtures
createsdnslinks.IPFS_NS_MAP
with content that can be directly set asIPNS_NS_MAP
environment variable supported by various implementations, incl. Kubo and Rainbow.
- DNSLink fixtures no longer depend on
- Docker: image can now be run under non-root user
- HTTP Proxy tests are no longer implicit. An explicit spec named
proxy-gateway
exists now, and can be disabled via--specs -proxy-gateway
.
- Fixed: relaxed dag-cbor error check (#205)
- Fixed: Header().Has works properly for checking multiple values (#207)
- Removed byte range text for DAG-CBOR objects converted to
text/html
. PR
- Fixed tests of CAR requests with
entity-bytes
and negative indexing. PR (BREAKING CHANGE) - Fixed IPNS provisioning with Kubo. PR
- Fixed versioning in Docker containers. PR
- Loosened the
Cache-Control
andLast-Modified
checks for IPNS paths, as they are now allowed. PR
- Added tests for HTTP Range requests, as well as some basic helpers for
AnyOf
andAllOf
. PR
- Specs Dashboard Output. PR
--version
flag shows the current version- Metadata logging used to associate tests with custom data like versions, specs identifiers, etc.
- Output Github's workflow URL with metadata. PR
- Basic Dashboard Output with content generation. PR
- Test Group Metadata on Tests. PR
- Specs Metadata on Tests. PR
- Escape test names to avoid confusion when processing test hierarchies. PR
--verbose
flag displays all the output to the consoleExpect.Headers.ChecksAll
: an expectation to test all the header values (0, 1, or more)
- finalized port of Kubo's sharness tests. PR
extract-fixtures --merged
generates a car version 1 with a single root now- refactored multi-range requests. PR
carFixture.MustGetChildren
- Gateway backend timeout test for entity-bytes from IPIP-402. Issue.
- Renamed methods using
Children
intoDescendants
when relevant - CAR tests no longer check for the roots. See discussion in IPIP-402.
Fmt
a string interpolation that replaces golang's and works better with HTML entities, and HTTP headers and URLs.- Support for calling multiple requests in a single test case and comparing their payloads.
Path(url)
does not add a leading/
to the URL anymore.- Do not follow redirects by default anymore, remove
DoNotFollowRedirect
and addFollowRedirect
. Body
check is running in its own test. #67
- Body check for subdomain redirection
- v0 of the Gateway Conformance test suite