Skip to content

Commit b52ac9a

Browse files
committed
change the tests to use gomega to adhere to project standard
1 parent 270d561 commit b52ac9a

File tree

1 file changed

+37
-41
lines changed

1 file changed

+37
-41
lines changed

pkg/plugins/golang/v4/scaffolds/api_test.go

Lines changed: 37 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,13 @@ package scaffolds
1818

1919
import (
2020
"os"
21+
"path/filepath"
2122
"testing"
2223

23-
"github.com/spf13/afero"
24-
"github.com/stretchr/testify/assert"
25-
"github.com/stretchr/testify/require"
24+
. "github.com/onsi/gomega"
2625

2726
"sigs.k8s.io/kubebuilder/v4/pkg/config"
2827
v3 "sigs.k8s.io/kubebuilder/v4/pkg/config/v3"
29-
"sigs.k8s.io/kubebuilder/v4/pkg/machinery"
3028
"sigs.k8s.io/kubebuilder/v4/pkg/model/resource"
3129
)
3230

@@ -108,27 +106,24 @@ func TestAPIScaffolder_discoverFeatureGates(t *testing.T) {
108106

109107
for _, tt := range tests {
110108
t.Run(tt.name, func(t *testing.T) {
111-
// Create a mock filesystem
112-
fs := afero.NewMemMapFs()
113-
114-
scaffolder := &apiScaffolder{
115-
config: tt.config,
116-
resource: tt.resource,
117-
fs: machinery.Filesystem{FS: fs},
109+
scaffolder := NewAPIScaffolder(tt.config, tt.resource, false)
110+
apiScaffolder, ok := scaffolder.(*apiScaffolder)
111+
if !ok {
112+
t.Fatal("Expected apiScaffolder type")
118113
}
119114

120-
gates := scaffolder.discoverFeatureGates()
115+
gates := apiScaffolder.discoverFeatureGates()
121116

122117
// In a real test environment, we'd create test files with feature gates
123118
// For now, we just verify the function doesn't panic and returns a slice
124-
assert.NotNil(t, gates, "Expected gates slice to be returned")
125-
assert.IsType(t, []string{}, gates, "Expected gates to be a string slice")
119+
Expect(gates).NotTo(BeNil())
120+
Expect(gates).To(BeAssignableToTypeOf([]string{}))
126121
})
127122
}
128123
}
129124

130125
func TestAPIScaffolder_NewAPIScaffolder(t *testing.T) {
131-
cfg := &mockConfig{}
126+
cfg := v3.New()
132127
res := resource.Resource{
133128
GVK: resource.GVK{
134129
Group: "example.com",
@@ -138,45 +133,46 @@ func TestAPIScaffolder_NewAPIScaffolder(t *testing.T) {
138133
}
139134

140135
scaffolder := NewAPIScaffolder(cfg, res, false)
141-
require.NotNil(t, scaffolder, "Expected scaffolder to be created")
136+
Expect(scaffolder).NotTo(BeNil())
142137

143138
apiScaffolder, ok := scaffolder.(*apiScaffolder)
144-
require.True(t, ok, "Expected apiScaffolder type")
139+
Expect(ok).To(BeTrue())
145140

146-
assert.Equal(t, cfg, apiScaffolder.config)
147-
assert.Equal(t, res, apiScaffolder.resource)
148-
assert.False(t, apiScaffolder.force)
141+
Expect(apiScaffolder.config).To(Equal(cfg))
142+
Expect(apiScaffolder.resource).To(Equal(res))
143+
Expect(apiScaffolder.force).To(BeFalse())
149144
}
150145

151146
func TestAPIScaffolder_discoverFeatureGates_Testdata(t *testing.T) {
152-
// Test with actual testdata to ensure commented markers are ignored
153-
scaffolder := &apiScaffolder{
154-
config: v3.New(),
155-
resource: resource.Resource{
156-
GVK: resource.GVK{
157-
Group: "crew",
158-
},
159-
},
160-
fs: machinery.Filesystem{
161-
FS: afero.NewOsFs(),
162-
},
163-
}
164-
165-
// Change to the testdata directory
166-
originalDir, err := os.Getwd()
147+
// Change to testdata directory
148+
oldDir, err := os.Getwd()
167149
if err != nil {
168150
t.Fatalf("Failed to get current directory: %v", err)
169151
}
170-
defer os.Chdir(originalDir)
152+
defer os.Chdir(oldDir)
171153

172-
if err := os.Chdir("testdata/project-v4"); err != nil {
173-
t.Skipf("Skipping test - testdata directory not available: %v", err)
154+
// Change to testdata/project-v4 directory
155+
testdataDir := filepath.Join("testdata", "project-v4")
156+
if err := os.Chdir(testdataDir); err != nil {
157+
t.Fatalf("Failed to change to testdata directory: %v", err)
174158
}
175159

176-
// Discover feature gates from the testdata
177-
featureGates := scaffolder.discoverFeatureGates()
160+
cfg := v3.New()
161+
res := resource.Resource{
162+
GVK: resource.GVK{
163+
Group: "crew.example.com",
164+
Version: "v1",
165+
Kind: "Captain",
166+
},
167+
}
168+
169+
scaffolder := NewAPIScaffolder(cfg, res, false)
170+
apiScaffolder, ok := scaffolder.(*apiScaffolder)
171+
if !ok {
172+
t.Fatal("Expected apiScaffolder type")
173+
}
178174

179-
// Should not find any feature gates since they're all commented out
175+
featureGates := apiScaffolder.discoverFeatureGates()
180176
if len(featureGates) > 0 {
181177
t.Errorf("Expected no feature gates from testdata, but found %d: %v", len(featureGates), featureGates)
182178
}

0 commit comments

Comments
 (0)