(t *testing.T)
| 93 | } |
| 94 | |
| 95 | func TestLive_InsertReadAfterWrite(t *testing.T) { |
| 96 | s := liveSession(t) |
| 97 | defer s.Close() |
| 98 | setupLiveSchema(t, s) |
| 99 | |
| 100 | db := sql.OpenDB(NewConnector(s, "gjtest")) |
| 101 | defer db.Close() |
| 102 | |
| 103 | dsl := `{"operation":"insert","mutation":{ |
| 104 | "type":"insert","keyspace":"gjtest","table":"users","partition_keys":["id"], |
| 105 | "column_types":{"id":"text","name":"text"}, |
| 106 | "set":[{"col":"id","param":"$1"},{"col":"name","param":"$2"}], |
| 107 | "returning":{"keyspace":"gjtest","table":"users","columns":["id","name"], |
| 108 | "partition_keys":["id"],"field_name":"user","singular":true, |
| 109 | "filters":[{"col":"id","op":"eq","param":"$1"}]}}}` |
| 110 | |
| 111 | var raw []byte |
| 112 | row := db.QueryRowContext(context.Background(), dsl, "u2", "neha") |
| 113 | if err := row.Scan(&raw); err != nil { |
| 114 | t.Fatalf("insert query: %v", err) |
| 115 | } |
| 116 | var res struct { |
| 117 | User struct { |
| 118 | Name string `json:"name"` |
| 119 | } `json:"user"` |
| 120 | } |
| 121 | if err := json.Unmarshal(raw, &res); err != nil { |
| 122 | t.Fatalf("unmarshal %s: %v", raw, err) |
| 123 | } |
| 124 | if res.User.Name != "neha" { |
| 125 | t.Fatalf("read-after-write wrong: %s", raw) |
| 126 | } |
| 127 | } |
| 128 | |
| 129 | func TestLive_Introspect(t *testing.T) { |
| 130 | s := liveSession(t) |
nothing calls this directly
no test coverage detected