Skip to content

Commit

Permalink
Add tests for remote OpenAPI schema
Browse files Browse the repository at this point in the history
  • Loading branch information
mvgmb committed Apr 20, 2022
1 parent 94af647 commit d49e5aa
Showing 1 changed file with 63 additions and 0 deletions.
63 changes: 63 additions & 0 deletions api/krusty/openapitests/openapicustomschema_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,23 @@ openapi:
})
}

func TestCustomOpenApiFieldBasicUsageWithRemoteSchema(t *testing.T) {
runOpenApiTest(t, func(t *testing.T) {
t.Helper()
th := kusttest_test.MakeHarness(t)
th.WriteK(".", `
resources:
- mycrd.yaml
openapi:
path: https://github.com/kubernetes-sigs/kustomize/raw/master/api/krusty/testdata/customschema.json
`+customSchemaPatch)
writeCustomResource(th, "mycrd.yaml")
writeTestSchema(th, "./")
m := th.Run(".", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, patchedCustomResource)
})
}

func TestCustomOpenApiFieldWithTwoGvks(t *testing.T) {
runOpenApiTest(t, func(t *testing.T) {
t.Helper()
Expand Down Expand Up @@ -303,6 +320,29 @@ resources:
})
}

func TestCustomOpenApiFieldFromBaseWithRemoteSchema(t *testing.T) {
runOpenApiTest(t, func(t *testing.T) {
t.Helper()
th := kusttest_test.MakeHarness(t)
th.WriteK("base", `
resources:
- mycrd.yaml
openapi:
path: https://github.com/kubernetes-sigs/kustomize/raw/master/api/krusty/testdata/customschema.json
`)
th.WriteK("overlay", `
resources:
- ../base
`+customSchemaPatch)
writeCustomResource(th, "base/mycrd.yaml")
writeTestSchema(th, "base/")
m := th.Run("overlay", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, patchedCustomResource)
assert.Equal(t, "using custom schema from file provided",
openapi.GetSchemaVersion())
})
}

func TestCustomOpenApiFieldFromOverlay(t *testing.T) {
runOpenApiTest(t, func(t *testing.T) {
t.Helper()
Expand All @@ -326,6 +366,29 @@ openapi:
})
}

func TestCustomOpenApiFieldFromOverlayWithRemoteSchema(t *testing.T) {
runOpenApiTest(t, func(t *testing.T) {
t.Helper()
th := kusttest_test.MakeHarness(t)
th.WriteK("base", `
resources:
- mycrd.yaml
`)
th.WriteK("overlay", `
resources:
- ../base
openapi:
path: https://github.com/kubernetes-sigs/kustomize/raw/master/api/krusty/testdata/customschema.json
`+customSchemaPatch)
writeCustomResource(th, "base/mycrd.yaml")
writeTestSchema(th, "overlay/")
m := th.Run("overlay", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, patchedCustomResource)
assert.Equal(t, "using custom schema from file provided",
openapi.GetSchemaVersion())
})
}

func TestCustomOpenApiFieldOverlayTakesPrecedence(t *testing.T) {
runOpenApiTest(t, func(t *testing.T) {
t.Helper()
Expand Down

0 comments on commit d49e5aa

Please sign in to comment.