Files
crawlab/core/models/delegate/model_node_test.go
2024-06-14 15:42:50 +08:00

66 lines
1.4 KiB
Go

package delegate_test
import (
"github.com/crawlab-team/crawlab-db/mongo"
"github.com/crawlab-team/crawlab/core/interfaces"
"github.com/crawlab-team/crawlab/core/models/delegate"
models2 "github.com/crawlab-team/crawlab/core/models/models"
"github.com/stretchr/testify/require"
"testing"
)
func TestNode_Add(t *testing.T) {
SetupTest(t)
n := &models2.Node{}
err := delegate.NewModelDelegate(n).Add()
require.Nil(t, err)
require.NotNil(t, n.Id)
// validate artifact
a, err := delegate.NewModelDelegate(n).GetArtifact()
require.Nil(t, err)
require.Equal(t, n.Id, a.GetId())
require.NotNil(t, a.GetSys().GetCreateTs())
require.NotNil(t, a.GetSys().GetUpdateTs())
}
func TestNode_Save(t *testing.T) {
SetupTest(t)
n := &models2.Node{}
err := delegate.NewModelDelegate(n).Add()
name := "test_node"
n.Name = name
err = delegate.NewModelDelegate(n).Save()
require.Nil(t, err)
err = mongo.GetMongoCol(interfaces.ModelColNameNode).FindId(n.Id).One(&n)
require.Nil(t, err)
require.Equal(t, name, n.Name)
}
func TestNode_Delete(t *testing.T) {
SetupTest(t)
n := &models2.Node{
Name: "test_node",
}
err := delegate.NewModelDelegate(n).Add()
require.Nil(t, err)
err = delegate.NewModelDelegate(n).Delete()
require.Nil(t, err)
var a models2.Artifact
col := mongo.GetMongoCol(interfaces.ModelColNameArtifact)
err = col.FindId(n.Id).One(&a)
require.Nil(t, err)
require.NotNil(t, a.Obj)
require.True(t, a.Del)
}