github.com/helmwave/helmwave@v0.36.4-0.20240509190856-b35563eba4c6/pkg/release/get_test.go (about) 1 //go:build integration 2 3 package release_test 4 5 import ( 6 "context" 7 "strings" 8 "testing" 9 10 "github.com/helmwave/helmwave/pkg/plan" 11 "github.com/helmwave/helmwave/pkg/release" 12 "github.com/helmwave/helmwave/pkg/repo" 13 "github.com/helmwave/helmwave/tests" 14 "github.com/stretchr/testify/suite" 15 "gopkg.in/yaml.v3" 16 ) 17 18 type GetTestSuite struct { 19 suite.Suite 20 21 ctx context.Context 22 } 23 24 func TestGetTestSuite(t *testing.T) { //nolint:paralleltest // uses helm repository.yaml flock 25 // t.Parallel() 26 suite.Run(t, new(GetTestSuite)) 27 } 28 29 func (ts *GetTestSuite) SetupSuite() { 30 ts.ctx = tests.GetContext(ts.T()) 31 32 var rs repo.Configs 33 str := ` 34 - name: bitnami 35 url: https://charts.bitnami.com/bitnami 36 ` 37 err := yaml.Unmarshal([]byte(str), &rs) 38 39 ts.Require().NoError(err) 40 ts.Require().Len(rs, 1) 41 42 ts.Require().NoError(plan.SyncRepositories(ts.ctx, rs)) 43 } 44 45 func (ts *GetTestSuite) TestGetNotInstalled() { 46 rel := release.NewConfig() 47 rel.NamespaceF = strings.ToLower(strings.ReplaceAll(ts.T().Name(), "/", "")) 48 rel.CreateNamespace = true 49 rel.Wait = false 50 rel.ChartF.Name = "bitnami/nginx" 51 52 r, err := rel.Get(0) 53 ts.Require().Error(err) 54 ts.Require().Nil(r) 55 56 _, err = rel.GetValues() 57 ts.Require().Error(err) 58 } 59 60 func (ts *GetTestSuite) TestGet() { 61 rel := release.NewConfig() 62 rel.NamespaceF = strings.ToLower(strings.ReplaceAll(ts.T().Name(), "/", "")) 63 rel.CreateNamespace = true 64 rel.Wait = false 65 rel.ChartF.Name = "bitnami/nginx" 66 67 r1, err := rel.Sync(ts.ctx, false) 68 ts.Require().NoError(err) 69 ts.Require().NotNil(r1) 70 71 r2, err := rel.Get(0) 72 ts.Require().NoError(err) 73 ts.Require().NotNil(r2) 74 75 _, err = rel.GetValues() 76 ts.Require().NoError(err) 77 }