Add image scanning e2e tests
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
This commit is contained in:
20
.github/workflows/e2e.yaml
vendored
20
.github/workflows/e2e.yaml
vendored
@@ -176,26 +176,6 @@ jobs:
|
||||
--chart=podinfo \
|
||||
--chart-version="5.0.x" \
|
||||
--service-account=dev-team
|
||||
- name: flux create image repository
|
||||
run: |
|
||||
/tmp/flux create image repository podinfo \
|
||||
--image=ghcr.io/stefanprodan/podinfo \
|
||||
--interval=1m
|
||||
- name: flux create image policy
|
||||
run: |
|
||||
/tmp/flux create image policy podinfo \
|
||||
--image-ref=podinfo \
|
||||
--interval=1m \
|
||||
--select-semver=5.0.x
|
||||
- name: flux create image policy podinfo-select-alpha
|
||||
run: |
|
||||
/tmp/flux create image policy podinfo-alpha \
|
||||
--image-ref=podinfo \
|
||||
--interval=1m \
|
||||
--select-alpha=desc
|
||||
- name: flux get image policy
|
||||
run: |
|
||||
/tmp/flux get image policy podinfo | grep '5.0.3'
|
||||
- name: flux2-kustomize-helm-example
|
||||
run: |
|
||||
/tmp/flux create source git flux-system \
|
||||
|
||||
49
cmd/flux/image_test.go
Normal file
49
cmd/flux/image_test.go
Normal file
@@ -0,0 +1,49 @@
|
||||
// +build e2e
|
||||
|
||||
package main
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestImageScanning(t *testing.T) {
|
||||
cases := []struct {
|
||||
args string
|
||||
goldenFile string
|
||||
}{
|
||||
{
|
||||
"create image repository podinfo --image=ghcr.io/stefanprodan/podinfo --interval=10m",
|
||||
"testdata/image/create_image_repository.golden",
|
||||
},
|
||||
{
|
||||
"create image policy podinfo-semver --image-ref=podinfo --interval=10m --select-semver=5.0.x",
|
||||
"testdata/image/create_image_policy.golden",
|
||||
},
|
||||
{
|
||||
"get image policy podinfo-semver",
|
||||
"testdata/image/get_image_policy_semver.golden",
|
||||
},
|
||||
{
|
||||
`create image policy podinfo-regex --image-ref=podinfo --interval=10m --select-semver=">4.0.0" --filter-regex="5\.0\.0"`,
|
||||
"testdata/image/create_image_policy.golden",
|
||||
},
|
||||
{
|
||||
"get image policy podinfo-regex",
|
||||
"testdata/image/get_image_policy_regex.golden",
|
||||
},
|
||||
}
|
||||
|
||||
namespace := "tis"
|
||||
del, err := setupTestNamespace(namespace)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer del()
|
||||
|
||||
for _, tc := range cases {
|
||||
cmd := cmdTestCase{
|
||||
args: tc.args + " -n=" + namespace,
|
||||
goldenFile: tc.goldenFile,
|
||||
testClusterMode: ExistingClusterMode,
|
||||
}
|
||||
cmd.runTestCmd(t)
|
||||
}
|
||||
}
|
||||
5
cmd/flux/testdata/image/create_image_policy.golden
vendored
Normal file
5
cmd/flux/testdata/image/create_image_policy.golden
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
✚ generating ImagePolicy
|
||||
► applying ImagePolicy
|
||||
✔ ImageRepository created
|
||||
◎ waiting for ImagePolicy reconciliation
|
||||
✔ ImagePolicy reconciliation completed
|
||||
5
cmd/flux/testdata/image/create_image_repository.golden
vendored
Normal file
5
cmd/flux/testdata/image/create_image_repository.golden
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
✚ generating ImageRepository
|
||||
► applying ImageRepository
|
||||
✔ ImageRepository created
|
||||
◎ waiting for ImageRepository reconciliation
|
||||
✔ ImageRepository reconciliation completed
|
||||
2
cmd/flux/testdata/image/get_image_policy_regex.golden
vendored
Normal file
2
cmd/flux/testdata/image/get_image_policy_regex.golden
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
NAME READY MESSAGE LATEST IMAGE
|
||||
podinfo-regex True Latest image tag for 'ghcr.io/stefanprodan/podinfo' resolved to: 5.0.0 ghcr.io/stefanprodan/podinfo:5.0.0
|
||||
2
cmd/flux/testdata/image/get_image_policy_semver.golden
vendored
Normal file
2
cmd/flux/testdata/image/get_image_policy_semver.golden
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
NAME READY MESSAGE LATEST IMAGE
|
||||
podinfo-semver True Latest image tag for 'ghcr.io/stefanprodan/podinfo' resolved to: 5.0.3 ghcr.io/stefanprodan/podinfo:5.0.3
|
||||
Reference in New Issue
Block a user