MCPcopy
hub / github.com/rqlite/rqlite / Test_SingleNode

Function Test_SingleNode

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

Source from the content-addressed store, hash-verified

103}
104
105func Test_SingleNode(t *testing.T) {
106 node := mustNewLeaderNode("node1")
107 defer node.Deprovision()
108
109 tests := []struct {
110 stmt string
111 expected string
112 execute bool
113 }{
114 {
115 stmt: `CREATE TABLE foo (id integer not null primary key, name text)`,
116 expected: `{"results":[{}]}`,
117 execute: true,
118 },
119 {
120 stmt: `INSERT INTO foo(name) VALUES("fiona")`,
121 expected: `{"results":[{"last_insert_id":1,"rows_affected":1}]}`,
122 execute: true,
123 },
124 {
125 stmt: `INSERT INTO bar(name) VALUES("fiona")`,
126 expected: `{"results":[{"error":"no such table: bar"}]}`,
127 execute: true,
128 },
129 {
130 stmt: `INSERT blah blah`,
131 expected: `{"results":[{"error":"near \"blah\": syntax error"}]}`,
132 execute: true,
133 },
134 {
135 stmt: `SELECT * FROM foo`,
136 expected: `{"results":[{"columns":["id","name"],"types":["integer","text"],"values":[[1,"fiona"]]}]}`,
137 execute: false,
138 },
139 {
140 stmt: `DROP TABLE bar`,
141 expected: `{"results":[{"error":"no such table: bar"}]}`,
142 execute: true,
143 },
144 {
145 stmt: `DROP TABLE foo`,
146 expected: `{"results":[{"last_insert_id":1,"rows_affected":1}]}`,
147 execute: true,
148 },
149 }
150
151 for i, tt := range tests {
152 var r string
153 var err error
154 if tt.execute {
155 r, err = node.Execute(tt.stmt)
156 } else {
157 r, err = node.Query(tt.stmt)
158 }
159 if err != nil {
160 t.Fatalf(`test %d failed "%s": %s`, i, tt.stmt, err.Error())
161 }
162 if r != tt.expected {

Callers

nothing calls this directly

Calls 5

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

Tested by

no test coverage detected