MCPcopy Index your code
hub / github.com/bootdotdev/bootdev / TestRunStdoutJqQuery

Function TestRunStdoutJqQuery

checks/jq_test.go:11–88  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

9)
10
11func TestRunStdoutJqQuery(t *testing.T) {
12 tests := []struct {
13 name string
14 stdout string
15 test api.StdoutJqTest
16 variables map[string]string
17 want api.CLICommandJqOutput
18 wantError string
19 }{
20 {
21 name: "queries json with interpolated query",
22 stdout: `{"users":[{"name":"Lane"},{"name":"Theo"}]}`,
23 test: api.StdoutJqTest{
24 InputMode: "json",
25 Query: `.users[] | select(.name == "${name}") | .name`,
26 },
27 variables: map[string]string{"name": "Theo"},
28 want: api.CLICommandJqOutput{
29 Query: `.users[] | select(.name == "Theo") | .name`,
30 Results: []string{`"Theo"`},
31 },
32 },
33 {
34 name: "queries jsonl as array",
35 stdout: "{\"id\":1}\n{\"id\":2}\n",
36 test: api.StdoutJqTest{
37 InputMode: "jsonl",
38 Query: `.[].id`,
39 },
40 want: api.CLICommandJqOutput{
41 Query: `.[].id`,
42 Results: []string{`1`, `2`},
43 },
44 },
45 {
46 name: "returns parse error",
47 stdout: `{not json}`,
48 test: api.StdoutJqTest{
49 InputMode: "json",
50 Query: `.name`,
51 },
52 want: api.CLICommandJqOutput{
53 Query: `.name`,
54 },
55 wantError: "invalid character",
56 },
57 {
58 name: "returns jq error",
59 stdout: `{"name":"Theo"}`,
60 test: api.StdoutJqTest{
61 InputMode: "json",
62 Query: `.name[`,
63 },
64 want: api.CLICommandJqOutput{
65 Query: `.name[`,
66 Error: "unexpected EOF",
67 },
68 },

Callers

nothing calls this directly

Calls 1

runStdoutJqQueryFunction · 0.85

Tested by

no test coverage detected