54 lines
1.4 KiB
Go
54 lines
1.4 KiB
Go
|
// Copyright (C) 2020 Storj Labs, Inc.
|
||
|
// See LICENSE for copying information.
|
||
|
|
||
|
package console_test
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
"github.com/stretchr/testify/assert"
|
||
|
|
||
|
"storj.io/common/testcontext"
|
||
|
"storj.io/common/testrand"
|
||
|
"storj.io/storj/multinode"
|
||
|
"storj.io/storj/multinode/console"
|
||
|
"storj.io/storj/multinode/multinodedb/multinodedbtest"
|
||
|
)
|
||
|
|
||
|
func TestNodesDB(t *testing.T) {
|
||
|
multinodedbtest.Run(t, func(ctx *testcontext.Context, t *testing.T, db multinode.DB) {
|
||
|
nodes := db.Nodes()
|
||
|
|
||
|
nodeID := testrand.NodeID()
|
||
|
apiSecret := []byte("secret")
|
||
|
publicAddress := "228.13.38.1:8081"
|
||
|
|
||
|
err := nodes.Add(ctx, nodeID, apiSecret, publicAddress)
|
||
|
assert.NoError(t, err)
|
||
|
|
||
|
node, err := nodes.GetByID(ctx, nodeID)
|
||
|
assert.NoError(t, err)
|
||
|
assert.Equal(t, node.ID.Bytes(), nodeID.Bytes())
|
||
|
assert.Equal(t, node.APISecret, apiSecret)
|
||
|
assert.Equal(t, node.PublicAddress, publicAddress)
|
||
|
|
||
|
allNodes, err := nodes.GetAll(ctx)
|
||
|
assert.NoError(t, err)
|
||
|
assert.Equal(t, len(allNodes), 1)
|
||
|
assert.Equal(t, node.ID.Bytes(), allNodes[0].ID.Bytes())
|
||
|
assert.Equal(t, node.APISecret, allNodes[0].APISecret)
|
||
|
assert.Equal(t, node.PublicAddress, allNodes[0].PublicAddress)
|
||
|
|
||
|
err = nodes.Remove(ctx, nodeID)
|
||
|
assert.NoError(t, err)
|
||
|
|
||
|
_, err = nodes.GetAll(ctx)
|
||
|
assert.Error(t, err)
|
||
|
assert.True(t, console.ErrNoNode.Has(err))
|
||
|
|
||
|
node, err = nodes.GetByID(ctx, nodeID)
|
||
|
assert.Error(t, err)
|
||
|
assert.True(t, console.ErrNoNode.Has(err))
|
||
|
})
|
||
|
}
|