Files
buildkit/client/connhelper/ssh/ssh_test.go
Tonis Tiigi f1f56c2b77 golangci-lint: v2 upgrade
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2025-05-02 12:19:17 -07:00

40 lines
737 B
Go

package ssh
import (
"net/url"
"testing"
"github.com/stretchr/testify/require"
)
func TestSpecFromURL(t *testing.T) {
cases := map[string]*Spec{
"ssh://foo": {
Host: "foo",
},
"ssh://me@foo:10022/s/o/c/k/e/t.sock": {
User: "me", Host: "foo", Port: "10022", Socket: "/s/o/c/k/e/t.sock",
},
"ssh://me:passw0rd@foo": nil,
"ssh://foo/bar": {
Host: "foo", Socket: "/bar",
},
"ssh://foo?bar": nil,
"ssh://foo#bar": nil,
"ssh://": nil,
}
for s, expected := range cases {
u, err := url.Parse(s)
if err != nil {
t.Fatal(err)
}
got, err := SpecFromURL(u)
if expected != nil {
require.NoError(t, err)
require.Equal(t, expected, got, s)
} else {
require.Error(t, err, s)
}
}
}