github.com/helmwave/helmwave@v0.36.4-0.20240509190856-b35563eba4c6/pkg/release/config_test.go (about)

     1  package release_test
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/helmwave/helmwave/pkg/release"
     7  	"github.com/helmwave/helmwave/pkg/release/uniqname"
     8  	"github.com/stretchr/testify/suite"
     9  )
    10  
    11  type ConfigTestSuite struct {
    12  	suite.Suite
    13  }
    14  
    15  func TestConfigTestSuite(t *testing.T) {
    16  	t.Parallel()
    17  	suite.Run(t, new(ConfigTestSuite))
    18  }
    19  
    20  func (s *ConfigTestSuite) TestConfigUniq() {
    21  	r := release.NewConfig()
    22  	r.NameF = "redis"
    23  	r.NamespaceF = "test"
    24  
    25  	s.Require().NoError(r.Uniq().Validate())
    26  }
    27  
    28  func (s *ConfigTestSuite) TestConfigInvalidUniq() {
    29  	r := release.NewConfig()
    30  	r.NameF = "redis"
    31  	r.NamespaceF = ""
    32  
    33  	var e *uniqname.ValidationError
    34  	s.Require().ErrorAs(r.Uniq().Validate(), &e)
    35  	s.Equal(r.Uniq().String(), e.Uniq)
    36  }
    37  
    38  func (s *ConfigTestSuite) TestDependsOn() {
    39  	r := release.NewConfig()
    40  
    41  	r.NamespaceF = "testns"
    42  	r.DependsOnF = []*release.DependsOnReference{
    43  		{Name: "bla"},
    44  		{Name: "blabla@testns"},
    45  		{Name: "blablabla@testtestns"},
    46  		{Name: "---=-=-==-@kk;'[["},
    47  	}
    48  
    49  	r.BuildAfterUnmarshal(r)
    50  
    51  	expected := []*release.DependsOnReference{
    52  		{Name: "bla@testns"},
    53  		{Name: "blabla@testns"},
    54  		{Name: "blablabla@testtestns"},
    55  	}
    56  	s.Require().ElementsMatch(r.DependsOn(), expected)
    57  }
    58  
    59  func (s *ConfigTestSuite) TestDryRun() {
    60  	rel := release.NewConfig()
    61  
    62  	s.Require().False(rel.IsDryRun())
    63  	rel.DryRun(true)
    64  	s.Require().True(rel.IsDryRun())
    65  }