mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-21 10:27:46 +08:00
Some checks failed
CodeQL / codeql (push) Waiting to run
Docker Check / lint (push) Waiting to run
Docker Check / build (push) Waiting to run
Gateway Conformance / gateway-conformance (push) Waiting to run
Gateway Conformance / gateway-conformance-libp2p-experiment (push) Waiting to run
Go Build / go-build (push) Waiting to run
Go Check / go-check (push) Waiting to run
Go Lint / go-lint (push) Waiting to run
Go Test / go-test (push) Waiting to run
Interop / interop-prep (push) Waiting to run
Interop / helia-interop (push) Blocked by required conditions
Interop / ipfs-webui (push) Blocked by required conditions
Sharness / sharness-test (push) Waiting to run
Spell Check / spellcheck (push) Waiting to run
Migrations / test (macos-latest) (push) Has been cancelled
Migrations / test (ubuntu-latest) (push) Has been cancelled
Migrations / test (windows-latest) (push) Has been cancelled
Signed-off-by: rifeplight <rifeplight@outlook.com>
67 lines
1.4 KiB
Go
67 lines
1.4 KiB
Go
package commands
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
|
|
cmds "github.com/ipfs/go-ipfs-cmds"
|
|
)
|
|
|
|
func TestGetOutputPath(t *testing.T) {
|
|
cases := []struct {
|
|
args []string
|
|
opts cmds.OptMap
|
|
outPath string
|
|
}{
|
|
{
|
|
args: []string{"/ipns/multiformats.io/"},
|
|
opts: map[string]interface{}{
|
|
"output": "takes-precedence",
|
|
},
|
|
outPath: "takes-precedence",
|
|
},
|
|
{
|
|
args: []string{"/ipns/multiformats.io/", "some-other-arg-to-be-ignored"},
|
|
opts: cmds.OptMap{
|
|
"output": "takes-precedence",
|
|
},
|
|
outPath: "takes-precedence",
|
|
},
|
|
{
|
|
args: []string{"/ipns/multiformats.io/"},
|
|
outPath: "multiformats.io",
|
|
opts: cmds.OptMap{},
|
|
},
|
|
{
|
|
args: []string{"/ipns/multiformats.io/logo.svg/"},
|
|
outPath: "logo.svg",
|
|
opts: cmds.OptMap{},
|
|
},
|
|
{
|
|
args: []string{"/ipns/multiformats.io", "some-other-arg-to-be-ignored"},
|
|
outPath: "multiformats.io",
|
|
opts: cmds.OptMap{},
|
|
},
|
|
}
|
|
|
|
_, err := GetCmd.GetOptions([]string{})
|
|
if err != nil {
|
|
t.Fatalf("error getting default command options: %v", err)
|
|
}
|
|
|
|
for i, tc := range cases {
|
|
t.Run(fmt.Sprintf("%s-%d", t.Name(), i), func(t *testing.T) {
|
|
ctx := t.Context()
|
|
|
|
req, err := cmds.NewRequest(ctx, []string{}, tc.opts, tc.args, nil, GetCmd)
|
|
if err != nil {
|
|
t.Fatalf("error creating a command request: %v", err)
|
|
}
|
|
|
|
if outPath := getOutPath(req); outPath != tc.outPath {
|
|
t.Errorf("expected outPath %s to be %s", outPath, tc.outPath)
|
|
}
|
|
})
|
|
}
|
|
}
|