Find us on GitHub

TestGatewayCache

Metadata

Conformance Version:main
Implementation Version:main (123fd08cb32e762c208745ed3e032ea6830d09e7)
Results Generated At:2023-09-15T09:58:46Z
Job URL:https://github.com/singulargarden/bifrost-gateway/actions/runs/6196631481

Results

Implementationbifrost-gateway
Conformance Versionmain
Total251
DirIndex etag is based on xxhash%28.%2Fassets%2Fdir-index-html%29%2C so we need to fetch it dynamically2
GET for %2Fipfs%2F dir listing with matching strong Etag in If-None-Match returns 304 Not Modified1
GET for %2Fipfs%2F dir listing with matching weak Etag in If-None-Match returns 304 Not Modified2
GET for %2Fipfs%2F dir listing with matching weak Etag in If-None-Match returns 304 Not Modified#011
GET for %2Fipfs%2F dir with index.html file with matching Etag in If-None-Match returns 304 Not Modified1
GET for %2Fipfs%2F file with matching Etag in If-None-Match returns 304 Not Modified1
GET for %2Fipfs%2F file with matching third Etag in If-None-Match returns 304 Not Modified1
GET for %2Fipfs%2F file with matching weak Etag in If-None-Match returns 304 Not Modified1
GET for %2Fipfs%2F file with wildcard Etag in If-None-Match returns 304 Not Modified1
GET for %2Fipfs%2F unixfs dir as DAG-JSON succeeds2
GET for %2Fipfs%2F unixfs dir as JSON succeeds2
GET for %2Fipfs%2F unixfs dir listing succeeds5
GET for %2Fipfs%2F unixfs dir with index.html succeeds5
GET for %2Fipfs%2F unixfs file succeeds5
GET for %2Fipfs%2F with only-if-cached fails when not in local datastore1
GET for %2Fipfs%2F with only-if-cached succeeds when in local datastore1
HEAD for %2Fipfs%2F with only-if-cached fails when not in local datastore1
HEAD for %2Fipfs%2F with only-if-cached succeeds when in local datastore1

Logs - Job URL

TestGatewayCache

=== RUN   TestGatewayCache
--- FAIL: TestGatewayCache (0.18s)

TestGatewayCache/DirIndex_etag_is_based_on_xxhash%28.%2Fassets%2Fdir-index-html%29%2C_so_we_need_to_fetch_it_dynamically

=== RUN   TestGatewayCache/DirIndex_etag_is_based_on_xxhash%28.%2Fassets%2Fdir-index-html%29%2C_so_we_need_to_fetch_it_dynamically
--- PASS: TestGatewayCache/DirIndex_etag_is_based_on_xxhash%28.%2Fassets%2Fdir-index-html%29%2C_so_we_need_to_fetch_it_dynamically (0.01s)

TestGatewayCache/DirIndex_etag_is_based_on_xxhash%28.%2Fassets%2Fdir-index-html%29%2C_so_we_need_to_fetch_it_dynamically/Header_Etag

=== RUN   TestGatewayCache/DirIndex_etag_is_based_on_xxhash%28.%2Fassets%2Fdir-index-html%29%2C_so_we_need_to_fetch_it_dynamically/Header_Etag
--- PASS: TestGatewayCache/DirIndex_etag_is_based_on_xxhash%28.%2Fassets%2Fdir-index-html%29%2C_so_we_need_to_fetch_it_dynamically/Header_Etag (0.00s)

TestGatewayCache/DirIndex_etag_is_based_on_xxhash%28.%2Fassets%2Fdir-index-html%29%2C_so_we_need_to_fetch_it_dynamically/Status_code

=== RUN   TestGatewayCache/DirIndex_etag_is_based_on_xxhash%28.%2Fassets%2Fdir-index-html%29%2C_so_we_need_to_fetch_it_dynamically/Status_code
--- PASS: TestGatewayCache/DirIndex_etag_is_based_on_xxhash%28.%2Fassets%2Fdir-index-html%29%2C_so_we_need_to_fetch_it_dynamically/Status_code (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_dir_listing_with_matching_strong_Etag_in_If-None-Match_returns_304_Not_Modified

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_dir_listing_with_matching_strong_Etag_in_If-None-Match_returns_304_Not_Modified
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_dir_listing_with_matching_strong_Etag_in_If-None-Match_returns_304_Not_Modified (0.01s)

TestGatewayCache/GET_for_%2Fipfs%2F_dir_listing_with_matching_strong_Etag_in_If-None-Match_returns_304_Not_Modified/Status_code

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_dir_listing_with_matching_strong_Etag_in_If-None-Match_returns_304_Not_Modified/Status_code
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_dir_listing_with_matching_strong_Etag_in_If-None-Match_returns_304_Not_Modified/Status_code (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_dir_listing_with_matching_weak_Etag_in_If-None-Match_returns_304_Not_Modified

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_dir_listing_with_matching_weak_Etag_in_If-None-Match_returns_304_Not_Modified
    metadata.go:50: --- META: {"specs":["https://specs.ipfs.tech/http-gateways/path-gateway/#if-none-match-request-header"]}
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_dir_listing_with_matching_weak_Etag_in_If-None-Match_returns_304_Not_Modified (0.01s)

TestGatewayCache/GET_for_%2Fipfs%2F_dir_listing_with_matching_weak_Etag_in_If-None-Match_returns_304_Not_Modified/Status_code

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_dir_listing_with_matching_weak_Etag_in_If-None-Match_returns_304_Not_Modified/Status_code
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_dir_listing_with_matching_weak_Etag_in_If-None-Match_returns_304_Not_Modified/Status_code (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_dir_listing_with_matching_weak_Etag_in_If-None-Match_returns_304_Not_Modified#01

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_dir_listing_with_matching_weak_Etag_in_If-None-Match_returns_304_Not_Modified#01
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_dir_listing_with_matching_weak_Etag_in_If-None-Match_returns_304_Not_Modified#01 (0.01s)

TestGatewayCache/GET_for_%2Fipfs%2F_dir_listing_with_matching_weak_Etag_in_If-None-Match_returns_304_Not_Modified#01/Status_code

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_dir_listing_with_matching_weak_Etag_in_If-None-Match_returns_304_Not_Modified#01/Status_code
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_dir_listing_with_matching_weak_Etag_in_If-None-Match_returns_304_Not_Modified#01/Status_code (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_dir_with_index.html_file_with_matching_Etag_in_If-None-Match_returns_304_Not_Modified

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_dir_with_index.html_file_with_matching_Etag_in_If-None-Match_returns_304_Not_Modified
    metadata.go:50: --- META: {"specs":["https://specs.ipfs.tech/http-gateways/path-gateway/#if-none-match-request-header"]}
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_dir_with_index.html_file_with_matching_Etag_in_If-None-Match_returns_304_Not_Modified (0.01s)

TestGatewayCache/GET_for_%2Fipfs%2F_dir_with_index.html_file_with_matching_Etag_in_If-None-Match_returns_304_Not_Modified/Status_code

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_dir_with_index.html_file_with_matching_Etag_in_If-None-Match_returns_304_Not_Modified/Status_code
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_dir_with_index.html_file_with_matching_Etag_in_If-None-Match_returns_304_Not_Modified/Status_code (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_file_with_matching_Etag_in_If-None-Match_returns_304_Not_Modified

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_file_with_matching_Etag_in_If-None-Match_returns_304_Not_Modified
    metadata.go:50: --- META: {"specs":["https://specs.ipfs.tech/http-gateways/path-gateway/#if-none-match-request-header"]}
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_file_with_matching_Etag_in_If-None-Match_returns_304_Not_Modified (0.02s)

TestGatewayCache/GET_for_%2Fipfs%2F_file_with_matching_Etag_in_If-None-Match_returns_304_Not_Modified/Status_code

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_file_with_matching_Etag_in_If-None-Match_returns_304_Not_Modified/Status_code
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_file_with_matching_Etag_in_If-None-Match_returns_304_Not_Modified/Status_code (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_file_with_matching_third_Etag_in_If-None-Match_returns_304_Not_Modified

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_file_with_matching_third_Etag_in_If-None-Match_returns_304_Not_Modified
    metadata.go:50: --- META: {"specs":["https://specs.ipfs.tech/http-gateways/path-gateway/#if-none-match-request-header"]}
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_file_with_matching_third_Etag_in_If-None-Match_returns_304_Not_Modified (0.01s)

TestGatewayCache/GET_for_%2Fipfs%2F_file_with_matching_third_Etag_in_If-None-Match_returns_304_Not_Modified/Status_code

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_file_with_matching_third_Etag_in_If-None-Match_returns_304_Not_Modified/Status_code
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_file_with_matching_third_Etag_in_If-None-Match_returns_304_Not_Modified/Status_code (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_file_with_matching_weak_Etag_in_If-None-Match_returns_304_Not_Modified

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_file_with_matching_weak_Etag_in_If-None-Match_returns_304_Not_Modified
    metadata.go:50: --- META: {"specs":["https://specs.ipfs.tech/http-gateways/path-gateway/#if-none-match-request-header"]}
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_file_with_matching_weak_Etag_in_If-None-Match_returns_304_Not_Modified (0.01s)

TestGatewayCache/GET_for_%2Fipfs%2F_file_with_matching_weak_Etag_in_If-None-Match_returns_304_Not_Modified/Status_code

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_file_with_matching_weak_Etag_in_If-None-Match_returns_304_Not_Modified/Status_code
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_file_with_matching_weak_Etag_in_If-None-Match_returns_304_Not_Modified/Status_code (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_file_with_wildcard_Etag_in_If-None-Match_returns_304_Not_Modified

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_file_with_wildcard_Etag_in_If-None-Match_returns_304_Not_Modified
    metadata.go:50: --- META: {"specs":["https://specs.ipfs.tech/http-gateways/path-gateway/#if-none-match-request-header"]}
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_file_with_wildcard_Etag_in_If-None-Match_returns_304_Not_Modified (0.01s)

TestGatewayCache/GET_for_%2Fipfs%2F_file_with_wildcard_Etag_in_If-None-Match_returns_304_Not_Modified/Status_code

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_file_with_wildcard_Etag_in_If-None-Match_returns_304_Not_Modified/Status_code
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_file_with_wildcard_Etag_in_If-None-Match_returns_304_Not_Modified/Status_code (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_as_DAG-JSON_succeeds

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_as_DAG-JSON_succeeds
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_as_DAG-JSON_succeeds (0.01s)

TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_as_DAG-JSON_succeeds/Header_Cache-Control

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_as_DAG-JSON_succeeds/Header_Cache-Control
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_as_DAG-JSON_succeeds/Header_Cache-Control (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_as_DAG-JSON_succeeds/Status_code

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_as_DAG-JSON_succeeds/Status_code
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_as_DAG-JSON_succeeds/Status_code (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_as_JSON_succeeds

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_as_JSON_succeeds
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_as_JSON_succeeds (0.02s)

TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_as_JSON_succeeds/Header_Cache-Control

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_as_JSON_succeeds/Header_Cache-Control
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_as_JSON_succeeds/Header_Cache-Control (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_as_JSON_succeeds/Status_code

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_as_JSON_succeeds/Status_code
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_as_JSON_succeeds/Status_code (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_listing_succeeds

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_listing_succeeds
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_listing_succeeds (0.02s)

TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_listing_succeeds/Header_Cache-Control

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_listing_succeeds/Header_Cache-Control
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_listing_succeeds/Header_Cache-Control (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_listing_succeeds/Header_Etag

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_listing_succeeds/Header_Etag
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_listing_succeeds/Header_Etag (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_listing_succeeds/Header_X-Ipfs-Path

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_listing_succeeds/Header_X-Ipfs-Path
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_listing_succeeds/Header_X-Ipfs-Path (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_listing_succeeds/Header_X-Ipfs-Roots

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_listing_succeeds/Header_X-Ipfs-Roots
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_listing_succeeds/Header_X-Ipfs-Roots (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_listing_succeeds/Status_code

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_listing_succeeds/Status_code
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_listing_succeeds/Status_code (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_with_index.html_succeeds

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_with_index.html_succeeds
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_with_index.html_succeeds (0.02s)

TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_with_index.html_succeeds/Header_Cache-Control

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_with_index.html_succeeds/Header_Cache-Control
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_with_index.html_succeeds/Header_Cache-Control (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_with_index.html_succeeds/Header_Etag

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_with_index.html_succeeds/Header_Etag
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_with_index.html_succeeds/Header_Etag (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_with_index.html_succeeds/Header_X-Ipfs-Path

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_with_index.html_succeeds/Header_X-Ipfs-Path
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_with_index.html_succeeds/Header_X-Ipfs-Path (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_with_index.html_succeeds/Header_X-Ipfs-Roots

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_with_index.html_succeeds/Header_X-Ipfs-Roots
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_with_index.html_succeeds/Header_X-Ipfs-Roots (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_with_index.html_succeeds/Status_code

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_with_index.html_succeeds/Status_code
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_dir_with_index.html_succeeds/Status_code (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_file_succeeds

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_file_succeeds
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_file_succeeds (0.01s)

TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_file_succeeds/Header_Cache-Control

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_file_succeeds/Header_Cache-Control
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_file_succeeds/Header_Cache-Control (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_file_succeeds/Header_Etag

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_file_succeeds/Header_Etag
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_file_succeeds/Header_Etag (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_file_succeeds/Header_X-Ipfs-Path

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_file_succeeds/Header_X-Ipfs-Path
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_file_succeeds/Header_X-Ipfs-Path (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_file_succeeds/Header_X-Ipfs-Roots

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_file_succeeds/Header_X-Ipfs-Roots
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_file_succeeds/Header_X-Ipfs-Roots (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_file_succeeds/Status_code

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_file_succeeds/Status_code
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_unixfs_file_succeeds/Status_code (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_with_only-if-cached_fails_when_not_in_local_datastore

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_with_only-if-cached_fails_when_not_in_local_datastore
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_with_only-if-cached_fails_when_not_in_local_datastore (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_with_only-if-cached_fails_when_not_in_local_datastore/Status_code

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_with_only-if-cached_fails_when_not_in_local_datastore/Status_code
--- PASS: TestGatewayCache/GET_for_%2Fipfs%2F_with_only-if-cached_fails_when_not_in_local_datastore/Status_code (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_with_only-if-cached_succeeds_when_in_local_datastore

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_with_only-if-cached_succeeds_when_in_local_datastore
--- FAIL: TestGatewayCache/GET_for_%2Fipfs%2F_with_only-if-cached_succeeds_when_in_local_datastore (0.00s)

TestGatewayCache/GET_for_%2Fipfs%2F_with_only-if-cached_succeeds_when_in_local_datastore/Status_code

=== RUN   TestGatewayCache/GET_for_%2Fipfs%2F_with_only-if-cached_succeeds_when_in_local_datastore/Status_code
    run.go:53: 
        Name: GET for /ipfs/ with only-if-cached succeeds when in local datastore
        Hint: 
        
        Error: Status code is not 200. It is 412
        
        Expected Request:
        {
          "method": "GET",
          "path": "/ipfs/bafybeib3ffl2teiqdncv3mkz4r23b5ctrwkzrrhctdbne6iboayxuxk5ui/root2/root3/root4/?format=json",
          "headers": {
            "Cache-Control": "only-if-cached"
          }
        }
        
        Actual Request:
        GET /ipfs/bafybeib3ffl2teiqdncv3mkz4r23b5ctrwkzrrhctdbne6iboayxuxk5ui/root2/root3/root4/?format=json HTTP/1.1
        Host: 127.0.0.1:8081
        User-Agent: Go-http-client/1.1
        Cache-Control: only-if-cached
        Accept-Encoding: gzip
        
        
        
        Expected Response:
        {
          "statusCode": 200
        }
        
        Actual Response:
        HTTP/1.1 412 Precondition Failed
        Content-Length: 110
        Content-Type: text/plain; charset=utf-8
        Date: Fri, 15 Sep 2023 10:03:09 GMT
        X-Content-Type-Options: nosniff
        
        
        
--- FAIL: TestGatewayCache/GET_for_%2Fipfs%2F_with_only-if-cached_succeeds_when_in_local_datastore/Status_code (0.00s)

TestGatewayCache/HEAD_for_%2Fipfs%2F_with_only-if-cached_fails_when_not_in_local_datastore

=== RUN   TestGatewayCache/HEAD_for_%2Fipfs%2F_with_only-if-cached_fails_when_not_in_local_datastore
--- PASS: TestGatewayCache/HEAD_for_%2Fipfs%2F_with_only-if-cached_fails_when_not_in_local_datastore (0.00s)

TestGatewayCache/HEAD_for_%2Fipfs%2F_with_only-if-cached_fails_when_not_in_local_datastore/Status_code

=== RUN   TestGatewayCache/HEAD_for_%2Fipfs%2F_with_only-if-cached_fails_when_not_in_local_datastore/Status_code
--- PASS: TestGatewayCache/HEAD_for_%2Fipfs%2F_with_only-if-cached_fails_when_not_in_local_datastore/Status_code (0.00s)

TestGatewayCache/HEAD_for_%2Fipfs%2F_with_only-if-cached_succeeds_when_in_local_datastore

=== RUN   TestGatewayCache/HEAD_for_%2Fipfs%2F_with_only-if-cached_succeeds_when_in_local_datastore
--- FAIL: TestGatewayCache/HEAD_for_%2Fipfs%2F_with_only-if-cached_succeeds_when_in_local_datastore (0.00s)

TestGatewayCache/HEAD_for_%2Fipfs%2F_with_only-if-cached_succeeds_when_in_local_datastore/Status_code

=== RUN   TestGatewayCache/HEAD_for_%2Fipfs%2F_with_only-if-cached_succeeds_when_in_local_datastore/Status_code
    run.go:53: 
        Name: HEAD for /ipfs/ with only-if-cached succeeds when in local datastore
        Hint: 
        
        Error: Status code is not 200. It is 412
        
        Expected Request:
        {
          "method": "HEAD",
          "path": "/ipfs/bafybeib3ffl2teiqdncv3mkz4r23b5ctrwkzrrhctdbne6iboayxuxk5ui/root2/root3/root4/?format=json",
          "headers": {
            "Cache-Control": "only-if-cached"
          }
        }
        
        Actual Request:
        HEAD /ipfs/bafybeib3ffl2teiqdncv3mkz4r23b5ctrwkzrrhctdbne6iboayxuxk5ui/root2/root3/root4/?format=json HTTP/1.1
        Host: 127.0.0.1:8081
        User-Agent: Go-http-client/1.1
        Cache-Control: only-if-cached
        
        
        
        Expected Response:
        {
          "statusCode": 200
        }
        
        Actual Response:
        HTTP/1.1 412 Precondition Failed
        Connection: close
        Date: Fri, 15 Sep 2023 10:03:09 GMT
        
        
        
--- FAIL: TestGatewayCache/HEAD_for_%2Fipfs%2F_with_only-if-cached_succeeds_when_in_local_datastore/Status_code (0.00s)