1
0
Fork 0

Fix remaining expression test cases

master
Philip O'Toole 1 year ago
parent 61b2e10b2e
commit e845e0c243

@ -429,7 +429,7 @@ func Test_SingleNodeInMemRequest(t *testing.T) {
`INSERT INTO foo(id, name) VALUES(77, "fiona")`,
`SELECT COUNT(*) FROM foo`,
},
expected: `[{"last_insert_id":77,"rows_affected":1},{"columns":["COUNT(*)"],"types":[""],"values":[[3]]}]`,
expected: `[{"last_insert_id":77,"rows_affected":1},{"columns":["COUNT(*)"],"types":["integer"],"values":[[3]]}]`,
},
{
stmts: []string{
@ -438,7 +438,7 @@ func Test_SingleNodeInMemRequest(t *testing.T) {
`SELECT COUNT(*) FROM foo WHERE name='fiona'`,
`SELECT * FROM foo WHERE name='declan'`,
},
expected: `[{"last_insert_id":88,"rows_affected":1,"rows":null},{"error":"near \"nonsense\": syntax error"},{"types":{"COUNT(*)":""},"rows":[{"COUNT(*)":3}]},{"types":{"id":"integer","name":"text"},"rows":[{"id":66,"name":"declan"}]}]`,
expected: `[{"last_insert_id":88,"rows_affected":1,"rows":null},{"error":"near \"nonsense\": syntax error"},{"types":{"COUNT(*)":"integer"},"rows":[{"COUNT(*)":3}]},{"types":{"id":"integer","name":"text"},"rows":[{"id":66,"name":"declan"}]}]`,
associative: true,
},
}
@ -517,7 +517,7 @@ func Test_SingleNodeInMemRequestTx(t *testing.T) {
stmts: []string{
`SELECT COUNT(*) FROM foo`,
},
expected: `[{"columns":["COUNT(*)"],"types":[""],"values":[[1]]}]`,
expected: `[{"columns":["COUNT(*)"],"types":["integer"],"values":[[1]]}]`,
},
}

@ -167,7 +167,6 @@ COMMIT;
t.Fatalf("Backup Failed: unable to create temp file, %s", err.Error())
}
defer os.Remove(f.Name())
t.Logf("backup file is %s", f.Name())
if err := s.Backup(backupRequestBinary(true), f); err != nil {
t.Fatalf("Backup failed %s", err.Error())

@ -141,7 +141,7 @@ func openStoreCloseStartup(t *testing.T, s *Store) {
if err != nil {
t.Fatalf("failed to query single node: %s", err.Error())
}
if exp, got := `[{"columns":["COUNT(*)"],"types":[""],"values":[[10]]}]`, asJSON(r); exp != got {
if exp, got := `[{"columns":["COUNT(*)"],"types":["integer"],"values":[[10]]}]`, asJSON(r); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
@ -169,7 +169,7 @@ func openStoreCloseStartup(t *testing.T, s *Store) {
if err != nil {
t.Fatalf("failed to query single node: %s", err.Error())
}
if exp, got := `[{"columns":["COUNT(*)"],"types":[""],"values":[[11]]}]`, asJSON(r); exp != got {
if exp, got := `[{"columns":["COUNT(*)"],"types":["integer"],"values":[[11]]}]`, asJSON(r); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
@ -201,7 +201,7 @@ func openStoreCloseStartup(t *testing.T, s *Store) {
if err != nil {
t.Fatalf("failed to query single node: %s", err.Error())
}
if exp, got := `[{"columns":["COUNT(*)"],"types":[""],"values":[[11]]}]`, asJSON(r); exp != got {
if exp, got := `[{"columns":["COUNT(*)"],"types":["integer"],"values":[[11]]}]`, asJSON(r); exp != got {
t.Fatalf("unexpected results for query\nexp: %s\ngot: %s", exp, got)
}
}

@ -202,7 +202,7 @@ func Test_MultiNodeClusterRANDOM(t *testing.T) {
if err != nil {
t.Fatalf("failed to query for count: %s", err.Error())
}
if got, exp := r, `{"results":[{"columns":["COUNT(*)"],"types":[""],"values":[[1]]}]}`; got != exp {
if got, exp := r, `{"results":[{"columns":["COUNT(*)"],"types":["integer"],"values":[[1]]}]}`; got != exp {
t.Fatalf("wrong query results, exp %s, got %s", exp, got)
}
@ -830,7 +830,7 @@ func Test_MultiNodeClusterQueuedWrites(t *testing.T) {
}()
wg.Wait()
exp := fmt.Sprintf(`{"results":[{"columns":["COUNT(*)"],"types":[""],"values":[[%d]]}]}`, numLoops*writesPerLoop)
exp := fmt.Sprintf(`{"results":[{"columns":["COUNT(*)"],"types":["integer"],"values":[[%d]]}]}`, numLoops*writesPerLoop)
got, err := node1.Query(`SELECT COUNT(*) FROM foo`)
if err != nil {
t.Fatalf("failed to query follower node: %s", err.Error())
@ -900,7 +900,7 @@ func Test_MultiNodeClusterLargeQueuedWrites(t *testing.T) {
}
wg.Wait()
exp := fmt.Sprintf(`{"results":[{"columns":["COUNT(*)"],"types":[""],"values":[[%d]]}]}`, len(nodesUnderTest)*writesPerNode)
exp := fmt.Sprintf(`{"results":[{"columns":["COUNT(*)"],"types":["integer"],"values":[[%d]]}]}`, len(nodesUnderTest)*writesPerNode)
got, err := node1.Query(`SELECT COUNT(*) FROM foo`)
if err != nil {
t.Fatalf("failed to query follower node: %s", err.Error())
@ -1185,7 +1185,7 @@ func Test_MultiNodeClusterSnapshot(t *testing.T) {
t.Fatalf("failed to query follower node: %s", err.Error())
}
if r != `{"results":[{"columns":["COUNT(*)"],"types":[""],"values":[[300]]}]}` {
if r != `{"results":[{"columns":["COUNT(*)"],"types":["integer"],"values":[[300]]}]}` {
if n < 20 {
// Wait, and try again.
time.Sleep(mustParseDuration("1s"))
@ -1217,7 +1217,7 @@ func Test_MultiNodeClusterSnapshot(t *testing.T) {
t.Fatalf("failed to query follower node: %s", err.Error())
}
if r != `{"results":[{"columns":["COUNT(*)"],"types":[""],"values":[[300]]}]}` {
if r != `{"results":[{"columns":["COUNT(*)"],"types":["integer"],"values":[[300]]}]}` {
if n < 10 {
// Wait, and try again.
time.Sleep(mustParseDuration("100ms"))
@ -1381,7 +1381,7 @@ func Test_MultiNodeClusterRecoverSingle(t *testing.T) {
if _, err := node1.Execute(`INSERT INTO foo(id, name) VALUES(1, "fiona")`); err != nil {
t.Fatalf("failed to create table: %s", err.Error())
}
if rows, _ := node1.Query(`SELECT COUNT(*) FROM foo`); rows != `{"results":[{"columns":["COUNT(*)"],"types":[""],"values":[[1]]}]}` {
if rows, _ := node1.Query(`SELECT COUNT(*) FROM foo`); rows != `{"results":[{"columns":["COUNT(*)"],"types":["integer"],"values":[[1]]}]}` {
t.Fatalf("got incorrect results from node: %s", rows)
}
@ -1439,7 +1439,7 @@ func Test_MultiNodeClusterRecoverSingle(t *testing.T) {
if err != nil {
t.Fatalf("failed waiting for leader: %s", err.Error())
}
if rows, _ := okSingle.Query(`SELECT COUNT(*) FROM foo`); rows != `{"results":[{"columns":["COUNT(*)"],"types":[""],"values":[[1]]}]}` {
if rows, _ := okSingle.Query(`SELECT COUNT(*) FROM foo`); rows != `{"results":[{"columns":["COUNT(*)"],"types":["integer"],"values":[[1]]}]}` {
t.Fatalf("got incorrect results from recovered node: %s", rows)
}
okSingle.Close(true)
@ -1484,7 +1484,7 @@ func Test_MultiNodeClusterRecoverFull(t *testing.T) {
if _, err := node1.Execute(`INSERT INTO foo(id, name) VALUES(1, "fiona")`); err != nil {
t.Fatalf("failed to create table: %s", err.Error())
}
if rows, _ := node1.Query(`SELECT COUNT(*) FROM foo`); rows != `{"results":[{"columns":["COUNT(*)"],"types":[""],"values":[[1]]}]}` {
if rows, _ := node1.Query(`SELECT COUNT(*) FROM foo`); rows != `{"results":[{"columns":["COUNT(*)"],"types":["integer"],"values":[[1]]}]}` {
t.Fatalf("got incorrect results from node: %s", rows)
}
@ -1532,7 +1532,7 @@ func Test_MultiNodeClusterRecoverFull(t *testing.T) {
t.Fatalf("failed waiting for leader on recovered cluster: %s", err.Error())
}
if rows, _ := node4.Query(`SELECT COUNT(*) FROM foo`); rows != `{"results":[{"columns":["COUNT(*)"],"types":[""],"values":[[1]]}]}` {
if rows, _ := node4.Query(`SELECT COUNT(*) FROM foo`); rows != `{"results":[{"columns":["COUNT(*)"],"types":["integer"],"values":[[1]]}]}` {
t.Fatalf("got incorrect results from recovered node: %s", rows)
}
}

@ -160,7 +160,7 @@ class TestJoinCatchup(unittest.TestCase):
j = n0.execute('INSERT INTO foo(name) VALUES("fiona")')
self.assertEqual(j, d_("{'results': [{'last_insert_id': 2, 'rows_affected': 1}]}"))
j = n0.query('SELECT COUNT(*) FROM foo')
self.assertEqual(j, d_("{'results': [{'values': [[2]], 'types': [''], 'columns': ['COUNT(*)']}]}"))
self.assertEqual(j, d_("{'results': [{'values': [[2]], 'types': ['integer'], 'columns': ['COUNT(*)']}]}"))
applied = n0.wait_for_all_fsm()
# Restart follower, explicity rejoin, and ensure it picks up new records
@ -169,7 +169,7 @@ class TestJoinCatchup(unittest.TestCase):
self.n1.wait_for_fsm_index(applied)
self.assertEqual(n0.expvar()['store']['num_ignored_joins'], 1)
j = self.n1.query('SELECT COUNT(*) FROM foo', level='none')
self.assertEqual(j, d_("{'results': [{'values': [[2]], 'types': [''], 'columns': ['COUNT(*)']}]}"))
self.assertEqual(j, d_("{'results': [{'values': [[2]], 'types': ['integer'], 'columns': ['COUNT(*)']}]}"))
def test_change_addresses(self):
'''Test that a node rejoining with new addresses works fine'''
@ -192,7 +192,7 @@ class TestJoinCatchup(unittest.TestCase):
j = n0.execute('INSERT INTO foo(name) VALUES("fiona")')
self.assertEqual(j, d_("{'results': [{'last_insert_id': 2, 'rows_affected': 1}]}"))
j = n0.query('SELECT COUNT(*) FROM foo')
self.assertEqual(j, d_("{'results': [{'values': [[2]], 'types': [''], 'columns': ['COUNT(*)']}]}"))
self.assertEqual(j, d_("{'results': [{'values': [[2]], 'types': ['integer'], 'columns': ['COUNT(*)']}]}"))
applied = n0.wait_for_all_fsm()
# Restart follower with new network attributes, explicity rejoin, and ensure it picks up new records

@ -333,7 +333,7 @@ class TestRequestForwarding(unittest.TestCase):
# Data should be ready immediately, since we waited.
j = l.query('SELECT COUNT(*) FROM foo')
self.assertEqual(j, d_("{'results': [{'columns': ['COUNT(*)'], 'types': [''], 'values': [[2002]]}]}"))
self.assertEqual(j, d_("{'results': [{'columns': ['COUNT(*)'], 'types': ['integer'], 'values': [[2002]]}]}"))
class TestEndToEndNonVoter(unittest.TestCase):
def setUp(self):

@ -239,7 +239,7 @@ func Test_MultiNodeClusterRequestForwardOK(t *testing.T) {
if err != nil {
t.Fatalf("failed to create table: %s", err.Error())
}
if exp, got := `{"results":[{"columns":["COUNT(*)"],"types":[""],"values":[[3]]}]}`, rows; exp != got {
if exp, got := `{"results":[{"columns":["COUNT(*)"],"types":["integer"],"values":[[3]]}]}`, rows; exp != got {
t.Fatalf("got incorrect response from follower exp: %s, got: %s", exp, got)
}
}
@ -279,7 +279,7 @@ func Test_MultiNodeClusterQueuedRequestForwardOK(t *testing.T) {
if err != nil {
t.Fatalf("failed to query for count: %s", err.Error())
}
if exp, got := `{"results":[{"columns":["COUNT(*)"],"types":[""],"values":[[0]]}]}`, rows; exp != got {
if exp, got := `{"results":[{"columns":["COUNT(*)"],"types":["integer"],"values":[[0]]}]}`, rows; exp != got {
t.Fatalf("got incorrect response from follower exp: %s, got: %s", exp, got)
}
@ -305,7 +305,7 @@ func Test_MultiNodeClusterQueuedRequestForwardOK(t *testing.T) {
if err != nil {
t.Fatalf("failed to query for count: %s", err.Error())
}
if r == `{"results":[{"columns":["COUNT(*)"],"types":[""],"values":[[1]]}]}` {
if r == `{"results":[{"columns":["COUNT(*)"],"types":["integer"],"values":[[1]]}]}` {
return
}
case <-timer.C:

@ -294,7 +294,7 @@ func Test_SingleNodeConcurrentRequests(t *testing.T) {
if err != nil {
t.Fatalf("failed to count records: %s", err.Error())
}
if r != `{"results":[{"columns":["COUNT(*)"],"types":[""],"values":[[200]]}]}` {
if r != `{"results":[{"columns":["COUNT(*)"],"types":["integer"],"values":[[200]]}]}` {
t.Fatalf("test received wrong result got %s", r)
}
}
@ -327,7 +327,7 @@ func Test_SingleNodeConcurrentRequestsCompressed(t *testing.T) {
if err != nil {
t.Fatalf("failed to count records: %s", err.Error())
}
if r != `{"results":[{"columns":["COUNT(*)"],"types":[""],"values":[[200]]}]}` {
if r != `{"results":[{"columns":["COUNT(*)"],"types":["integer"],"values":[[200]]}]}` {
t.Fatalf("test received wrong result got %s", r)
}
}
@ -568,7 +568,7 @@ LOOP:
if err != nil {
t.Fatalf(`query failed: %s`, err.Error())
}
if r == `{"results":[{"columns":["COUNT(*)"],"types":[""],"values":[[3]]}]}` {
if r == `{"results":[{"columns":["COUNT(*)"],"types":["integer"],"values":[[3]]}]}` {
break LOOP
}
case <-timer.C:
@ -590,7 +590,7 @@ LOOP:
if err != nil {
t.Fatalf(`query failed: %s`, err.Error())
}
if got, exp := r, `{"results":[{"columns":["COUNT(*)"],"types":[""],"values":[[6]]}]}`; got != exp {
if got, exp := r, `{"results":[{"columns":["COUNT(*)"],"types":["integer"],"values":[[6]]}]}`; got != exp {
t.Fatalf("incorrect results, exp: %s, got: %s", exp, got)
}
}
@ -633,7 +633,7 @@ LOOP1:
if err != nil {
t.Fatalf(`query failed: %s`, err.Error())
}
if r == `{"results":[{"columns":["COUNT(*)"],"types":[""],"values":[[2]]}]}` {
if r == `{"results":[{"columns":["COUNT(*)"],"types":["integer"],"values":[[2]]}]}` {
break LOOP1
}
case <-timer.C:
@ -662,7 +662,7 @@ LOOP2:
if err != nil {
t.Fatalf(`query failed: %s`, err.Error())
}
if r == `{"results":[{"columns":["COUNT(*)"],"types":[""],"values":[[2]]}]}` {
if r == `{"results":[{"columns":["COUNT(*)"],"types":["integer"],"values":[[2]]}]}` {
break LOOP2
}
case <-timer.C:
@ -707,7 +707,7 @@ func Test_SingleNodeQueuedEmptyNil(t *testing.T) {
if err != nil {
t.Fatalf(`query failed: %s`, err.Error())
}
if got, exp := r, `{"results":[{"columns":["COUNT(*)"],"types":[""],"values":[[3]]}]}`; got != exp {
if got, exp := r, `{"results":[{"columns":["COUNT(*)"],"types":["integer"],"values":[[3]]}]}`; got != exp {
t.Fatalf("incorrect results, exp: %s, got: %s", exp, got)
}
@ -732,7 +732,7 @@ func Test_SingleNodeQueuedEmptyNil(t *testing.T) {
if err != nil {
t.Fatalf(`query failed: %s`, err.Error())
}
if got, exp := r, `{"results":[{"columns":["COUNT(*)"],"types":[""],"values":[[6]]}]}`; got != exp {
if got, exp := r, `{"results":[{"columns":["COUNT(*)"],"types":["integer"],"values":[[6]]}]}`; got != exp {
t.Fatalf("incorrect results, exp: %s, got: %s", exp, got)
}
}
@ -888,7 +888,7 @@ func Test_SingleNodeUpgrades(t *testing.T) {
if err != nil {
t.Fatalf("query failed with %s data: %s", dir, err)
}
expected := `{"results":[{"columns":["COUNT(*)"],"types":[""],"values":[[20]]}]}`
expected := `{"results":[{"columns":["COUNT(*)"],"types":["integer"],"values":[[20]]}]}`
if r == expected {
close(testSuccess)
}

Loading…
Cancel
Save