kubo/test/cli/rpc_unixsocket_test.go
2024-08-19 19:55:11 -07:00

52 lines
1.1 KiB
Go

package cli
import (
"context"
"path"
"testing"
rpcapi "github.com/ipfs/kubo/client/rpc"
"github.com/ipfs/kubo/config"
"github.com/ipfs/kubo/test/cli/harness"
"github.com/multiformats/go-multiaddr"
"github.com/stretchr/testify/require"
)
func TestRPCUnixSocket(t *testing.T) {
node := harness.NewT(t).NewNode().Init()
sockDir := node.Dir
sockAddr := path.Join("/unix", sockDir, "sock")
node.UpdateConfig(func(cfg *config.Config) {
//cfg.Addresses.API = append(cfg.Addresses.API, sockPath)
cfg.Addresses.API = []string{sockAddr}
})
t.Log("Starting daemon with unix socket:", sockAddr)
node.StartDaemon()
unixMaddr, err := multiaddr.NewMultiaddr(sockAddr)
require.NoError(t, err)
apiClient, err := rpcapi.NewApi(unixMaddr)
require.NoError(t, err)
var ver struct {
Version string
}
err = apiClient.Request("version").Exec(context.Background(), &ver)
require.NoError(t, err)
require.NotEmpty(t, ver)
t.Log("Got version:", ver.Version)
var res struct {
ID string
}
err = apiClient.Request("id").Exec(context.Background(), &res)
require.NoError(t, err)
require.NotEmpty(t, res)
t.Log("Got ID:", res.ID)
node.StopDaemon()
}