package replicator import ( "errors" "testing" "github.com/stretchr/testify/assert" ) func TestContainerStartErrFromLogs(t *testing.T) { testCases := []struct { name string logs [][]byte want error }{ { name: "no logs", want: errors.New("container failed to start"), }, { name: "with only error logs", logs: [][]byte{ []byte("[error] this is an error log"), []byte("[error] this is another error log"), }, want: errors.New("[error] this is an error log"), }, { name: "with only fatal logs", logs: [][]byte{ []byte("[fatal] this is a fatal log"), []byte("[fatal] this is another fatal log"), }, want: errors.New("[fatal] this is a fatal log"), }, { name: "with error and fatal logs", logs: [][]byte{ []byte("[error] this is an error log"), []byte("[fatal] this is a fatal log"), }, want: errors.New("[fatal] this is a fatal log"), }, } for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { assert.Equal(t, tc.want, containerStartErrFromLogs(tc.logs)) }) } }