aboutsummaryrefslogtreecommitdiff
path: root/tests/functional/json.go
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2024-10-18 17:54:26 -0300
committerEuAndreh <eu@euandre.org>2024-10-20 03:36:18 -0300
commitf00c41fd4e6af8cd0db80c118a3bb4abef09604e (patch)
tree46ad14d55cfe591691cf214076e8aea81edbfe18 /tests/functional/json.go
parent.gitignore: Remove .so (diff)
downloadgolite-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.go96
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))
- }
-}