MCPcopy
hub / github.com/rqlite/rqlite / Test_SingleNodeRequest

Function Test_SingleNodeRequest

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

Source from the content-addressed store, hash-verified

288}
289
290func Test_SingleNodeRequest(t *testing.T) {
291 node := mustNewLeaderNode("leader1")
292 defer node.Deprovision()
293
294 tests := []struct {
295 stmt string
296 expected string
297 }{
298 {
299 stmt: `CREATE TABLE foo (id integer not null primary key, name text)`,
300 expected: `{"results":[{}]}`,
301 },
302 {
303 stmt: `INSERT INTO foo(name) VALUES("fiona")`,
304 expected: `{"results":[{"last_insert_id":1,"rows_affected":1}]}`,
305 },
306 {
307 stmt: `INSERT INTO bar(name) VALUES("fiona")`,
308 expected: `{"results":[{"error":"no such table: bar"}]}`,
309 },
310 {
311 stmt: `INSERT blah blah`,
312 expected: `{"results":[{"error":"near \"blah\": syntax error"}]}`,
313 },
314 {
315 stmt: `SELECT * FROM foo`,
316 expected: `{"results":[{"columns":["id","name"],"types":["integer","text"],"values":[[1,"fiona"]]}]}`,
317 },
318 {
319 stmt: `DROP TABLE bar`,
320 expected: `{"results":[{"error":"no such table: bar"}]}`,
321 },
322 {
323 stmt: `DROP TABLE foo`,
324 expected: `{"results":[{"last_insert_id":1,"rows_affected":1}]}`,
325 },
326 }
327
328 for i, tt := range tests {
329 r, err := node.Request(tt.stmt)
330 if err != nil {
331 t.Fatalf(`test %d failed "%s": %s`, i, tt.stmt, err.Error())
332 }
333 if r != tt.expected {
334 t.Fatalf(`test %d received wrong result "%s" got: %s exp: %s`, i, tt.stmt, r, tt.expected)
335 }
336 }
337}
338
339func Test_SingleNodeMulti(t *testing.T) {
340 node := mustNewLeaderNode("leader1")

Callers

nothing calls this directly

Calls 4

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

Tested by

no test coverage detected