| 52 | } |
| 53 | |
| 54 | func runStdoutJqQuery(stdout string, test api.StdoutJqTest, variables map[string]string) api.CLICommandJqOutput { |
| 55 | queryText := InterpolateVariables(test.Query, variables) |
| 56 | input, err := parseJqInput(stdout, test.InputMode) |
| 57 | if err != nil { |
| 58 | return api.CLICommandJqOutput{Query: queryText, Error: err.Error()} |
| 59 | } |
| 60 | results, err := executeJqQuery(queryText, input) |
| 61 | if err != nil { |
| 62 | return api.CLICommandJqOutput{Query: queryText, Error: err.Error()} |
| 63 | } |
| 64 | return api.CLICommandJqOutput{Query: queryText, Results: formatJqResults(results)} |
| 65 | } |
| 66 | |
| 67 | func parseJqInput(stdout string, inputMode string) (any, error) { |
| 68 | mode := strings.ToLower(strings.TrimSpace(inputMode)) |