Compare commits
1 Commits
MG_auth_re
...
add-driver
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
91fa2ae4f6 |
89
tests/drivers/go/v5/docs_quick_start.go
Normal file
89
tests/drivers/go/v5/docs_quick_start.go
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"log"
|
||||||
|
"fmt"
|
||||||
|
"github.com/neo4j/neo4j-go-driver/v5/neo4j"
|
||||||
|
)
|
||||||
|
|
||||||
|
func handle_if_error(err error) {
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("Error occured: %s", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
dbUri := "bolt://localhost:7687"
|
||||||
|
driver, err := neo4j.NewDriver(dbUri, neo4j.BasicAuth("", "", ""))
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("An error occurred opening conn: %s", err)
|
||||||
|
}
|
||||||
|
defer driver.Close()
|
||||||
|
|
||||||
|
session := driver.NewSession(neo4j.SessionConfig{})
|
||||||
|
defer session.Close()
|
||||||
|
|
||||||
|
_, err = session.WriteTransaction(clearDatabase)
|
||||||
|
handle_if_error(err)
|
||||||
|
fmt.Println("Database cleared.")
|
||||||
|
|
||||||
|
_, err = session.WriteTransaction(createItemFn)
|
||||||
|
handle_if_error(err)
|
||||||
|
fmt.Println("Record created.")
|
||||||
|
|
||||||
|
_,err = session.WriteTransaction(testAll)
|
||||||
|
handle_if_error(err)
|
||||||
|
fmt.Println("All ok!")
|
||||||
|
}
|
||||||
|
|
||||||
|
func clearDatabase(tx neo4j.Transaction) (interface{}, error) {
|
||||||
|
result, err := tx.Run(
|
||||||
|
"MATCH (n) DETACH DELETE n;",
|
||||||
|
map[string]interface{}{})
|
||||||
|
handle_if_error(err)
|
||||||
|
return result.Consume()
|
||||||
|
}
|
||||||
|
|
||||||
|
func createItemFn(tx neo4j.Transaction) (interface{}, error) {
|
||||||
|
result, err := tx.Run(
|
||||||
|
`CREATE (alice:Person {name: "Alice", age: 22});`,
|
||||||
|
map[string]interface{}{})
|
||||||
|
handle_if_error(err)
|
||||||
|
return result.Consume()
|
||||||
|
}
|
||||||
|
|
||||||
|
func testAll(tx neo4j.Transaction) (interface{}, error) {
|
||||||
|
result, err := tx.Run(
|
||||||
|
"MATCH (n) RETURN n;",
|
||||||
|
map[string]interface{}{})
|
||||||
|
handle_if_error(err)
|
||||||
|
|
||||||
|
if !result.Next() {
|
||||||
|
log.Fatal("Missing result.")
|
||||||
|
}
|
||||||
|
|
||||||
|
node_record, found := result.Record().Get("n")
|
||||||
|
if !found {
|
||||||
|
return nil, fmt.Errorf("Wrong result returned.")
|
||||||
|
}
|
||||||
|
|
||||||
|
node_value := node_record.(neo4j.Node)
|
||||||
|
fmt.Println("Record matched.")
|
||||||
|
|
||||||
|
label := node_value.Labels[0]
|
||||||
|
name, err := neo4j.GetProperty[string](node_value, "name")
|
||||||
|
handle_if_error(err)
|
||||||
|
age, err := neo4j.GetProperty[int64](node_value, "age")
|
||||||
|
handle_if_error(err)
|
||||||
|
|
||||||
|
if label != "Person" && name != "Alice" && age != 22 {
|
||||||
|
return nil, fmt.Errorf("Data doesn't match.")
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Println("Label", label)
|
||||||
|
fmt.Println("name", name)
|
||||||
|
fmt.Println("age", age)
|
||||||
|
|
||||||
|
return result.Consume()
|
||||||
|
}
|
||||||
|
|
||||||
5
tests/drivers/go/v5/go.mod
Normal file
5
tests/drivers/go/v5/go.mod
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
module bolt-test
|
||||||
|
|
||||||
|
go 1.18
|
||||||
|
|
||||||
|
require github.com/neo4j/neo4j-go-driver/v5 v5.6.0 // indirect
|
||||||
4
tests/drivers/go/v5/go.sum
Normal file
4
tests/drivers/go/v5/go.sum
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
github.com/neo4j/neo4j-go-driver/v5 v5.5.0 h1:KxufacDV+IqkzbzvjIAIGkBsa2i0lEB8/MhCgOQxrQo=
|
||||||
|
github.com/neo4j/neo4j-go-driver/v5 v5.5.0/go.mod h1:Vff8OwT7QpLm7L2yYr85XNWe9Rbqlbeb9asNXJTHO4k=
|
||||||
|
github.com/neo4j/neo4j-go-driver/v5 v5.6.0 h1:+LxOHCyDWGjtD8qHhb20GUpvwCFcJm1wqSEyo2MiehE=
|
||||||
|
github.com/neo4j/neo4j-go-driver/v5 v5.6.0/go.mod h1:Vff8OwT7QpLm7L2yYr85XNWe9Rbqlbeb9asNXJTHO4k=
|
||||||
13
tests/drivers/go/v5/run.sh
Executable file
13
tests/drivers/go/v5/run.sh
Executable file
@@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
# check if go is installed
|
||||||
|
for i in go; do
|
||||||
|
if ! which $i >/dev/null; then
|
||||||
|
echo "Please install $i!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
go get github.com/neo4j/neo4j-go-driver/v5
|
||||||
|
|
||||||
|
go run docs_quick_start.go
|
||||||
Reference in New Issue
Block a user