memgraph/tests/drivers/go/v5/write_routing.go
2024-03-21 06:41:26 +00:00

52 lines
1.3 KiB
Go

package main
import (
"fmt"
"github.com/neo4j/neo4j-go-driver/v5/neo4j"
)
func create_message(uri string) {
username := ""
password := ""
// Connect to Memgraph
driver, err := neo4j.NewDriver(uri, neo4j.BasicAuth(username, password, ""))
if err != nil {
panic(err)
}
defer driver.Close()
session := driver.NewSession(neo4j.SessionConfig{AccessMode: neo4j.AccessModeWrite})
defer session.Close()
greeting, err := session.WriteTransaction(func(transaction neo4j.Transaction) (interface{}, error) {
result, err := transaction.Run("CREATE (n:Greeting) SET n.message = $message RETURN n.message", map[string]interface{}{
"message": "Hello, World!",
})
if err != nil {
return nil, err
}
if result.Next() {
return result.Record().Values[0], nil
}
return nil, result.Err()
})
if err != nil {
panic(err)
}
fmt.Println(greeting)
}
// Test checks that you can use bolt+routing for connecting to main and coordinators for writing.
func main() {
fmt.Println("Started running main_route.go test")
create_message("neo4j://localhost:7690") // coordinator_1
create_message("neo4j://localhost:7691") // coordinator_2
create_message("neo4j://localhost:7692") // coordinator_3
fmt.Println("Successfully finished running main_route.go test")
}