VOL-1027 : Initial commit of voltha 2.0 data model
Change-Id: Ib8006de1af2166281ccf1c9d7c2b9156991bf4e4
diff --git a/db/model/backend_test.go b/db/model/backend_test.go
new file mode 100644
index 0000000..f51351c
--- /dev/null
+++ b/db/model/backend_test.go
@@ -0,0 +1,114 @@
+package model
+
+import (
+ "encoding/json"
+ "fmt"
+ "testing"
+)
+
+const (
+ ETCD_KV = "etcd"
+ CONSUL_KV = "consul"
+ INVALID_KV = "invalid"
+
+ etcd_host = "10.104.149.247"
+ etcd_port = 2379
+
+ /*
+ To debug locally with the remote ETCD container
+
+ ssh -f -N vagrant@10.100.198.220 -L 22379:10.104.149.247:2379
+ */
+ //etcd_host = "localhost"
+ //etcd_port = 22379
+ consul_host = "k8s-consul"
+ consul_port = 30080
+ timeout = 5
+ prefix = "backend/test"
+ key = "stephane/1"
+ value = "barbarie"
+)
+
+var (
+ etcd_backend *Backend
+ consul_backend *Backend
+)
+
+func Test_Etcd_Backend_New(t *testing.T) {
+ etcd_backend = NewBackend(ETCD_KV, etcd_host, etcd_port, timeout, prefix)
+}
+
+func Test_Etcd_Backend_Put(t *testing.T) {
+ etcd_backend.Put(key, value)
+
+}
+
+func Test_Etcd_Backend_Get(t *testing.T) {
+ if pair, err := etcd_backend.Client.Get("service/voltha/data/core/0001/root", timeout); err != nil {
+ t.Errorf("backend get failed - %s", err.Error())
+ } else {
+ j, _ := json.Marshal(pair)
+ t.Logf("pair: %s", string(j))
+ }
+}
+
+func Test_Etcd_Backend_GetRoot(t *testing.T) {
+ if pair, err := etcd_backend.Get(key); err != nil {
+ t.Errorf("backend get failed - %s", err.Error())
+ } else {
+ j, _ := json.Marshal(pair)
+ t.Logf("pair: %s", string(j))
+ if pair.Key != (prefix + "/" + key) {
+ t.Errorf("backend key differs - key: %s, expected: %s", pair.Key, key)
+ }
+
+ s := fmt.Sprintf("%s", pair.Value)
+ if s != value {
+ t.Errorf("backend value differs - value: %s, expected:%s", pair.Value, value)
+ }
+ }
+}
+
+func Test_Etcd_Backend_Delete(t *testing.T) {
+ if err := etcd_backend.Delete(key); err != nil {
+ t.Errorf("backend delete failed - %s", err.Error())
+ }
+ //if _, err := backend.Client.Get(key, Timeout); err == nil {
+ // t.Errorf("backend delete failed - %s", err.Error())
+ //}
+}
+
+func Test_Consul_Backend_New(t *testing.T) {
+ consul_backend = NewBackend(CONSUL_KV, consul_host, consul_port, timeout, prefix)
+}
+
+func Test_Consul_Backend_Put(t *testing.T) {
+ consul_backend.Put(key, value)
+
+}
+
+func Test_Consul_Backend_Get(t *testing.T) {
+ if pair, err := consul_backend.Get(key); err != nil {
+ t.Errorf("backend get failed - %s", err.Error())
+ } else {
+ j, _ := json.Marshal(pair)
+ t.Logf("pair: %s", string(j))
+ if pair.Key != (prefix + "/" + key) {
+ t.Errorf("backend key differs - key: %s, expected: %s", pair.Key, key)
+ }
+
+ v := fmt.Sprintf("%s", pair.Value)
+ if v != value {
+ t.Errorf("backend value differs - value: %s, expected:%s", pair.Value, value)
+ }
+ }
+}
+
+func Test_Consul_Backend_Delete(t *testing.T) {
+ if err := consul_backend.Delete(key); err != nil {
+ t.Errorf("backend delete failed - %s", err.Error())
+ }
+ //if _, err := backend.Client.Get(key, Timeout); err == nil {
+ // t.Errorf("backend delete failed - %s", err.Error())
+ //}
+}