From c8cc65e4c4aa9b7933544cefe0ac47662df9c4b7 Mon Sep 17 00:00:00 2001 From: Martin Geno Date: Thu, 27 Apr 2017 21:30:54 +0200 Subject: [PATCH] [TASK] add tests --- database/socket/database_test.go | 66 ++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 database/socket/database_test.go diff --git a/database/socket/database_test.go b/database/socket/database_test.go new file mode 100644 index 0000000..8af6bb4 --- /dev/null +++ b/database/socket/database_test.go @@ -0,0 +1,66 @@ +package socket + +import ( + "net" + "testing" + "time" + + "github.com/FreifunkBremen/yanic/runtime" + "github.com/stretchr/testify/assert" +) + +func TestStartup(t *testing.T) { + assert := assert.New(t) + + config := make(map[string]interface{}) + + config["enable"] = false + conn, err := Connect(config) + assert.Nil(conn) + + config["enable"] = true + config["type"] = "" + config["address"] = "" + conn, err = Connect(config) + assert.Error(err, "connection should not work") + assert.Nil(conn) + + config["type"] = "unix" + config["address"] = "/tmp/yanic-database.socket" + + conn, err = Connect(config) + assert.NoError(err, "connection should work") + assert.NotNil(conn) + + conn.Close() +} + +func TestClient(t *testing.T) { + assert := assert.New(t) + + config := make(map[string]interface{}) + + config["enable"] = true + config["type"] = "unix" + config["address"] = "/tmp/yanic-database.socket" + + conn, err := Connect(config) + assert.NoError(err, "connection should work") + assert.NotNil(conn) + + client, err := net.Dial("unix", "/tmp/yanic-database.socket") + assert.NoError(err, "connection should work") + assert.NotNil(client) + time.Sleep(1) + + conn.InsertNode(&runtime.Node{}) + conn.InsertGlobals(&runtime.GlobalStats{}, time.Now()) + conn.PruneNodes(time.Duration(3)) + + err = client.Close() + assert.NoError(err, "disconnect should work") + time.Sleep(1) + conn.InsertNode(&runtime.Node{}) + + conn.Close() +}