github.com/helmwave/helmwave@v0.36.4-0.20240509190856-b35563eba4c6/pkg/release/validate_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  
     9  	"github.com/stretchr/testify/suite"
    10  )
    11  
    12  type ValidateTestSuite struct {
    13  	suite.Suite
    14  }
    15  
    16  func (s *ValidateTestSuite) TestEmptyName() {
    17  	rel := release.NewConfig()
    18  	rel.NameF = ""
    19  
    20  	s.Require().ErrorIs(rel.Validate(), release.ErrNameEmpty)
    21  }
    22  
    23  func (s *ValidateTestSuite) TestInvalidNamespace() {
    24  	rel := release.NewConfig()
    25  	rel.NamespaceF = "///"
    26  
    27  	var e *release.InvalidNamespaceError
    28  	s.Require().ErrorAs(rel.Validate(), &e)
    29  	s.Equal(rel.NamespaceF, e.Namespace)
    30  }
    31  
    32  func (s *ValidateTestSuite) TestInvalidUniq() {
    33  	rel := release.NewConfig()
    34  	rel.NameF = "bla@bla"
    35  
    36  	var e *uniqname.ValidationError
    37  	s.Require().ErrorAs(rel.Validate(), &e)
    38  	s.Equal(rel.Uniq().String(), e.Uniq)
    39  }
    40  
    41  func TestValidateTestSuite(t *testing.T) {
    42  	t.Parallel()
    43  	suite.Run(t, new(ValidateTestSuite))
    44  }