Staņislavs Koikovs 11 anni fa
parent
commit
0d8fa1ce82
1 ha cambiato i file con 33 aggiunte e 0 eliminazioni
  1. 33 0
      cass1batch_test.go

+ 33 - 0
cass1batch_test.go

@@ -21,3 +21,36 @@ func TestProto1BatchInsert(t *testing.T) {
 	}
 
 }
+
+func TestShouldPrepareFunction(t *testing.T) {
+	var shouldPrepareTests = []struct {
+		Stmt   string
+		Result bool
+	}{
+		{`
+      BEGIN BATCH
+        INSERT INTO users (userID, password)
+        VALUES ('smith', 'secret')
+      APPLY BATCH
+    ;
+      `, true},
+		{`INSERT INTO users (userID, password, name) VALUES ('user2', 'ch@ngem3b', 'second user')`, true},
+		{`BEGIN COUNTER BATCH UPDATE stats SET views = views + 1 WHERE pageid = 1 APPLY BATCH`, true},
+		{`delete name from users where userID = 'smith';`, true},
+		{`  UPDATE users SET password = 'secret' WHERE userID = 'smith'   `, true},
+		{`CREATE TABLE users (
+        user_name varchar PRIMARY KEY,
+        password varchar,
+        gender varchar,
+        session_token varchar,
+        state varchar,
+        birth_year bigint
+      );`, false},
+	}
+
+	for _, test := range shouldPrepareTests {
+		if got := shouldPrepare(test.Stmt); got != test.Result {
+			t.Fatalf("%q: got %v, expected %v\n", test.Stmt, got, test.Result)
+		}
+	}
+}