Skip to content

Commit 11cd495

Browse files
committed
Add name model generator tests
Signed-off-by: Joe Betz <[email protected]>
1 parent 24f99be commit 11cd495

File tree

6 files changed

+68
-30
lines changed

6 files changed

+68
-30
lines changed

test/integration/README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,15 @@ $ go run ../../cmd/openapi-gen/openapi-gen.go \
2525
--go-header-file ../../boilerplate/boilerplate.go.txt \
2626
--report-filename ./testdata/golden.v2.report \
2727
./testdata/custom ./testdata/enumtype ./testdata/listtype ./testdata/maptype ./testdata/structtype ./testdata/dummytype ./testdata/uniontype ./testdata/defaults ./testdata/valuevalidation
28+
29+
$ go run ../../cmd/openapi-gen/openapi-gen.go \
30+
--output-dir pkg/generated/namedmodels \
31+
--output-pkg generated \
32+
--output-file openapi_generated.go \
33+
--output-model-name-file zz_generated_model_name.go \
34+
--go-header-file ../../boilerplate/boilerplate.go.txt \
35+
--report-filename ./testdata/namedmodels/golden.v3.report \
36+
./testdata/namedmodels
2837
```
2938
The generated file `pkg/generated/openapi_generated.go` should have been created.
3039

test/integration/integration_suite_test.go

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,19 @@ import (
2929
)
3030

3131
const (
32-
headerFilePath = "../../boilerplate/boilerplate.go.txt"
33-
testdataDir = "./testdata"
34-
testPkgRoot = "k8s.io/kube-openapi/test/integration/testdata"
35-
outputPkg = testPkgRoot + "/pkg/generated"
36-
generatedCodeFileName = "openapi_generated.go"
37-
goldenCodeFilePath = "pkg/generated/" + generatedCodeFileName
38-
generatedSwaggerFileName = "generated.v2.json"
39-
goldenSwaggerFileName = "golden.v2.json"
40-
generatedReportFileName = "generated.v2.report"
41-
goldenReportFileName = "golden.v2.report"
42-
generatedOpenAPIv3FileName = "generated.v3.json"
43-
goldenOpenAPIv3Filename = "golden.v3.json"
32+
headerFilePath = "../../boilerplate/boilerplate.go.txt"
33+
testdataDir = "./testdata"
34+
testPkgRoot = "k8s.io/kube-openapi/test/integration/testdata"
35+
outputPkg = testPkgRoot + "/pkg/generated"
36+
generatedCodeFileName = "openapi_generated.go"
37+
generatedSchemaNameCodeFileName = "zz_generated_model_name.go"
38+
goldenCodeFilePath = "pkg/generated/" + generatedCodeFileName
39+
generatedSwaggerFileName = "generated.v2.json"
40+
goldenSwaggerFileName = "golden.v2.json"
41+
generatedReportFileName = "generated.v2.report"
42+
goldenReportFileName = "golden.v2.report"
43+
generatedOpenAPIv3FileName = "generated.v3.json"
44+
goldenOpenAPIv3Filename = "golden.v3.json"
4445

4546
timeoutSeconds = 60.0
4647
)
@@ -104,15 +105,15 @@ var _ = BeforeSuite(func() {
104105
Expect(err).ShouldNot(HaveOccurred())
105106
Eventually(session, timeoutSeconds).Should(gexec.Exit(0))
106107

107-
// Run the OpenAPI code generator with --use-openapi-model-names
108+
// Run the OpenAPI code generator with --output-model-name-file
108109
Expect(terr).ShouldNot(HaveOccurred())
109110

110111
By("'namedmodels' running openapi-gen")
111112
args = append([]string{
112113
"--output-dir", tempDir + "/namedmodels",
113114
"--output-pkg", outputPkg + "/namedmodels",
114115
"--output-file", generatedCodeFileName,
115-
"--use-openapi-model-names",
116+
"--output-model-name-file", generatedSchemaNameCodeFileName,
116117
"--go-header-file", headerFilePath,
117118
}, path.Join(testPkgRoot, "namedmodels"))
118119
command = exec.Command(openAPIGenPath, args...)
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
// +k8s:openapi-gen=true
2+
// +k8s:openapi-model-package=io.k8s.kube-openapi.test.integration.testdata.namedmodels
3+
package namedmodels
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
API rule violation: names_match,k8s.io/kube-openapi/test/integration/testdata/namedmodels,AtomicStruct,Field
2+
API rule violation: names_match,k8s.io/kube-openapi/test/integration/testdata/namedmodels,Struct,Field
3+
API rule violation: names_match,k8s.io/kube-openapi/test/integration/testdata/namedmodels,Struct,OtherField
Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,12 @@
1-
package structtype
1+
package namedmodels
22

3-
// +k8s:openapi-gen=true
43
type Struct struct {
54
Field ContainedStruct
65
OtherField int
76
}
87

9-
func (Struct) OpenAPIModelName() string {
10-
return "com.example.Struct"
11-
}
12-
13-
// +k8s:openapi-gen=true
148
type ContainedStruct struct{}
159

16-
func (ContainedStruct) OpenAPIModelName() string {
17-
return "com.example.ContainedStruct"
18-
}
19-
20-
// +k8s:openapi-gen=true
2110
type AtomicStruct struct {
2211
Field int
2312
}
24-
25-
func (AtomicStruct) OpenAPIModelName() string {
26-
return "com.example.AtomicStruct"
27-
}

test/integration/testdata/namedmodels/zz_generated_model_name.go

Lines changed: 37 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)