mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-21 10:27:46 +08:00
Merge commit '695bf66674931a138862b6fa2cb0b16dc2f6ddd8' into release-v0.23.0
This commit is contained in:
commit
23ca11e76d
6
.github/workflows/build.yml
vendored
6
.github/workflows/build.yml
vendored
@ -80,10 +80,6 @@ jobs:
|
||||
path: interop
|
||||
- name: Checkout latest tag
|
||||
run: |
|
||||
exit 0 # temporary while theses pull requests are released:
|
||||
# https://github.com/ipfs/helia/pull/200
|
||||
# https://github.com/ipfs/helia-unixfs/pull/68
|
||||
# https://github.com/ipfs/helia-ipns/pull/72
|
||||
export TAG="$(git describe --tags --abbrev=0)"
|
||||
echo "Running tests against: $TAG"
|
||||
git checkout "$TAG"
|
||||
@ -94,8 +90,6 @@ jobs:
|
||||
working-directory: interop
|
||||
- run: npm install
|
||||
working-directory: interop/packages/interop
|
||||
- run: npm install --ignore-scripts --save "ipfs/npm-go-ipfs#4441b8a60f1cfee3035a9e4bb824dfcca08e9b01" # temporary while https://github.com/ipfs/npm-go-ipfs/pull/62 is being bubbled
|
||||
working-directory: interop/packages/interop
|
||||
- run: npm test
|
||||
working-directory: interop/packages/interop
|
||||
env:
|
||||
|
||||
10
.github/workflows/gateway-conformance.yml
vendored
10
.github/workflows/gateway-conformance.yml
vendored
@ -41,7 +41,7 @@ jobs:
|
||||
steps:
|
||||
# 1. Download the gateway-conformance fixtures
|
||||
- name: Download gateway-conformance fixtures
|
||||
uses: ipfs/gateway-conformance/.github/actions/extract-fixtures@v0.3
|
||||
uses: ipfs/gateway-conformance/.github/actions/extract-fixtures@v0.4
|
||||
with:
|
||||
output: fixtures
|
||||
|
||||
@ -96,7 +96,7 @@ jobs:
|
||||
|
||||
# 6. Run the gateway-conformance tests
|
||||
- name: Run gateway-conformance tests
|
||||
uses: ipfs/gateway-conformance/.github/actions/test@v0.3
|
||||
uses: ipfs/gateway-conformance/.github/actions/test@v0.4
|
||||
with:
|
||||
gateway-url: http://127.0.0.1:8080
|
||||
json: output.json
|
||||
@ -129,7 +129,7 @@ jobs:
|
||||
steps:
|
||||
# 1. Download the gateway-conformance fixtures
|
||||
- name: Download gateway-conformance fixtures
|
||||
uses: ipfs/gateway-conformance/.github/actions/extract-fixtures@v0.3
|
||||
uses: ipfs/gateway-conformance/.github/actions/extract-fixtures@v0.4
|
||||
with:
|
||||
output: fixtures
|
||||
|
||||
@ -142,7 +142,7 @@ jobs:
|
||||
with:
|
||||
name: ${{ github.job }}
|
||||
- name: Checkout kubo-gateway
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: kubo-gateway
|
||||
- name: Build kubo-gateway
|
||||
@ -202,7 +202,7 @@ jobs:
|
||||
|
||||
# 9. Run the gateway-conformance tests over libp2p
|
||||
- name: Run gateway-conformance tests over libp2p
|
||||
uses: ipfs/gateway-conformance/.github/actions/test@v0.3
|
||||
uses: ipfs/gateway-conformance/.github/actions/test@v0.4
|
||||
with:
|
||||
gateway-url: http://127.0.0.1:8092
|
||||
json: output.json
|
||||
|
||||
@ -80,11 +80,16 @@ The optional format string is a printf style format string:
|
||||
|
||||
switch verStr {
|
||||
case "":
|
||||
// noop
|
||||
if baseStr != "" {
|
||||
opts.verConv = toCidV1
|
||||
}
|
||||
case "0":
|
||||
if opts.newCodec != 0 && opts.newCodec != cid.DagProtobuf {
|
||||
return fmt.Errorf("cannot convert to CIDv0 with any codec other than dag-pb")
|
||||
}
|
||||
if baseStr != "" && baseStr != "base58btc" {
|
||||
return fmt.Errorf("cannot convert to CIDv0 with any multibase other than the implicit base58btc")
|
||||
}
|
||||
opts.verConv = toCidV0
|
||||
case "1":
|
||||
opts.verConv = toCidV1
|
||||
|
||||
111
core/commands/cid_test.go
Normal file
111
core/commands/cid_test.go
Normal file
@ -0,0 +1,111 @@
|
||||
package commands
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
cmds "github.com/ipfs/go-ipfs-cmds"
|
||||
"github.com/multiformats/go-multibase"
|
||||
)
|
||||
|
||||
func TestCidFmtCmd(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
// Test 'error when -v 0 is present and a custom -b is passed'
|
||||
t.Run("ipfs cid format <cid> -b z -v 0", func(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
type testV0PresentAndCustomBaseCase struct {
|
||||
MultibaseName string
|
||||
ExpectedErrMsg string
|
||||
}
|
||||
|
||||
var testV0PresentAndCustomBaseCases []testV0PresentAndCustomBaseCase
|
||||
|
||||
for _, e := range multibase.EncodingToStr {
|
||||
var testCase testV0PresentAndCustomBaseCase
|
||||
|
||||
if e == "base58btc" {
|
||||
testCase.MultibaseName = e
|
||||
testCase.ExpectedErrMsg = ""
|
||||
testV0PresentAndCustomBaseCases = append(testV0PresentAndCustomBaseCases, testCase)
|
||||
continue
|
||||
}
|
||||
testCase.MultibaseName = e
|
||||
testCase.ExpectedErrMsg = "cannot convert to CIDv0 with any multibase other than the implicit base58btc"
|
||||
testV0PresentAndCustomBaseCases = append(testV0PresentAndCustomBaseCases, testCase)
|
||||
}
|
||||
|
||||
for _, e := range testV0PresentAndCustomBaseCases {
|
||||
|
||||
// Mock request
|
||||
req := &cmds.Request{
|
||||
Options: map[string]interface{}{
|
||||
cidVerisonOptionName: "0",
|
||||
cidMultibaseOptionName: e.MultibaseName,
|
||||
cidFormatOptionName: "%s",
|
||||
},
|
||||
}
|
||||
|
||||
// Response emitter
|
||||
resp := cmds.ResponseEmitter(nil)
|
||||
|
||||
// Call the CidFmtCmd function with the mock request and response
|
||||
err := cidFmtCmd.Run(req, resp, nil)
|
||||
if err == nil && e.MultibaseName == "base58btc" {
|
||||
continue
|
||||
}
|
||||
|
||||
errMsg := err.Error()
|
||||
if errMsg != e.ExpectedErrMsg {
|
||||
t.Errorf("Expected %s, got %s instead", e.ExpectedErrMsg, errMsg)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
// Test 'upgrade CID to v1 when passing a custom -b and no -v is specified'
|
||||
t.Run("ipfs cid format <cid-version-0> -b z", func(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
type testImplicitVersionAndCustomMultibaseCase struct {
|
||||
Ver string
|
||||
CidV1 string
|
||||
CidV0 string
|
||||
MultibaseName string
|
||||
}
|
||||
|
||||
var testCases = []testImplicitVersionAndCustomMultibaseCase{
|
||||
{
|
||||
Ver: "",
|
||||
CidV1: "zdj7WWwMSWGoyxYkkT7mHgYvr6tV8CYd77aYxxqSbg9HsiMcE",
|
||||
CidV0: "QmPr755CxWUwt39C2Yiw4UGKrv16uZhSgeZJmoHUUS9TSJ",
|
||||
MultibaseName: "z",
|
||||
},
|
||||
{
|
||||
Ver: "",
|
||||
CidV1: "CAFYBEIDI7ZABPGG3S63QW3AJG2XAZNE4NJQPN777WLWYRAIDG3TE5QFN3A======",
|
||||
CidV0: "QmVQVyEijmLb2cBQrowNQsaPbnUnJhfDK1sYe3wepm6ySf",
|
||||
MultibaseName: "base32padupper",
|
||||
},
|
||||
}
|
||||
for _, e := range testCases {
|
||||
// Mock request
|
||||
req := &cmds.Request{
|
||||
Options: map[string]interface{}{
|
||||
cidVerisonOptionName: e.Ver,
|
||||
cidMultibaseOptionName: e.MultibaseName,
|
||||
cidFormatOptionName: "%s",
|
||||
},
|
||||
}
|
||||
|
||||
// Response emitter
|
||||
resp := cmds.ResponseEmitter(nil)
|
||||
|
||||
// Call the CidFmtCmd function with the mock request and response
|
||||
err := cidFmtCmd.Run(req, resp, nil)
|
||||
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
@ -11,7 +11,7 @@ import (
|
||||
var CurrentCommit string
|
||||
|
||||
// CurrentVersionNumber is the current application's version literal.
|
||||
const CurrentVersionNumber = "0.23.0-rc1"
|
||||
const CurrentVersionNumber = "0.23.0"
|
||||
|
||||
const ApiVersion = "/kubo/" + CurrentVersionNumber + "/" //nolint
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user