Skip to content

Commit

Permalink
Add a test case for failed to list ModuleTemplates
Browse files Browse the repository at this point in the history
  • Loading branch information
nesmabadr committed Feb 26, 2025
1 parent c8ec905 commit a329ba8
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,21 @@ func Test_ByChannelStrategy_Lookup_WhenNoModuleTemplateFound(t *testing.T) {
"no templates were found: for module test-module in channel regular")
}

func Test_ByChannelStrateg_Lookup_WhenFailedToListModuleTemplates(t *testing.T) {
moduleInfo := newModuleInfoBuilder().WithName("test-module").WithChannel("regular").Enabled().Build()
kyma := builder.NewKymaBuilder().Build()
var moduleReleaseMeta *v1beta2.ModuleReleaseMeta = nil

byChannelStrategy := moduletemplateinfolookup.NewByChannelStrategy(&failedClientStub{})

moduleTemplateInfo := byChannelStrategy.Lookup(context.Background(), moduleInfo, kyma, moduleReleaseMeta)

assert.NotNil(t, moduleTemplateInfo)
assert.Nil(t, moduleTemplateInfo.ModuleTemplate)
assert.ErrorContains(t, moduleTemplateInfo.Err,
"failed to list module templates on lookup")
}

func Test_ByChannelStrategy_Lookup_WhenMoreThanOneModuleTemplateFound(t *testing.T) {
moduleInfo := newModuleInfoBuilder().WithName("test-module").WithChannel("regular").Enabled().Build()
kyma := builder.NewKymaBuilder().Build()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,12 @@ import (

"github.com/stretchr/testify/assert"

"errors"
"github.com/kyma-project/lifecycle-manager/api/v1beta2"
"github.com/kyma-project/lifecycle-manager/pkg/templatelookup"
"github.com/kyma-project/lifecycle-manager/pkg/templatelookup/moduletemplateinfolookup"
"github.com/kyma-project/lifecycle-manager/pkg/testutils/builder"
"sigs.k8s.io/controller-runtime/pkg/client"
)

func Test_ByVersionStrategy_IsResponsible_ReturnsTrue(t *testing.T) {
Expand Down Expand Up @@ -103,6 +105,21 @@ func Test_ByVersion_Strategy_Lookup_WhenMoreThanOneModuleTemplateFound(t *testin
"no unique template could be identified: more than one module template found for module: test-module, candidates: [test-module-1.0.0 test-module-1.0.0-duplicate]")
}

func Test_ByVersion_Strategy_Lookup_WhenFailedToListModuleTemplates(t *testing.T) {
moduleInfo := newModuleInfoBuilder().WithName("test-module").WithVersion("1.0.0").Enabled().Build()
var kyma *v1beta2.Kyma = nil
var moduleReleaseMeta *v1beta2.ModuleReleaseMeta = nil

byVersionStrategy := moduletemplateinfolookup.NewByVersionStrategy(&failedClientStub{})

moduleTemplateInfo := byVersionStrategy.Lookup(context.Background(), moduleInfo, kyma, moduleReleaseMeta)

assert.NotNil(t, moduleTemplateInfo)
assert.Nil(t, moduleTemplateInfo.ModuleTemplate)
assert.ErrorContains(t, moduleTemplateInfo.Err,
"failed to list module templates on lookup")
}

func Test_ByVersion_Strategy_Lookup_WhenNoModuleTemplateFound(t *testing.T) {
moduleInfo := newModuleInfoBuilder().WithName("test-module").WithVersion("1.0.0").Enabled().Build()
var kyma *v1beta2.Kyma = nil
Expand Down Expand Up @@ -185,3 +202,11 @@ func (b moduleInfoBuilder) Enabled() moduleInfoBuilder {
func (b moduleInfoBuilder) Build() *templatelookup.ModuleInfo {
return b.moduleInfo
}

type failedClientStub struct {
client.Client
}

func (c *failedClientStub) List(ctx context.Context, list client.ObjectList, opts ...client.ListOption) error {
return errors.New("failed to list module templates")
}

0 comments on commit a329ba8

Please sign in to comment.