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

     1  package plan
     2  
     3  import (
     4  	"errors"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/suite"
     8  )
     9  
    10  type BuildChartsTestSuite struct {
    11  	suite.Suite
    12  }
    13  
    14  func TestBuildChartsTestSuite(t *testing.T) {
    15  	t.Parallel()
    16  	suite.Run(t, new(BuildChartsTestSuite))
    17  }
    18  
    19  func (ts *BuildRepositoriesTestSuite) TestEmptyReleases() {
    20  	p := New(".")
    21  	p.NewBody()
    22  
    23  	err := p.buildCharts()
    24  
    25  	ts.Require().NoError(err)
    26  }
    27  
    28  func (ts *BuildRepositoriesTestSuite) TestMultipleReleases() {
    29  	p := New(".")
    30  
    31  	rel1 := &MockReleaseConfig{}
    32  	rel1.On("DownloadChart").Return(nil)
    33  	rel2 := &MockReleaseConfig{}
    34  	rel2.On("DownloadChart").Return(nil)
    35  
    36  	p.SetReleases(rel1, rel2)
    37  
    38  	err := p.buildCharts()
    39  
    40  	ts.Require().NoError(err)
    41  	rel1.AssertExpectations(ts.T())
    42  	rel2.AssertExpectations(ts.T())
    43  }
    44  
    45  func (ts *BuildRepositoriesTestSuite) TestError() {
    46  	p := New(".")
    47  
    48  	rel1 := &MockReleaseConfig{}
    49  	rel1.On("DownloadChart").Return(nil)
    50  	rel2 := &MockReleaseConfig{}
    51  	errExpected := errors.New(ts.T().Name())
    52  	rel2.On("DownloadChart").Return(errExpected)
    53  
    54  	p.SetReleases(rel1, rel2)
    55  
    56  	err := p.buildCharts()
    57  
    58  	ts.Require().ErrorIs(err, errExpected)
    59  	rel1.AssertExpectations(ts.T())
    60  	rel2.AssertExpectations(ts.T())
    61  }