Skip to content

Commit e3a8e64

Browse files
committed
add node store tests
1 parent 401e246 commit e3a8e64

File tree

2 files changed

+62
-0
lines changed

2 files changed

+62
-0
lines changed

domain/node.go

+1
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,7 @@ func (s *NodeStore) UpsertNodeToken(token string) error {
209209
e := &NodeStoreEntry{
210210
Name: n.Name,
211211
Token: token,
212+
store: s,
212213
}
213214
for idx, no := range s.Nodes {
214215
if no.Name == n.Name {

domain/node_test.go

+61
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
package domain_test
2+
3+
import (
4+
"testing"
5+
"time"
6+
7+
"github.com/mantil-io/mantil/domain"
8+
"github.com/mantil-io/mantil/kit/token"
9+
"github.com/stretchr/testify/require"
10+
)
11+
12+
func TestNodeStore(t *testing.T) {
13+
ns := &domain.NodeStore{}
14+
_, privateKey, _ := token.KeyPair()
15+
16+
tk := nodeToken(&domain.Node{
17+
Name: "node1",
18+
}, privateKey)
19+
err := ns.UpsertNodeToken(tk)
20+
require.NoError(t, err)
21+
require.Len(t, ns.Nodes, 1)
22+
23+
n, err := ns.Node("node1")
24+
require.NoError(t, err)
25+
require.NotNil(t, n)
26+
require.Equal(t, "node1", n.Name)
27+
28+
n, err = ns.FindNode("node1")
29+
require.NoError(t, err)
30+
require.NotNil(t, n)
31+
require.Equal(t, "node1", n.Name)
32+
33+
n, err = ns.FindNode("")
34+
require.NoError(t, err)
35+
require.NotNil(t, n)
36+
require.Equal(t, "node1", n.Name)
37+
38+
n, err = ns.FindNode("node2")
39+
require.Error(t, err)
40+
require.Nil(t, n)
41+
42+
tkn := ns.Token("node1")
43+
require.Equal(t, tk, tkn)
44+
45+
n, err = ns.Node("node2")
46+
require.Error(t, err)
47+
require.Nil(t, n)
48+
49+
ns.RemoveNode("node1")
50+
n, err = ns.Node("node1")
51+
require.Error(t, err)
52+
require.Nil(t, n)
53+
}
54+
55+
func nodeToken(n *domain.Node, privateKey string) string {
56+
c := domain.AccessTokenClaims{
57+
Node: n,
58+
}
59+
t, _ := token.JWT(privateKey, &c, time.Hour)
60+
return t
61+
}

0 commit comments

Comments
 (0)