github.com/anchore/syft@v1.38.2/test/cli/unknowns_test.go (about) 1 package cli 2 3 import ( 4 "testing" 5 ) 6 7 func Test_Unknowns(t *testing.T) { 8 unknownsImage := getFixtureImage(t, "image-unknowns") 9 10 tests := []struct { 11 name string 12 args []string 13 env map[string]string 14 assertions []traitAssertion 15 }{ 16 { 17 name: "unknown executables", 18 args: []string{"scan", "-o", "json", unknownsImage, "--from", "docker-archive"}, 19 env: map[string]string{"SYFT_FORMAT_PRETTY": "true"}, 20 assertions: []traitAssertion{ 21 assertJsonReport, 22 assertInOutput(`no package identified in executable file`), 23 assertInOutput(`unable to read files from java archive`), 24 assertInOutput(`no package identified in archive`), 25 assertSuccessfulReturnCode, 26 }, 27 }, 28 } 29 30 for _, test := range tests { 31 t.Run(test.name, func(t *testing.T) { 32 cmd, stdout, stderr := runSyft(t, test.env, test.args...) 33 for _, traitFn := range test.assertions { 34 traitFn(t, stdout, stderr, cmd.ProcessState.ExitCode()) 35 } 36 logOutputOnFailure(t, cmd, stdout, stderr) 37 }) 38 } 39 }