Forráskód Böngészése

Merge pull request #558 from Zariel/issue-557

Check that nested types unmarshal correctly
Chris Bannister 10 éve
szülő
commit
57edf1e37c
1 módosított fájl, 36 hozzáadás és 0 törlés
  1. 36 0
      cassandra_test.go

+ 36 - 0
cassandra_test.go

@@ -2418,3 +2418,39 @@ close:
 	}
 	mu.Unlock()
 }
+
+func TestUnmarshallNestedTypes(t *testing.T) {
+	if *flagProto < protoVersion3 {
+		t.Skip("can not have frozen types in cassandra < 2.1.3")
+	}
+	session := createSession(t)
+	defer session.Close()
+
+	if err := createTable(session, `CREATE TABLE gocql_test.test_557 (
+		    id text PRIMARY KEY,
+		    val list<frozen<map<text, text> > >
+		)`); err != nil {
+
+		t.Fatal(err)
+	}
+
+	m := []map[string]string{
+		{"key1": "val1"},
+		{"key2": "val2"},
+	}
+
+	const id = "key"
+	err := session.Query("INSERT INTO test_557(id, val) VALUES(?, ?)", id, m).Exec()
+	if err != nil {
+		t.Fatal(err)
+	}
+
+	var data []map[string]string
+	if err := session.Query("SELECT val FROM test_557 WHERE id = ?", id).Scan(&data); err != nil {
+		t.Fatal(err)
+	}
+
+	if !reflect.DeepEqual(data, m) {
+		t.Fatalf("%+#v != %+#v", data, m)
+	}
+}