MCPcopy Index your code
hub / github.com/prest/prest / TestScriptHandler_ExecuteScriptQuery_ExecuteError

Function TestScriptHandler_ExecuteScriptQuery_ExecuteError

controllers/script_test.go:127–151  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

125}
126
127func TestScriptHandler_ExecuteScriptQuery_ExecuteError(t *testing.T) {
128 ctrl := gomock.NewController(t)
129 defer ctrl.Finish()
130
131 scripts := mockgen.NewMockScriptRunner(ctrl)
132 scripts.EXPECT().GetScript(http.MethodGet, "queries", "bad").Return("/tmp/bad.sql", nil)
133 scripts.EXPECT().ParseScript("/tmp/bad.sql", gomock.Any()).Return(`SELECT bad`, nil, nil)
134
135 scanner := mockgen.NewMockScanner(ctrl)
136 scanner.EXPECT().Err().Return(errors.New("syntax error"))
137
138 executor := mockgen.NewMockQueryExecutor(ctrl)
139 executor.EXPECT().ExecuteScriptsCtx(gomock.Any(), http.MethodGet, `SELECT bad`, gomock.Any()).Return(scanner)
140
141 db := mockgen.NewMockDatabaseRegistry(ctrl)
142 db.EXPECT().SetDatabase("prest-test")
143
144 h := NewScriptHandler(Deps{Scripts: scripts, Executor: executor, DB: db, PGDatabase: "prest-test"})
145 req := httptest.NewRequest(http.MethodGet, "/queries/bad", nil)
146 req = req.WithContext(withTestTimeout(req.Context()))
147
148 _, err := h.ExecuteScriptQuery(req, "queries", "bad")
149 require.Error(t, err)
150 require.Contains(t, err.Error(), "could not execute sql")
151}
152
153func TestExtractHeaders(t *testing.T) {
154 req := httptest.NewRequest(http.MethodGet, "/", nil)

Callers

nothing calls this directly

Calls 15

EXPECTMethod · 0.95
EXPECTMethod · 0.95
EXPECTMethod · 0.95
EXPECTMethod · 0.95
ExecuteScriptQueryMethod · 0.95
NewMockScriptRunnerFunction · 0.92
NewMockScannerFunction · 0.92
NewMockQueryExecutorFunction · 0.92
NewMockDatabaseRegistryFunction · 0.92
NewScriptHandlerFunction · 0.85
withTestTimeoutFunction · 0.85
GetScriptMethod · 0.65

Tested by

no test coverage detected