Skip to content

Commit

Permalink
add node store tests
Browse files Browse the repository at this point in the history
  • Loading branch information
djelusic committed Mar 9, 2022
1 parent 401e246 commit e3a8e64
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 0 deletions.
1 change: 1 addition & 0 deletions domain/node.go
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,7 @@ func (s *NodeStore) UpsertNodeToken(token string) error {
e := &NodeStoreEntry{
Name: n.Name,
Token: token,
store: s,
}
for idx, no := range s.Nodes {
if no.Name == n.Name {
Expand Down
61 changes: 61 additions & 0 deletions domain/node_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
package domain_test

import (
"testing"
"time"

"github.com/mantil-io/mantil/domain"
"github.com/mantil-io/mantil/kit/token"
"github.com/stretchr/testify/require"
)

func TestNodeStore(t *testing.T) {
ns := &domain.NodeStore{}
_, privateKey, _ := token.KeyPair()

tk := nodeToken(&domain.Node{
Name: "node1",
}, privateKey)
err := ns.UpsertNodeToken(tk)
require.NoError(t, err)
require.Len(t, ns.Nodes, 1)

n, err := ns.Node("node1")
require.NoError(t, err)
require.NotNil(t, n)
require.Equal(t, "node1", n.Name)

n, err = ns.FindNode("node1")
require.NoError(t, err)
require.NotNil(t, n)
require.Equal(t, "node1", n.Name)

n, err = ns.FindNode("")
require.NoError(t, err)
require.NotNil(t, n)
require.Equal(t, "node1", n.Name)

n, err = ns.FindNode("node2")
require.Error(t, err)
require.Nil(t, n)

tkn := ns.Token("node1")
require.Equal(t, tk, tkn)

n, err = ns.Node("node2")
require.Error(t, err)
require.Nil(t, n)

ns.RemoveNode("node1")
n, err = ns.Node("node1")
require.Error(t, err)
require.Nil(t, n)
}

func nodeToken(n *domain.Node, privateKey string) string {
c := domain.AccessTokenClaims{
Node: n,
}
t, _ := token.JWT(privateKey, &c, time.Hour)
return t
}

0 comments on commit e3a8e64

Please sign in to comment.