diff options
author | EuAndreh <eu@euandre.org> | 2024-10-18 17:54:26 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2024-10-20 03:36:18 -0300 |
commit | f00c41fd4e6af8cd0db80c118a3bb4abef09604e (patch) | |
tree | 46ad14d55cfe591691cf214076e8aea81edbfe18 /tests/functional/json.go | |
parent | .gitignore: Remove .so (diff) | |
download | golite-f00c41fd4e6af8cd0db80c118a3bb4abef09604e.tar.gz golite-f00c41fd4e6af8cd0db80c118a3bb4abef09604e.tar.xz |
Shoehorn project into default golang skeleton structure
Diffstat (limited to 'tests/functional/json.go')
-rw-r--r-- | tests/functional/json.go | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/tests/functional/json.go b/tests/functional/json.go deleted file mode 100644 index 352a72c..0000000 --- a/tests/functional/json.go +++ /dev/null @@ -1,96 +0,0 @@ -package main - -import ( - "database/sql" - "database/sql/driver" - "encoding/json" - "errors" - "log" - "os" - - _ "acudego" -) - -type Tag struct { - Name string `json:"name"` - Place string `json:"place"` -} - -func (t *Tag) Scan(value interface{}) error { - return json.Unmarshal([]byte(value.(string)), t) -} - -func (t *Tag) Value() (driver.Value, error) { - b, err := json.Marshal(t) - return string(b), err -} - -func main() { - os.Remove("json.db") - defer os.Remove("json.db") - - db, err := sql.Open("acudego", "json.db") - if err != nil { - log.Fatal(err) - } - defer db.Close() - - _, err = db.Exec(`create table myjsontable (tag jsonb)`) - if err != nil { - log.Fatal(err) - } - - stmt, err := db.Prepare("insert into myjsontable(tag) values(?)") - if err != nil { - log.Fatal(err) - } - defer stmt.Close() - - _, err = stmt.Exec(`{"name": "name1", "place": "right-here"}`) - if err != nil { - log.Fatal(err) - } - - _, err = stmt.Exec(`{"name": "michael", "place": "usa"}`) - if err != nil { - log.Fatal(err) - } - - var place string - err = db.QueryRow("select tag->>'place' from myjsontable where tag->>'name' = 'name1'").Scan(&place) - if err != nil { - log.Fatal(err) - } - - if place != "right-here" { - log.Fatal(errors.New("expected right-here, got: " + place)) - } - - var tag Tag - err = db.QueryRow("select tag from myjsontable where tag->>'name' = 'name1'").Scan(&tag) - if err != nil { - log.Fatal(err) - } - - if tag.Name != "name1" { - log.Fatal(errors.New("expected name1, got: " + tag.Name)) - } - if tag.Place != "right-here" { - log.Fatal(errors.New("expected right-here, got: " + tag.Place)) - } - - tag.Place = "日本" - _, err = db.Exec(`update myjsontable set tag = ? where tag->>'name' == 'name1'`, &tag) - if err != nil { - log.Fatal(err) - } - - err = db.QueryRow("select tag->>'place' from myjsontable where tag->>'name' = 'name1'").Scan(&place) - if err != nil { - log.Fatal(err) - } - - if place != "日本" { - log.Fatal(errors.New("expected 日本, got: " + place)) - } -} |