summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rwxr-xr-xtest/gen_sifs.go35
-rwxr-xr-xtest/images/one-group-signed.sifbin42014 -> 42014 bytes
-rwxr-xr-xtest/images/one-group.sifbin36868 -> 40960 bytes
-rwxr-xr-xtest/images/one-object-crypt-message.sifbin32772 -> 32180 bytes
-rwxr-xr-xtest/images/one-object-generic-json.sifbin32770 -> 32178 bytes
-rwxr-xr-xtest/images/one-object-sbom.sifbin0 -> 32630 bytes
-rwxr-xr-xtest/images/one-object-time.sifbin32770 -> 32178 bytes
-rwxr-xr-xtest/images/two-groups-signed.sifbin50007 -> 305013 bytes
-rwxr-xr-xtest/images/two-groups.sifbin40964 -> 303104 bytes
-rw-r--r--test/input/root.ext3bin0 -> 262144 bytes
-rw-r--r--test/input/root.squashfsbin0 -> 4096 bytes
-rw-r--r--test/input/sbom.cdx.json22
-rw-r--r--test/keys/private.asc70
13 files changed, 87 insertions, 40 deletions
diff --git a/test/gen_sifs.go b/test/gen_sifs.go
index 487ea5b..7395951 100755
--- a/test/gen_sifs.go
+++ b/test/gen_sifs.go
@@ -1,4 +1,4 @@
-// Copyright (c) 2020-2021, Sylabs Inc. All rights reserved.
+// Copyright (c) 2020-2022, Sylabs Inc. All rights reserved.
// This software is licensed under a 3-clause BSD license. Please consult the LICENSE.md file
// distributed with the sources of this project regarding your rights to use or distribute this
// software.
@@ -58,6 +58,17 @@ func generateImages() error {
)
}
+ objectSBOM := func() (sif.DescriptorInput, error) {
+ b, err := os.ReadFile(filepath.Join("input", "sbom.cdx.json"))
+ if err != nil {
+ return sif.DescriptorInput{}, err
+ }
+
+ return sif.NewDescriptorInput(sif.DataSBOM, bytes.NewReader(b),
+ sif.OptSBOMMetadata(sif.SBOMFormatCycloneDXJSON),
+ )
+ }
+
partSystem := func() (sif.DescriptorInput, error) {
return sif.NewDescriptorInput(sif.DataPartition,
bytes.NewReader([]byte{0xfa, 0xce, 0xfe, 0xed}),
@@ -66,15 +77,23 @@ func generateImages() error {
}
partPrimSys := func() (sif.DescriptorInput, error) {
- return sif.NewDescriptorInput(sif.DataPartition,
- bytes.NewReader([]byte{0xde, 0xad, 0xbe, 0xef}),
+ b, err := os.ReadFile(filepath.Join("input", "root.squashfs"))
+ if err != nil {
+ return sif.DescriptorInput{}, err
+ }
+
+ return sif.NewDescriptorInput(sif.DataPartition, bytes.NewReader(b),
sif.OptPartitionMetadata(sif.FsSquash, sif.PartPrimSys, "386"),
)
}
partSystemGroup2 := func() (sif.DescriptorInput, error) {
- return sif.NewDescriptorInput(sif.DataPartition,
- bytes.NewReader([]byte{0xba, 0xdd, 0xca, 0xfe}),
+ b, err := os.ReadFile(filepath.Join("input", "root.ext3"))
+ if err != nil {
+ return sif.DescriptorInput{}, err
+ }
+
+ return sif.NewDescriptorInput(sif.DataPartition, bytes.NewReader(b),
sif.OptPartitionMetadata(sif.FsExt3, sif.PartSystem, "amd64"),
sif.OptGroupID(2),
)
@@ -125,6 +144,12 @@ func generateImages() error {
objectCryptoMessage,
},
},
+ {
+ path: "one-object-sbom.sif",
+ diFns: []func() (sif.DescriptorInput, error){
+ objectSBOM,
+ },
+ },
// Images with two partitions in one group.
{
diff --git a/test/images/one-group-signed.sif b/test/images/one-group-signed.sif
index 83e9667..f7c6894 100755
--- a/test/images/one-group-signed.sif
+++ b/test/images/one-group-signed.sif
Binary files differ
diff --git a/test/images/one-group.sif b/test/images/one-group.sif
index ea68b45..fb72e4a 100755
--- a/test/images/one-group.sif
+++ b/test/images/one-group.sif
Binary files differ
diff --git a/test/images/one-object-crypt-message.sif b/test/images/one-object-crypt-message.sif
index 21f0670..27e2aed 100755
--- a/test/images/one-object-crypt-message.sif
+++ b/test/images/one-object-crypt-message.sif
Binary files differ
diff --git a/test/images/one-object-generic-json.sif b/test/images/one-object-generic-json.sif
index 5ef1418..2f08067 100755
--- a/test/images/one-object-generic-json.sif
+++ b/test/images/one-object-generic-json.sif
Binary files differ
diff --git a/test/images/one-object-sbom.sif b/test/images/one-object-sbom.sif
new file mode 100755
index 0000000..339cde2
--- /dev/null
+++ b/test/images/one-object-sbom.sif
Binary files differ
diff --git a/test/images/one-object-time.sif b/test/images/one-object-time.sif
index e7d8205..a651be6 100755
--- a/test/images/one-object-time.sif
+++ b/test/images/one-object-time.sif
Binary files differ
diff --git a/test/images/two-groups-signed.sif b/test/images/two-groups-signed.sif
index 7ee18b3..590c44a 100755
--- a/test/images/two-groups-signed.sif
+++ b/test/images/two-groups-signed.sif
Binary files differ
diff --git a/test/images/two-groups.sif b/test/images/two-groups.sif
index 0555d09..36701ad 100755
--- a/test/images/two-groups.sif
+++ b/test/images/two-groups.sif
Binary files differ
diff --git a/test/input/root.ext3 b/test/input/root.ext3
new file mode 100644
index 0000000..6163e60
--- /dev/null
+++ b/test/input/root.ext3
Binary files differ
diff --git a/test/input/root.squashfs b/test/input/root.squashfs
new file mode 100644
index 0000000..cf6539a
--- /dev/null
+++ b/test/input/root.squashfs
Binary files differ
diff --git a/test/input/sbom.cdx.json b/test/input/sbom.cdx.json
new file mode 100644
index 0000000..e4e722a
--- /dev/null
+++ b/test/input/sbom.cdx.json
@@ -0,0 +1,22 @@
+{
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.4",
+ "serialNumber": "urn:uuid:c0e8da98-7afc-4807-89a1-928a14dcd910",
+ "version": 1,
+ "metadata": {
+ "timestamp": "2022-10-21T13:27:49Z",
+ "tools": [
+ {
+ "vendor": "anchore",
+ "name": "syft",
+ "version": "0.59.0"
+ }
+ ],
+ "component": {
+ "bom-ref": "a0f23d5d8e46dd55",
+ "type": "container",
+ "name": "image.sif"
+ }
+ },
+ "components": []
+}
diff --git a/test/keys/private.asc b/test/keys/private.asc
index 0cb933f..f7a8d4a 100644
--- a/test/keys/private.asc
+++ b/test/keys/private.asc
@@ -19,39 +19,39 @@ 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
-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
-=zxMk
+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
+EZ/ZSGnSuqYT1FabxNxb1kR4eRMWbeDjk7uX
+=+DIa
-----END PGP PRIVATE KEY BLOCK-----