Skip to content

Commit b2bed9c

Browse files
chore: add tests for addon handling
1 parent 86515af commit b2bed9c

File tree

9 files changed

+895
-353
lines changed

9 files changed

+895
-353
lines changed

internal/menu/addon.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ type addonClusterMenu struct {
1717
config *project.ProjectConfig
1818
}
1919

20-
func (a *addonClusterMenu) menuManageAddons(ah project.AddonHandler) error {
20+
func (a *addonClusterMenu) menuManageAddons(ah project.AddonHandler, skipAddonValidation bool) error {
2121
for {
2222
prompt := promptui.Select{
2323
Label: "Manage Addons",
@@ -30,7 +30,7 @@ func (a *addonClusterMenu) menuManageAddons(ah project.AddonHandler) error {
3030
return err
3131
}
3232
if result == "Done" {
33-
err := ah.GetAddons().AllRequiredPropertiesSet(a.config)
33+
err := ah.GetAddons().AllRequiredPropertiesSet(a.config, skipAddonValidation)
3434
if err != nil {
3535
fmt.Println("Not all required properties are set", err)
3636
continue

internal/menu/cluster.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ func (c *clusterMenu) menuSettings(env, stage string, cluster *project.Cluster)
6767
config: c.config,
6868
}
6969

70-
err := addon.menuManageAddons(cluster)
70+
err := addon.menuManageAddons(cluster, true)
7171
if err != nil {
7272
return err
7373
}

internal/menu/environment.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ func (e *environmentMenu) menuSettings(environment *project.Environment) error {
7878
reader: e.reader,
7979
config: e.config,
8080
}
81-
err := addon.menuManageAddons(environment)
81+
err := addon.menuManageAddons(environment, true)
8282
if err != nil {
8383
return err
8484
}

internal/menu/stage.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ func (s *stageMenu) menuSettings(stage *project.Stage) error {
7979
reader: s.reader,
8080
config: s.config,
8181
}
82-
err := addon.menuManageAddons(stage)
82+
err := addon.menuManageAddons(stage, true)
8383
if err != nil {
8484
return err
8585
}

internal/project/addon.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@ type AddonHandler interface {
1919

2020
type ClusterAddons map[string]*ClusterAddon
2121

22-
func (ca ClusterAddons) AllRequiredPropertiesSet(config *ProjectConfig) error {
22+
func (ca ClusterAddons) AllRequiredPropertiesSet(config *ProjectConfig, skipOnFailure bool) error {
2323
for addonName, addon := range ca {
2424
if !addon.Enabled {
2525
fmt.Printf("addon %s is disabled\n", addonName)
2626
continue
2727
}
2828
err := addon.AllRequiredPropertiesSet(config, addonName)
29-
if err != nil {
29+
if err != nil && !skipOnFailure {
3030
return fmt.Errorf("failed to validate addon %s: %w", addonName, err)
3131
}
3232
}

0 commit comments

Comments
 (0)