master
go 51 lines 1.14 KB
Raw
1 package cli
2
3 import (
4 "context"
5 "path"
6 "testing"
7
8 rpcapi "github.com/ipfs/kubo/client/rpc"
9 "github.com/ipfs/kubo/config"
10 "github.com/ipfs/kubo/test/cli/harness"
11 "github.com/multiformats/go-multiaddr"
12 "github.com/stretchr/testify/require"
13 )
14
15 func TestRPCUnixSocket(t *testing.T) {
16 node := harness.NewT(t).NewNode().Init()
17
18 sockDir := node.Dir
19 sockAddr := path.Join("/unix", sockDir, "sock")
20
21 node.UpdateConfig(func(cfg *config.Config) {
22 //cfg.Addresses.API = append(cfg.Addresses.API, sockPath)
23 cfg.Addresses.API = []string{sockAddr}
24 })
25 t.Log("Starting daemon with unix socket:", sockAddr)
26 node.StartDaemon()
27
28 unixMaddr, err := multiaddr.NewMultiaddr(sockAddr)
29 require.NoError(t, err)
30
31 apiClient, err := rpcapi.NewApi(unixMaddr)
32 require.NoError(t, err)
33
34 var ver struct {
35 Version string
36 }
37 err = apiClient.Request("version").Exec(context.Background(), &ver)
38 require.NoError(t, err)
39 require.NotEmpty(t, ver)
40 t.Log("Got version:", ver.Version)
41
42 var res struct {
43 ID string
44 }
45 err = apiClient.Request("id").Exec(context.Background(), &res)
46 require.NoError(t, err)
47 require.NotEmpty(t, res)
48 t.Log("Got ID:", res.ID)
49
50 node.StopDaemon()
51 }