github.com/helmwave/helmwave@v0.36.4-0.20240509190856-b35563eba4c6/pkg/release/dependency/node_test.go (about) 1 package dependency_test 2 3 import ( 4 "testing" 5 6 "github.com/helmwave/helmwave/pkg/release/dependency" 7 "github.com/stretchr/testify/suite" 8 ) 9 10 type NodeTestSuite struct { 11 suite.Suite 12 } 13 14 func (s *NodeTestSuite) TestNewNode() { 15 data := "123" 16 node := dependency.NewNode(data) 17 18 s.Require().IsType(data, node.Data) 19 } 20 21 func (s *NodeTestSuite) TestPending() { 22 node := dependency.NewNode("") 23 24 s.Require().False(node.IsDone()) 25 } 26 27 func (s *NodeTestSuite) TestSucceeded() { 28 node := dependency.NewNode("") 29 30 s.Require().False(node.IsDone()) 31 s.Require().False(node.IsFailed()) 32 33 node.SetSucceeded() 34 s.Require().True(node.IsDone()) 35 s.Require().False(node.IsFailed()) 36 } 37 38 func (s *NodeTestSuite) TestFailed() { 39 node := dependency.NewNode("") 40 41 s.Require().False(node.IsDone()) 42 s.Require().False(node.IsFailed()) 43 44 node.SetFailed() 45 s.Require().True(node.IsDone()) 46 s.Require().True(node.IsFailed()) 47 } 48 49 func (s *NodeTestSuite) TestReadyWithDependencies() { 50 node := dependency.NewNode("") 51 nodeDep := dependency.NewNode("") 52 53 s.Require().True(node.IsReady()) 54 55 node.AddDependency(nodeDep) 56 57 s.Require().False(node.IsReady()) 58 59 nodeDep.SetSucceeded() 60 61 s.Require().True(node.IsReady()) 62 63 nodeDep.SetFailed() 64 65 s.Require().False(node.IsReady()) 66 s.Require().True(node.IsFailed()) 67 } 68 69 func TestNodeTestSuite(t *testing.T) { 70 t.Parallel() 71 suite.Run(t, new(NodeTestSuite)) 72 }