github.com/helmwave/helmwave@v0.36.4-0.20240509190856-b35563eba4c6/pkg/plan/mock_release_export_test.go (about) 1 package plan 2 3 import ( 4 "context" 5 "path/filepath" 6 7 "github.com/helmwave/helmwave/pkg/monitor" 8 "github.com/helmwave/helmwave/pkg/release" 9 "github.com/helmwave/helmwave/pkg/release/uniqname" 10 "github.com/helmwave/helmwave/pkg/template" 11 "github.com/sirupsen/logrus" 12 "github.com/stretchr/testify/mock" 13 "helm.sh/helm/v3/pkg/action" 14 "helm.sh/helm/v3/pkg/chartutil" 15 helmRelease "helm.sh/helm/v3/pkg/release" 16 ) 17 18 type MockReleaseConfig struct { 19 mock.Mock 20 } 21 22 func (r *MockReleaseConfig) SetChartName(_ string) { 23 r.Called() 24 } 25 26 func (r *MockReleaseConfig) OfflineKubeVersion() *chartutil.KubeVersion { 27 r.Called() 28 29 v := &chartutil.KubeVersion{ 30 Major: "1", 31 Minor: "22", 32 Version: "1.22.0", 33 } 34 35 return v 36 } 37 38 func (r *MockReleaseConfig) Uniq() uniqname.UniqName { 39 args := r.Called() 40 41 if len(args) > 0 { 42 return args.Get(0).(uniqname.UniqName) 43 } 44 45 u, _ := uniqname.Generate(r.Name(), r.Namespace()) 46 47 return u 48 } 49 50 func (r *MockReleaseConfig) Sync(_ context.Context, _ bool) (*helmRelease.Release, error) { 51 args := r.Called() 52 53 return args.Get(0).(*helmRelease.Release), args.Error(1) 54 } 55 56 func (r *MockReleaseConfig) SyncDryRun(ctx context.Context, runHooks bool) (*helmRelease.Release, error) { 57 r.DryRun(true) 58 defer r.DryRun(false) 59 60 return r.Sync(ctx, runHooks) 61 } 62 63 func (r *MockReleaseConfig) DryRun(bool) { 64 r.Called() 65 } 66 67 func (r *MockReleaseConfig) ChartDepsUpd() error { 68 return r.Called().Error(0) 69 } 70 71 func (r *MockReleaseConfig) Equal(_ release.Config) bool { 72 return r.Called().Bool(0) 73 } 74 75 func (r *MockReleaseConfig) BuildValues(ctx context.Context, dir, templater string) error { 76 args := r.Called() 77 if errReturn := args.Error(0); errReturn != nil { 78 return errReturn 79 } 80 81 for i := len(r.Values()) - 1; i >= 0; i-- { 82 v := r.Values()[i] 83 dst := filepath.Join(dir, Values, filepath.Base(v.Src)) 84 err := template.Tpl2yml(ctx, v.Src, dst, nil, templater) 85 if err != nil { 86 return err 87 } 88 } 89 90 return nil 91 } 92 93 func (r *MockReleaseConfig) Uninstall(context.Context) (*helmRelease.UninstallReleaseResponse, error) { 94 args := r.Called() 95 96 return args.Get(0).(*helmRelease.UninstallReleaseResponse), args.Error(1) 97 } 98 99 func (r *MockReleaseConfig) Get(version int) (*helmRelease.Release, error) { 100 args := r.Called(version) 101 102 return args.Get(0).(*helmRelease.Release), args.Error(1) 103 } 104 105 func (r *MockReleaseConfig) List() (*helmRelease.Release, error) { 106 args := r.Called() 107 108 return args.Get(0).(*helmRelease.Release), args.Error(1) 109 } 110 111 func (r *MockReleaseConfig) Rollback(context.Context, int) error { 112 return r.Called().Error(0) 113 } 114 115 func (r *MockReleaseConfig) Status() (*helmRelease.Release, error) { 116 args := r.Called() 117 118 return args.Get(0).(*helmRelease.Release), args.Error(1) 119 } 120 121 func (r *MockReleaseConfig) Name() string { 122 return r.Called().String(0) 123 } 124 125 func (r *MockReleaseConfig) Namespace() string { 126 return r.Called().String(0) 127 } 128 129 func (r *MockReleaseConfig) Chart() *release.Chart { 130 return r.Called().Get(0).(*release.Chart) 131 } 132 133 func (r *MockReleaseConfig) DependsOn() []*release.DependsOnReference { 134 return r.Called().Get(0).([]*release.DependsOnReference) 135 } 136 137 func (r *MockReleaseConfig) SetDependsOn(deps []*release.DependsOnReference) { 138 r.Called(deps) 139 } 140 141 func (r *MockReleaseConfig) Tags() []string { 142 return r.Called().Get(0).([]string) 143 } 144 145 func (r *MockReleaseConfig) Repo() string { 146 return r.Called().String(0) 147 } 148 149 func (r *MockReleaseConfig) Values() []release.ValuesReference { 150 return r.Called().Get(0).([]release.ValuesReference) 151 } 152 153 func (r *MockReleaseConfig) Logger() *logrus.Entry { 154 return r.Called().Get(0).(*logrus.Entry) 155 } 156 157 func (r *MockReleaseConfig) AllowFailure() bool { 158 return r.Called().Bool(0) 159 } 160 161 func (r *MockReleaseConfig) HelmWait() bool { 162 return true 163 } 164 165 func (r *MockReleaseConfig) DownloadChart(string) error { 166 return r.Called().Error(0) 167 } 168 169 func (r *MockReleaseConfig) SetChart(_ string) {} 170 171 func (r *MockReleaseConfig) KubeContext() string { 172 return r.Called().String(0) 173 } 174 175 func (r *MockReleaseConfig) Cfg() *action.Configuration { 176 return r.Called().Get(0).(*action.Configuration) 177 } 178 179 func (r *MockReleaseConfig) HooksDisabled() bool { 180 return r.Called().Bool(0) 181 } 182 183 func (r *MockReleaseConfig) Validate() error { 184 return r.Called().Error(0) 185 } 186 187 func (r *MockReleaseConfig) Monitors() []release.MonitorReference { 188 return r.Called().Get(0).([]release.MonitorReference) 189 } 190 191 func (r *MockReleaseConfig) NotifyMonitorsFailed(context.Context, ...monitor.Config) { 192 r.Called() 193 }