diff --git a/.travis.yml b/.travis.yml index 76f0bb5..b4217f3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -27,6 +27,8 @@ install: - cd $GOPATH/src/gopkg.in/istreamdata/orientgo.v2 - docker pull dennwc/orientdb:${ORIENT_VERS} - go get golang.org/x/tools/cmd/vet + - go github.com/istreamdata/orientgo/obinary + # - go get golang.org/x/tools/cmd/cover # - go get github.com/golang/lint/golint - go get -t -v ./... diff --git a/README.md b/README.md index b4867f3..f02eeae 100644 --- a/README.md +++ b/README.md @@ -65,6 +65,56 @@ You are welcome to initiate pull request and suggest a more user-friendly API. W 3) `go test -v ./...` +## Examples + +### Dial + +```go +// Dial example +func main() { + defaultDbAddr := "127.0.0.1:2424" + testDbName := "test_db_example" + testDbUser := "root" + testDbPass := "root" + + client, err := orient.Dial(defaultDbAddr) + if err != nil { + HandleError(err) + } + + admin, err := client.Auth(testDbUser, testDbPass) + if err != nil { + HandleError(err) + } + + // There are 2 options + // 1. orient.Persistent - represents on-disk database + // 2. orient.Volatile - represents in-memory database + ok, err := admin.DatabaseExists(testDbName, orient.Persistent) + if err != nil { + HandleError(err) + } + + // If database does not exist let's create it + if !ok { + // There are 2 options + // 1. orient.GraphDB - graph database + // 2. orient.DocumentDB - document database + err = admin.CreateDatabase(testDbName, orient.GraphDB, orient.Persistent) + if err != nil { + HandleError(err) + } + } + + // Open wanted database & operate further + database, err := client.Open(testDbName, orient.GraphDB, testDbUser, testDbPass) + if err != nil { + HandleError(err) + } + defer database.Close() +} +``` + ## LICENSE The MIT License diff --git a/dial_test.go b/dial_test.go new file mode 100644 index 0000000..10cb207 --- /dev/null +++ b/dial_test.go @@ -0,0 +1,46 @@ +package test + +import ( + "testing" + + _ "gopkg.in/istreamdata/orientgo.v2/obinary" +) + +// Dial example +func TestDial(t *testing.T) { + client, err := orient.Dial("127.0.0.1:2424") + if err != nil { + t.Fatal(err) + } + + admin, err := client.Auth(dbUser, dbPass) + if err != nil { + t.Fatal(err) + } + + // There are 2 options + // 1. orient.Persistent - represents on-disk database + // 2. orient.Volatile - represents in-memory database + ok, err := admin.DatabaseExists(dbName, orient.Persistent) + if err != nil { + t.Fatal(err) + } + + // If database does not exist let's create it + if !ok { + // There are 2 options + // 1. orient.GraphDB - graph database + // 2. orient.DocumentDB - document database + err = admin.CreateDatabase(dbName, orient.GraphDB, orient.Persistent) + if err != nil { + t.Fatal(err) + } + } + + // Open wanted database & operate further + database, err := client.Open(dbName, orient.GraphDB, dbUser, dbPass) + if err != nil { + t.Fatal(err) + } + defer database.Close() +}