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=podinfo \
|
||||||
--chart-version="5.0.x" \
|
--chart-version="5.0.x" \
|
||||||
--service-account=dev-team
|
--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
|
- name: flux2-kustomize-helm-example
|
||||||
run: |
|
run: |
|
||||||
/tmp/flux create source git flux-system \
|
/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