MCPcopy
hub / github.com/rqlite/rqlite / Test_SingleNode_DisallowedPragmas

Function Test_SingleNode_DisallowedPragmas

system_test/single_node_test.go:226–288  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

224}
225
226func Test_SingleNode_DisallowedPragmas(t *testing.T) {
227 node := mustNewLeaderNode("node1")
228 defer node.Deprovision()
229
230 tests := []struct {
231 stmt string
232 expected string
233 }{
234 {
235 stmt: `PRAGMA JOURNAL_MODE=DELETE`,
236 expected: `{"results":[],"error":"disallowed pragma"}`,
237 },
238 {
239 stmt: `PRAGMA wal_autocheckpoint = 1000`,
240 expected: `{"results":[],"error":"disallowed pragma"}`,
241 },
242 {
243 stmt: `PRAGMA wal_autocheckpoint = 1000`,
244 expected: `{"results":[],"error":"disallowed pragma"}`,
245 },
246 {
247 stmt: `PRAGMA synchronous = NORMAL`,
248 expected: `{"results":[],"error":"disallowed pragma"}`,
249 },
250 {
251 stmt: ` PRAGMA synchronous = NORMAL`,
252 expected: `{"results":[],"error":"disallowed pragma"}`,
253 },
254 {
255 stmt: `PRAGMA synchronous = NORMAL`,
256 expected: `{"results":[],"error":"disallowed pragma"}`,
257 },
258 }
259
260 for i, tt := range tests {
261 var r string
262 var err error
263
264 r, err = node.Execute(tt.stmt)
265 if err != nil {
266 t.Fatalf(`test %d failed "%s": %s`, i, tt.stmt, err.Error())
267 }
268 if r != tt.expected {
269 t.Fatalf(`test %d received wrong result "%s" got: %s exp: %s`, i, tt.stmt, r, tt.expected)
270 }
271
272 r, err = node.Query(tt.stmt)
273 if err != nil {
274 t.Fatalf(`test %d failed "%s": %s`, i, tt.stmt, err.Error())
275 }
276 if r != tt.expected {
277 t.Fatalf(`test %d received wrong result "%s" got: %s exp: %s`, i, tt.stmt, r, tt.expected)
278 }
279
280 r, err = node.Request(tt.stmt)
281 if err != nil {
282 t.Fatalf(`test %d failed "%s": %s`, i, tt.stmt, err.Error())
283 }

Callers

nothing calls this directly

Calls 6

mustNewLeaderNodeFunction · 0.85
ExecuteMethod · 0.65
ErrorMethod · 0.65
QueryMethod · 0.65
RequestMethod · 0.65
DeprovisionMethod · 0.45

Tested by

no test coverage detected