Skip to content

Commit

Permalink
tests: added tests for deck file and gateway validate
Browse files Browse the repository at this point in the history
  • Loading branch information
Prashansa-K committed Oct 10, 2024
1 parent cf17473 commit 730ae1c
Show file tree
Hide file tree
Showing 3 changed files with 126 additions and 0 deletions.
16 changes: 16 additions & 0 deletions tests/integration/testdata/validate/kong.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
_format_version: "1.1"
services:
- connect_timeout: 60000
id: 58076db2-28b6-423b-ba39-a797193017f7
host: mockbin.org
name: svc1
port: 80
protocol: http
read_timeout: 60000
retries: 5
routes:
- name: r1
id: 87b6a97e-f3f7-4c47-857a-7464cb9e202b
https_redirect_status_code: 301
paths:
- /r1
16 changes: 16 additions & 0 deletions tests/integration/testdata/validate/kong3x.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
_format_version: "3.0"
services:
- connect_timeout: 60000
id: 58076db2-28b6-423b-ba39-a797193017f7
host: mockbin.org
name: svc1
port: 80
protocol: http
read_timeout: 60000
retries: 5
routes:
- name: r1
id: 87b6a97e-f3f7-4c47-857a-7464cb9e202b
https_redirect_status_code: 301
paths:
- /r1
94 changes: 94 additions & 0 deletions tests/integration/validate_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -88,3 +88,97 @@ func Test_Validate_Konnect(t *testing.T) {
})
}
}
func Test_Validate_File(t *testing.T) {
setup(t)

tests := []struct {
name string
stateFile string
additionalArgs []string
errorExpected bool
}{
{
name: "file validate format version 1.1",
stateFile: "testdata/validate/kong.yaml",
additionalArgs: []string{},
},
{
name: "file validate format version 3.0",
stateFile: "testdata/validate/kong3x.yaml",
additionalArgs: []string{},
},
{
name: "file validate with --konnect-compatibility",
stateFile: "testdata/validate/konnect.yaml",
additionalArgs: []string{"--konnect-compatibility"},
},
{
name: "file validate with --workspace",
stateFile: "testdata/validate/kong3x.yaml",
additionalArgs: []string{"--workspace=default"},
},
{
name: "file validate with --rbac-resources-only",
stateFile: "testdata/validate/rbac-resources.yaml",
additionalArgs: []string{"--rbac-resources-only"},
},
}

for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
validateOpts := []string{
tc.stateFile,
}
validateOpts = append(validateOpts, tc.additionalArgs...)

err := validate(false, validateOpts...)
assert.NoError(t, err)
})
}
}

func Test_Validate_Gateway(t *testing.T) {
setup(t)
runWhen(t, "kong", ">=2.8.0")

tests := []struct {
name string
stateFile string
additionalArgs []string
errorExpected bool
}{
{
name: "validate format version 1.1",
stateFile: "testdata/validate/kong.yaml",
additionalArgs: []string{},
},
{
name: "validate format version 3.0",
stateFile: "testdata/validate/kong3x.yaml",
additionalArgs: []string{},
},
{
name: "validate with --konnect-compatibility",
stateFile: "testdata/validate/konnect.yaml",
additionalArgs: []string{"--konnect-compatibility"},
},
{
name: "validate with --workspace",
stateFile: "testdata/validate/kong3x.yaml",
additionalArgs: []string{"--workspace=default"},
},
// TODO: Add a rbac flag test, once the behaviour is fixed
}

for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
validateOpts := []string{
tc.stateFile,
}
validateOpts = append(validateOpts, tc.additionalArgs...)

err := validate(true, validateOpts...)
assert.NoError(t, err)
})
}
}

0 comments on commit 730ae1c

Please sign in to comment.