Skip to content

Commit 5e9f0ad

Browse files
Add attest extra args tests
1 parent 921b576 commit 5e9f0ad

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

bake/hcl_test.go

+8-1
Original file line numberDiff line numberDiff line change
@@ -609,6 +609,8 @@ func TestHCLAttrsCapsuleType(t *testing.T) {
609609
attest = [
610610
{ type = "provenance", mode = "max" },
611611
"type=sbom,disabled=true",
612+
"type=sbom,generator=foo,\"ENV1=bar,baz\"",
613+
"type=sbom,generator=foo,\"ENV1=bar,baz\",ENV2=hello",
612614
]
613615
614616
cache-from = [
@@ -641,7 +643,12 @@ func TestHCLAttrsCapsuleType(t *testing.T) {
641643
require.NoError(t, err)
642644

643645
require.Equal(t, 1, len(c.Targets))
644-
require.Equal(t, []string{"type=provenance,mode=max", "type=sbom,disabled=true"}, stringify(c.Targets[0].Attest))
646+
require.Equal(t, []string{
647+
"type=provenance,mode=max",
648+
"type=sbom,disabled=true",
649+
`type=sbom,generator=foo,"ENV1=bar,baz"`,
650+
`type=sbom,ENV1="bar,baz",ENV2=hello,generator=foo`,
651+
}, stringify(c.Targets[0].Attest))
645652
require.Equal(t, []string{"type=local,dest=../out", "type=oci,dest=../out.tar"}, stringify(c.Targets[0].Outputs))
646653
require.Equal(t, []string{"type=local,src=path/to/cache", "user/app:cache"}, stringify(c.Targets[0].CacheFrom))
647654
require.Equal(t, []string{"type=local,dest=path/to/cache"}, stringify(c.Targets[0].CacheTo))

util/buildflags/attests_test.go

+12-2
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,21 @@ func TestAttests(t *testing.T) {
1313
attests := Attests{
1414
{Type: "provenance", Attrs: map[string]string{"mode": "max"}},
1515
{Type: "sbom", Disabled: true},
16+
{Type: "sbom", Attrs: map[string]string{
17+
"generator": "scanner",
18+
"ENV1": `"foo,bar"`,
19+
"Env2": "hello",
20+
}},
1621
}
1722

18-
expected := `[{"type":"provenance","mode":"max"},{"type":"sbom","disabled":true}]`
23+
expected := `[{"type":"provenance","mode":"max"},{"type":"sbom","disabled":true},{"ENV1":"\"foo,bar\"","Env2":"hello","generator":"scanner","type":"sbom"}]`
1924
actual, err := json.Marshal(attests)
2025
require.NoError(t, err)
2126
require.JSONEq(t, expected, string(actual))
2227
})
2328

2429
t.Run("UnmarshalJSON", func(t *testing.T) {
25-
in := `[{"type":"provenance","mode":"max"},{"type":"sbom","disabled":true}]`
30+
in := `[{"type":"provenance","mode":"max"},{"type":"sbom","disabled":true},{"ENV1":"\"foo,bar\"","Env2":"hello","generator":"scanner","type":"sbom"}]`
2631

2732
var actual Attests
2833
err := json.Unmarshal([]byte(in), &actual)
@@ -31,6 +36,11 @@ func TestAttests(t *testing.T) {
3136
expected := Attests{
3237
{Type: "provenance", Attrs: map[string]string{"mode": "max"}},
3338
{Type: "sbom", Disabled: true, Attrs: map[string]string{}},
39+
{Type: "sbom", Disabled: false, Attrs: map[string]string{
40+
"generator": "scanner",
41+
"ENV1": `"foo,bar"`,
42+
"Env2": "hello",
43+
}},
3444
}
3545
require.Equal(t, expected, actual)
3646
})

0 commit comments

Comments
 (0)