From c5f5fb255163ed85ddb32d54dcdd710ac3f04603 Mon Sep 17 00:00:00 2001 From: Zach Steindler Date: Mon, 11 Dec 2023 16:32:00 -0500 Subject: [PATCH] Supply the artifact for the new bundle tests. (#114) Instead of the in-toto statement, which does not have the right hash. Signed-off-by: Zach Steindler --- test/assets/d.artifact.tgz | Bin 0 -> 37137 bytes test/assets/d.stmt.json | 47 ------------------------------------- test/test_bundle.py | 12 +++++----- 3 files changed, 6 insertions(+), 53 deletions(-) create mode 100644 test/assets/d.artifact.tgz delete mode 100644 test/assets/d.stmt.json diff --git a/test/assets/d.artifact.tgz b/test/assets/d.artifact.tgz new file mode 100644 index 0000000000000000000000000000000000000000..390b823fd12e377849e020aa2915f7ed9e77f924 GIT binary patch literal 37137 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 literal 0 HcmV?d00001 diff --git a/test/assets/d.stmt.json b/test/assets/d.stmt.json deleted file mode 100644 index 8ca8cb0..0000000 --- a/test/assets/d.stmt.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "_type": "https://in-toto.io/Statement/v1", - "subject": [ - { - "name": "pkg:npm/sigstore@2.1.0", - "digest": { - "sha512": "90f223f992e4c88dd068cd2a5fc57f9d2b30798343dd6e38f29c240e04ba090ef831f84490847c4e82b9232c78e8a258463b1e55c0f7469f730265008fa6633f" - } - } - ], - "predicateType": "https://slsa.dev/provenance/v1", - "predicate": { - "buildDefinition": { - "buildType": "https://slsa-framework.github.io/github-actions-buildtypes/workflow/v1", - "externalParameters": { - "workflow": { - "ref": "refs/heads/main", - "repository": "https://github.com/sigstore/sigstore-js", - "path": ".github/workflows/release.yml" - } - }, - "internalParameters": { - "github": { - "event_name": "push", - "repository_id": "495574555", - "repository_owner_id": "71096353" - } - }, - "resolvedDependencies": [ - { - "uri": "git+https://github.com/sigstore/sigstore-js@refs/heads/main", - "digest": { - "gitCommit": "26d16513386ffaa790b1c32f927544f1322e4194" - } - } - ] - }, - "runDetails": { - "builder": { - "id": "https://github.com/actions/runner/github-hosted" - }, - "metadata": { - "invocationId": "https://github.com/sigstore/sigstore-js/actions/runs/6014488666/attempts/1" - } - } - } -} diff --git a/test/test_bundle.py b/test/test_bundle.py index 8a52f6e..ae1f556 100644 --- a/test/test_bundle.py +++ b/test/test_bundle.py @@ -24,7 +24,7 @@ def test_verify_dsse_bundle_with_trust_root(client: SigstoreClient, make_materia Test the happy path of verification for DSSE bundle w/ custom trust root """ materials: BundleMaterials - input_path, materials = make_materials_by_type("d.stmt.json", BundleMaterials) + input_path, materials = make_materials_by_type("d.artifact.tgz", BundleMaterials) materials.bundle = Path("d.stmt.good.sigstore") materials.trusted_root = Path("trusted_root.d.json") @@ -176,7 +176,7 @@ def test_verify_rejects_expired_certificate(client: SigstoreClient, make_materia outside the validity window of the trusted root """ materials: BundleMaterials - input_path, materials = make_materials_by_type("d.stmt.json", BundleMaterials) + input_path, materials = make_materials_by_type("d.artifact.tgz", BundleMaterials) materials.bundle = Path("d.stmt.cert-expired.sigstore") materials.trusted_root = Path("trusted_root.d.json") @@ -190,7 +190,7 @@ def test_verify_rejects_missing_inclusion_proof(client: SigstoreClient, make_mat contain an inclusion proof """ materials: BundleMaterials - input_path, materials = make_materials_by_type("d.stmt.json", BundleMaterials) + input_path, materials = make_materials_by_type("d.artifact.tgz", BundleMaterials) materials.bundle = Path("d.stmt.no-inclusion-proof.sigstore") materials.trusted_root = Path("trusted_root.d.json") @@ -205,7 +205,7 @@ def test_verify_rejects_bad_tlog_timestamp(client: SigstoreClient, make_material certificate. """ materials: BundleMaterials - input_path, materials = make_materials_by_type("d.stmt.json", BundleMaterials) + input_path, materials = make_materials_by_type("d.artifact.tgz", BundleMaterials) materials.bundle = Path("d.stmt.tlog-timestamp-error.sigstore") materials.trusted_root = Path("trusted_root.d.json") @@ -219,7 +219,7 @@ def test_verify_rejects_bad_tlog_entry(client: SigstoreClient, make_materials_by not match the signed artifact. """ materials: BundleMaterials - input_path, materials = make_materials_by_type("d.stmt.json", BundleMaterials) + input_path, materials = make_materials_by_type("d.artifact.tgz", BundleMaterials) materials.bundle = Path("d.stmt.tlog-body-error.sigstore") materials.trusted_root = Path("trusted_root.d.json") @@ -233,7 +233,7 @@ def test_verify_rejects_bad_tsa_timestamp(client: SigstoreClient, make_materials the validity window of the signing certificate. """ materials: BundleMaterials - input_path, materials = make_materials_by_type("d.stmt.json", BundleMaterials) + input_path, materials = make_materials_by_type("d.artifact.tgz", BundleMaterials) materials.bundle = Path("d.stmt.tsa-timestamp-error.sigstore") materials.trusted_root = Path("trusted_root.d.json")