Explorar o código

Added test to ensure library can properly decode error response from cassandra

Nimi Wariboko Jr %!s(int64=11) %!d(string=hai) anos
pai
achega
0e247a0f39
Modificáronse 1 ficheiros con 27 adicións e 0 borrados
  1. 27 0
      errors_test.go

+ 27 - 0
errors_test.go

@@ -0,0 +1,27 @@
+package gocql
+
+import (
+	"testing"
+)
+
+func TestErrorsParse(t *testing.T) {
+	session := createSession(t)
+	defer session.Close()
+
+	if err := session.Query(`CREATE TABLE errors_parse (id int primary key)`).Exec(); err != nil {
+		t.Fatal("create:", err)
+	}
+
+	if err := session.Query(`CREATE TABLE errors_parse (id int primary key)`).Exec(); err == nil {
+		t.Fatal("Should have gotten already exists error from cassandra server.")
+	} else {
+		switch e := err.(type) {
+		case errRespAlreadyExists:
+			if e.Table != "errors_parse" {
+				t.Fatal("Failed to parse error response from cassandra for ErrAlreadyExists.")
+			}
+		default:
+			t.Fatal("Failed to parse error response from cassandra for ErrAlreadyExists.")
+		}
+	}
+}