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 }