mirror of
https://github.com/slsa-framework/slsa-verifier.git
synced 2026-08-19 03:26:20 +00:00
test: add v1.4.0 build tests for gha_go gha_generic and gha_generic_container (#439)
* test: add v1.4.0 build tests for gha_go gha_generic and gha_generic_container Signed-off-by: Asra Ali <asraa@google.com> * gitignore oops Signed-off-by: Asra Ali <asraa@google.com> Signed-off-by: Asra Ali <asraa@google.com>
This commit is contained in:
@@ -731,64 +731,64 @@ func Test_runVerifyGHAArtifactImage(t *testing.T) {
|
||||
// When true, this does not iterate over all builder versions.
|
||||
noversion bool
|
||||
}{
|
||||
// {
|
||||
// name: "valid main branch default",
|
||||
// artifact: "container_workflow_dispatch",
|
||||
// source: "github.com/slsa-framework/example-package",
|
||||
// },
|
||||
// {
|
||||
// name: "valid main branch default - invalid builderID",
|
||||
// artifact: "container_workflow_dispatch",
|
||||
// source: "github.com/slsa-framework/example-package",
|
||||
// pBuilderID: pString("https://github.com/slsa-framework/slsa-github-generator/.github/workflows/not-trusted.yml"),
|
||||
// err: serrors.ErrorUntrustedReusableWorkflow,
|
||||
// },
|
||||
// {
|
||||
// name: "valid main branch set",
|
||||
// artifact: "container_workflow_dispatch",
|
||||
// source: "github.com/slsa-framework/example-package",
|
||||
// pbranch: pString("main"),
|
||||
// },
|
||||
{
|
||||
name: "valid main branch default",
|
||||
artifact: "container_workflow_dispatch",
|
||||
source: "github.com/slsa-framework/example-package",
|
||||
},
|
||||
{
|
||||
name: "valid main branch default - invalid builderID",
|
||||
artifact: "container_workflow_dispatch",
|
||||
source: "github.com/slsa-framework/example-package",
|
||||
pBuilderID: pString("https://github.com/slsa-framework/slsa-github-generator/.github/workflows/not-trusted.yml"),
|
||||
err: serrors.ErrorUntrustedReusableWorkflow,
|
||||
},
|
||||
{
|
||||
name: "valid main branch set",
|
||||
artifact: "container_workflow_dispatch",
|
||||
source: "github.com/slsa-framework/example-package",
|
||||
pbranch: pString("main"),
|
||||
},
|
||||
|
||||
// {
|
||||
// name: "wrong branch master",
|
||||
// artifact: "container_workflow_dispatch",
|
||||
// source: "github.com/slsa-framework/example-package",
|
||||
// pbranch: pString("master"),
|
||||
// err: serrors.ErrorMismatchBranch,
|
||||
// },
|
||||
// {
|
||||
// name: "wrong source append A",
|
||||
// artifact: "container_workflow_dispatch",
|
||||
// source: "github.com/slsa-framework/example-packageA",
|
||||
// err: serrors.ErrorMismatchSource,
|
||||
// },
|
||||
// {
|
||||
// name: "wrong source prepend A",
|
||||
// artifact: "container_workflow_dispatch",
|
||||
// source: "Agithub.com/slsa-framework/example-package",
|
||||
// err: serrors.ErrorMismatchSource,
|
||||
// },
|
||||
// {
|
||||
// name: "wrong source middle A",
|
||||
// artifact: "container_workflow_dispatch",
|
||||
// source: "github.com/Aslsa-framework/example-package",
|
||||
// err: serrors.ErrorMismatchSource,
|
||||
// },
|
||||
// {
|
||||
// name: "tag no match empty tag workflow_dispatch",
|
||||
// artifact: "container_workflow_dispatch",
|
||||
// source: "github.com/slsa-framework/example-package",
|
||||
// ptag: pString("v1.2.3"),
|
||||
// err: serrors.ErrorMismatchTag,
|
||||
// },
|
||||
// {
|
||||
// name: "versioned tag no match empty tag workflow_dispatch",
|
||||
// artifact: "container_workflow_dispatch",
|
||||
// source: "github.com/slsa-framework/example-package",
|
||||
// pversiontag: pString("v1"),
|
||||
// err: serrors.ErrorInvalidSemver,
|
||||
// },
|
||||
{
|
||||
name: "wrong branch master",
|
||||
artifact: "container_workflow_dispatch",
|
||||
source: "github.com/slsa-framework/example-package",
|
||||
pbranch: pString("master"),
|
||||
err: serrors.ErrorMismatchBranch,
|
||||
},
|
||||
{
|
||||
name: "wrong source append A",
|
||||
artifact: "container_workflow_dispatch",
|
||||
source: "github.com/slsa-framework/example-packageA",
|
||||
err: serrors.ErrorMismatchSource,
|
||||
},
|
||||
{
|
||||
name: "wrong source prepend A",
|
||||
artifact: "container_workflow_dispatch",
|
||||
source: "Agithub.com/slsa-framework/example-package",
|
||||
err: serrors.ErrorMismatchSource,
|
||||
},
|
||||
{
|
||||
name: "wrong source middle A",
|
||||
artifact: "container_workflow_dispatch",
|
||||
source: "github.com/Aslsa-framework/example-package",
|
||||
err: serrors.ErrorMismatchSource,
|
||||
},
|
||||
{
|
||||
name: "tag no match empty tag workflow_dispatch",
|
||||
artifact: "container_workflow_dispatch",
|
||||
source: "github.com/slsa-framework/example-package",
|
||||
ptag: pString("v1.2.3"),
|
||||
err: serrors.ErrorMismatchTag,
|
||||
},
|
||||
{
|
||||
name: "versioned tag no match empty tag workflow_dispatch",
|
||||
artifact: "container_workflow_dispatch",
|
||||
source: "github.com/slsa-framework/example-package",
|
||||
pversiontag: pString("v1"),
|
||||
err: serrors.ErrorInvalidSemver,
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
tt := tt // Re-initializing variable so it is not changed while executing the closure below
|
||||
@@ -810,7 +810,7 @@ func Test_runVerifyGHAArtifactImage(t *testing.T) {
|
||||
// 3. With only the name of the builder.
|
||||
// 4. With no builder ID.
|
||||
builderIDs := []*string{
|
||||
pString(builder + "@" + sv),
|
||||
// pString(builder + "@" + sv),
|
||||
pString(builder + "@refs/tags/" + sv),
|
||||
pString(builder),
|
||||
nil,
|
||||
|
||||
BIN
Binary file not shown.
Vendored
+1
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
+1
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
BIN
Binary file not shown.
Vendored
+1
File diff suppressed because one or more lines are too long
-21
@@ -1,21 +0,0 @@
|
||||
{
|
||||
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
|
||||
"schemaVersion": 2,
|
||||
"config": {
|
||||
"mediaType": "application/vnd.docker.container.image.v1+json",
|
||||
"digest": "sha256:5a00797e3d24011ca4f8b7942afa9687af250a8318767844471a2fdbaf631ed0",
|
||||
"size": 2217
|
||||
},
|
||||
"layers": [
|
||||
{
|
||||
"mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
|
||||
"digest": "sha256:b9f88661235d25835ef747dab426861d51c4e9923b92623d422d7ac58eb123e9",
|
||||
"size": 804101
|
||||
},
|
||||
{
|
||||
"mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
|
||||
"digest": "sha256:34ec90d105be03c3da0796a0f1077e9ba958f03490866030e7cddb821b89b170",
|
||||
"size": 608695
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
Binary file not shown.
-1
File diff suppressed because one or more lines are too long
-1
File diff suppressed because one or more lines are too long
-1
@@ -1 +0,0 @@
|
||||
{"architecture":"","created":"0001-01-01T00:00:00Z","history":[{"created":"0001-01-01T00:00:00Z"}],"os":"","rootfs":{"type":"layers","diff_ids":["sha256:a2ece3a040c3cc7a511e60ef56bc2bfac79118e207e6297aaeaf9aa8fec5c015"]},"config":{}}
|
||||
BIN
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
{"architecture":"","created":"2023-01-11T16:52:58.823625967Z","history":[{"created":"0001-01-01T00:00:00Z"}],"os":"","rootfs":{"type":"layers","diff_ids":["sha256:784c5bd14237b9a979fd0251f01dcc7956f06da243ca1e9c52470c410e53c654"]},"config":{}}
|
||||
+1
-1
@@ -1 +1 @@
|
||||
{"architecture":"amd64","author":"Bazel","config":{"User":"0","Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt"],"Entrypoint":["/app"],"WorkingDir":"/","Labels":{"org.opencontainers.image.created":"2022-08-05T03:44:18.437Z","org.opencontainers.image.description":"","org.opencontainers.image.licenses":"Apache-2.0","org.opencontainers.image.revision":"450428f4a68587015e502b9173a9fc017a1f7245","org.opencontainers.image.source":"https://github.com/slsa-framework/example-package","org.opencontainers.image.title":"example-package","org.opencontainers.image.url":"https://github.com/slsa-framework/example-package","org.opencontainers.image.version":"main"},"OnBuild":null},"created":"2022-08-05T03:44:39.163563554Z","history":[{"created":"1970-01-01T00:00:00Z","created_by":"bazel build ...","author":"Bazel"},{"created":"2022-08-05T03:44:39.163563554Z","created_by":"COPY /app/app /app # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2022-08-05T03:44:39.163563554Z","created_by":"ENTRYPOINT [\"/app\"]","comment":"buildkit.dockerfile.v0","empty_layer":true}],"moby.buildkit.buildinfo.v1":"eyJmcm9udGVuZCI6ImRvY2tlcmZpbGUudjAiLCJzb3VyY2VzIjpbeyJ0eXBlIjoiZG9ja2VyLWltYWdlIiwicmVmIjoiZG9ja2VyLmlvL2xpYnJhcnkvZ29sYW5nQHNoYTI1Njo5MzQ5ZWQ4ODlhZGI5MDZlZmE1ZWJjMDY0ODVmZTFiNmExMmZiMjY1YTAxYzkyNjZhMTM3YmIxMzUyNTY1NTYwIiwicGluIjoic2hhMjU2OjkzNDllZDg4OWFkYjkwNmVmYTVlYmMwNjQ4NWZlMWI2YTEyZmIyNjVhMDFjOTI2NmExMzdiYjEzNTI1NjU1NjAifSx7InR5cGUiOiJkb2NrZXItaW1hZ2UiLCJyZWYiOiJnY3IuaW8vZGlzdHJvbGVzcy9zdGF0aWNAc2hhMjU2OjIxZDNmODRhNGYzN2MzNjE5OWZkMDdhZDU1NDRkY2FmZWNjMTc3NzZlM2YzNjI4YmFmOWE1N2M4YzAxODFiM2YiLCJwaW4iOiJzaGEyNTY6MjFkM2Y4NGE0ZjM3YzM2MTk5ZmQwN2FkNTU0NGRjYWZlY2MxNzc3NmUzZjM2MjhiYWY5YTU3YzhjMDE4MWIzZiJ9LHsidHlwZSI6ImdpdCIsInJlZiI6Imh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UuZ2l0IzQ1MDQyOGY0YTY4NTg3MDE1ZTUwMmI5MTczYTlmYzAxN2ExZjcyNDUiLCJwaW4iOiI0NTA0MjhmNGE2ODU4NzAxNWU1MDJiOTE3M2E5ZmMwMTdhMWY3MjQ1In1dfQ==","os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:8d7366c22fd8219bfcfb61ed28457854c80e310b0d736b67861b2ea7fcd77843","sha256:b0e43299e29b2852f7ad0a20b4b531f4917c4e21c2954a0cc8971ee52ef1deb1"]}}
|
||||
{"architecture":"amd64","author":"Bazel","config":{"User":"0","Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt"],"Entrypoint":["/app"],"WorkingDir":"/","Labels":{"org.opencontainers.image.created":"2023-01-11T16:50:33.298Z","org.opencontainers.image.description":"","org.opencontainers.image.licenses":"Apache-2.0","org.opencontainers.image.revision":"904e2c3e02725e314cf6cf141c4700081298dcbd","org.opencontainers.image.source":"https://github.com/slsa-framework/example-package","org.opencontainers.image.title":"example-package","org.opencontainers.image.url":"https://github.com/slsa-framework/example-package","org.opencontainers.image.version":"main"},"OnBuild":null},"created":"2023-01-11T16:50:57.102340279Z","history":[{"created":"1970-01-01T00:00:00Z","created_by":"bazel build ...","author":"Bazel"},{"created":"2023-01-11T16:50:57.102340279Z","created_by":"COPY /app/app /app # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2023-01-11T16:50:57.102340279Z","created_by":"ENTRYPOINT [\"/app\"]","comment":"buildkit.dockerfile.v0","empty_layer":true}],"moby.buildkit.buildinfo.v1":"eyJmcm9udGVuZCI6ImRvY2tlcmZpbGUudjAiLCJzb3VyY2VzIjpbeyJ0eXBlIjoiZG9ja2VyLWltYWdlIiwicmVmIjoiZG9ja2VyLmlvL2xpYnJhcnkvZ29sYW5nQHNoYTI1Njo5MzQ5ZWQ4ODlhZGI5MDZlZmE1ZWJjMDY0ODVmZTFiNmExMmZiMjY1YTAxYzkyNjZhMTM3YmIxMzUyNTY1NTYwIiwicGluIjoic2hhMjU2OjkzNDllZDg4OWFkYjkwNmVmYTVlYmMwNjQ4NWZlMWI2YTEyZmIyNjVhMDFjOTI2NmExMzdiYjEzNTI1NjU1NjAifSx7InR5cGUiOiJkb2NrZXItaW1hZ2UiLCJyZWYiOiJnY3IuaW8vZGlzdHJvbGVzcy9zdGF0aWNAc2hhMjU2OjIxZDNmODRhNGYzN2MzNjE5OWZkMDdhZDU1NDRkY2FmZWNjMTc3NzZlM2YzNjI4YmFmOWE1N2M4YzAxODFiM2YiLCJwaW4iOiJzaGEyNTY6MjFkM2Y4NGE0ZjM3YzM2MTk5ZmQwN2FkNTU0NGRjYWZlY2MxNzc3NmUzZjM2MjhiYWY5YTU3YzhjMDE4MWIzZiJ9LHsidHlwZSI6ImdpdCIsInJlZiI6Imh0dHBzOi8vZ2l0aHViLmNvbS9zbHNhLWZyYW1ld29yay9leGFtcGxlLXBhY2thZ2UuZ2l0IzkwNGUyYzNlMDI3MjVlMzE0Y2Y2Y2YxNDFjNDcwMDA4MTI5OGRjYmQiLCJwaW4iOiI5MDRlMmMzZTAyNzI1ZTMxNGNmNmNmMTQxYzQ3MDAwODEyOThkY2JkIn1dfQ==","os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:8d7366c22fd8219bfcfb61ed28457854c80e310b0d736b67861b2ea7fcd77843","sha256:6a96e58c5145cee08d055c79ae6f104e32fbec6b7a75e49301b43e505c04b471"]}}
|
||||
+1
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+21
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
|
||||
"schemaVersion": 2,
|
||||
"config": {
|
||||
"mediaType": "application/vnd.docker.container.image.v1+json",
|
||||
"digest": "sha256:3095c5371ce925576abaf92fc06d25607b415984d886c1b8eb43cc26536036b9",
|
||||
"size": 2217
|
||||
},
|
||||
"layers": [
|
||||
{
|
||||
"mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
|
||||
"digest": "sha256:b9f88661235d25835ef747dab426861d51c4e9923b92623d422d7ac58eb123e9",
|
||||
"size": 804101
|
||||
},
|
||||
{
|
||||
"mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
|
||||
"digest": "sha256:00aa5a682a32265423afb63f09b83357dbadffe86c4e880278482eaffbc4546c",
|
||||
"size": 608701
|
||||
}
|
||||
]
|
||||
}
|
||||
+4
-4
@@ -3,16 +3,16 @@
|
||||
"manifests": [
|
||||
{
|
||||
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
|
||||
"size": 737,
|
||||
"digest": "sha256:2bc8d7da45cdfb2902cef3292a3211351079b15b0f14f0ae9d5f9eea98b8b2d2",
|
||||
"size": 699,
|
||||
"digest": "sha256:a74d89d8dd863ca5dae4a29e0feede81ddf59197849a80784af5a02ab7786925",
|
||||
"annotations": {
|
||||
"kind": "dev.cosignproject.cosign/image"
|
||||
}
|
||||
},
|
||||
{
|
||||
"mediaType": "application/vnd.oci.image.manifest.v1+json",
|
||||
"size": 6898,
|
||||
"digest": "sha256:b7773d35be754aa50e484d9cac8cfc3696e8dfa937be9783c7f7cd21872816ee",
|
||||
"size": 6899,
|
||||
"digest": "sha256:738d456c898daf28d211c2e0b8ecf5dc67b9a1d631c99ef2c4b4669bcb7a0354",
|
||||
"annotations": {
|
||||
"kind": "dev.cosignproject.cosign/atts"
|
||||
}
|
||||
Binary file not shown.
+1
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
+1
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
BIN
Binary file not shown.
+1
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user