added ctx to datastore and improve mock (#329)

Added ctx to datastore and improved mock
This commit is contained in:
Pedro Nasser
2016-11-22 03:33:44 -02:00
committed by GitHub
parent 5e61d2b055
commit c14bc323f9
23 changed files with 292 additions and 229 deletions

View File

@@ -2,6 +2,7 @@ package datastore
import (
"bytes"
"context"
"log"
"os"
"testing"
@@ -26,6 +27,8 @@ const tmpBolt = "/tmp/func_test_bolt.db"
func TestBolt(t *testing.T) {
buf := setLogBuffer()
ctx := context.Background()
os.Remove(tmpBolt)
ds, err := New("bolt://" + tmpBolt)
if err != nil {
@@ -43,31 +46,31 @@ func TestBolt(t *testing.T) {
}
// Testing insert app
_, err = ds.InsertApp(nil)
_, err = ds.InsertApp(ctx, nil)
if err != models.ErrDatastoreEmptyApp {
t.Log(buf.String())
t.Fatalf("Test InsertApp(nil): expected error `%v`, but it was `%v`", models.ErrDatastoreEmptyApp, err)
}
_, err = ds.InsertApp(&models.App{})
_, err = ds.InsertApp(ctx, &models.App{})
if err != models.ErrDatastoreEmptyAppName {
t.Log(buf.String())
t.Fatalf("Test InsertApp(nil): expected error `%v`, but it was `%v`", models.ErrDatastoreEmptyAppName, err)
}
_, err = ds.InsertApp(testApp)
_, err = ds.InsertApp(ctx, testApp)
if err != nil {
t.Log(buf.String())
t.Fatalf("Test InsertApp: error when Bolt was storing new app: %s", err)
}
_, err = ds.InsertApp(testApp)
_, err = ds.InsertApp(ctx, testApp)
if err != models.ErrAppsAlreadyExists {
t.Log(buf.String())
t.Fatalf("Test InsertApp duplicated: expected error `%v`, but it was `%v`", models.ErrAppsAlreadyExists, err)
}
_, err = ds.UpdateApp(&models.App{
_, err = ds.UpdateApp(ctx, &models.App{
Name: testApp.Name,
Config: map[string]string{
"TEST": "1",
@@ -79,13 +82,13 @@ func TestBolt(t *testing.T) {
}
// Testing get app
_, err = ds.GetApp("")
_, err = ds.GetApp(ctx, "")
if err != models.ErrDatastoreEmptyAppName {
t.Log(buf.String())
t.Fatalf("Test GetApp: expected error to be %v, but it was %s", models.ErrDatastoreEmptyAppName, err)
}
app, err := ds.GetApp(testApp.Name)
app, err := ds.GetApp(ctx, testApp.Name)
if err != nil {
t.Log(buf.String())
t.Fatalf("Test GetApp: error: %s", err)
@@ -96,7 +99,7 @@ func TestBolt(t *testing.T) {
}
// Testing list apps
apps, err := ds.GetApps(&models.AppFilter{})
apps, err := ds.GetApps(ctx, &models.AppFilter{})
if err != nil {
t.Log(buf.String())
t.Fatalf("Test GetApps: unexpected error %v", err)
@@ -110,18 +113,18 @@ func TestBolt(t *testing.T) {
}
// Testing app delete
err = ds.RemoveApp("")
err = ds.RemoveApp(ctx, "")
if err != models.ErrDatastoreEmptyAppName {
t.Log(buf.String())
t.Fatalf("Test RemoveApp: expected error `%v`, but it was `%v`", models.ErrDatastoreEmptyAppName, err)
}
err = ds.RemoveApp(testApp.Name)
err = ds.RemoveApp(ctx, testApp.Name)
if err != nil {
t.Log(buf.String())
t.Fatalf("Test RemoveApp: error: %s", err)
}
app, err = ds.GetApp(testApp.Name)
app, err = ds.GetApp(ctx, testApp.Name)
if err != nil {
t.Log(buf.String())
t.Fatalf("Test GetApp: error: %s", err)
@@ -132,7 +135,7 @@ func TestBolt(t *testing.T) {
}
// Test update inexistent app
_, err = ds.UpdateApp(&models.App{
_, err = ds.UpdateApp(ctx, &models.App{
Name: testApp.Name,
Config: map[string]string{
"TEST": "1",
@@ -144,47 +147,47 @@ func TestBolt(t *testing.T) {
}
// Insert app again to test routes
ds.InsertApp(testApp)
ds.InsertApp(ctx, testApp)
// Testing insert route
_, err = ds.InsertRoute(nil)
_, err = ds.InsertRoute(ctx, nil)
if err == models.ErrDatastoreEmptyRoute {
t.Log(buf.String())
t.Fatalf("Test InsertRoute(nil): expected error `%v`, but it was `%v`", models.ErrDatastoreEmptyRoute, err)
}
_, err = ds.InsertRoute(testRoute)
_, err = ds.InsertRoute(ctx, testRoute)
if err != nil {
t.Log(buf.String())
t.Fatalf("Test InsertRoute: error when Bolt was storing new route: %s", err)
}
_, err = ds.InsertRoute(testRoute)
_, err = ds.InsertRoute(ctx, testRoute)
if err != models.ErrRoutesAlreadyExists {
t.Log(buf.String())
t.Fatalf("Test InsertRoute duplicated: expected error to be `%v`, but it was `%v`", models.ErrRoutesAlreadyExists, err)
}
_, err = ds.UpdateRoute(testRoute)
_, err = ds.UpdateRoute(ctx, testRoute)
if err != nil {
t.Log(buf.String())
t.Fatalf("Test UpdateRoute: unexpected error: %v", err)
}
// Testing get
_, err = ds.GetRoute("a", "")
_, err = ds.GetRoute(ctx, "a", "")
if err != models.ErrDatastoreEmptyRoutePath {
t.Log(buf.String())
t.Fatalf("Test GetRoute(empty route path): expected error `%v`, but it was `%v`", models.ErrDatastoreEmptyRoutePath, err)
}
_, err = ds.GetRoute("", "a")
_, err = ds.GetRoute(ctx, "", "a")
if err != models.ErrDatastoreEmptyAppName {
t.Log(buf.String())
t.Fatalf("Test GetRoute(empty app name): expected error `%v`, but it was `%v`", models.ErrDatastoreEmptyAppName, err)
}
route, err := ds.GetRoute(testApp.Name, testRoute.Path)
route, err := ds.GetRoute(ctx, testApp.Name, testRoute.Path)
if err != nil {
t.Log(buf.String())
t.Fatalf("Test GetRoute: unexpected error %v", err)
@@ -195,7 +198,7 @@ func TestBolt(t *testing.T) {
}
// Testing list routes
routes, err := ds.GetRoutesByApp(testApp.Name, &models.RouteFilter{})
routes, err := ds.GetRoutesByApp(ctx, testApp.Name, &models.RouteFilter{})
if err != nil {
t.Log(buf.String())
t.Fatalf("Test GetRoutes: unexpected error %v", err)
@@ -209,7 +212,7 @@ func TestBolt(t *testing.T) {
}
// Testing list routes
routes, err = ds.GetRoutes(&models.RouteFilter{Image: testRoute.Image})
routes, err = ds.GetRoutes(ctx, &models.RouteFilter{Image: testRoute.Image})
if err != nil {
t.Log(buf.String())
t.Fatalf("Test GetRoutes: error: %s", err)
@@ -223,25 +226,25 @@ func TestBolt(t *testing.T) {
}
// Testing app delete
err = ds.RemoveRoute("", "")
err = ds.RemoveRoute(ctx, "", "")
if err != models.ErrDatastoreEmptyAppName {
t.Log(buf.String())
t.Fatalf("Test RemoveRoute(empty app name): expected error `%v`, but it was `%v`", models.ErrDatastoreEmptyAppName, err)
}
err = ds.RemoveRoute("a", "")
err = ds.RemoveRoute(ctx, "a", "")
if err != models.ErrDatastoreEmptyRoutePath {
t.Log(buf.String())
t.Fatalf("Test RemoveRoute(empty route path): expected error `%v`, but it was `%v`", models.ErrDatastoreEmptyRoutePath, err)
}
err = ds.RemoveRoute(testRoute.AppName, testRoute.Path)
err = ds.RemoveRoute(ctx, testRoute.AppName, testRoute.Path)
if err != nil {
t.Log(buf.String())
t.Fatalf("Test RemoveApp: unexpected error: %v", err)
}
_, err = ds.UpdateRoute(&models.Route{
_, err = ds.UpdateRoute(ctx, &models.Route{
AppName: testRoute.AppName,
Path: testRoute.Path,
Image: "test",
@@ -251,7 +254,7 @@ func TestBolt(t *testing.T) {
t.Fatalf("Test UpdateRoute inexistent: expected error to be `%v`, but it was `%v`", models.ErrRoutesNotFound, err)
}
route, err = ds.GetRoute(testRoute.AppName, testRoute.Path)
route, err = ds.GetRoute(ctx, testRoute.AppName, testRoute.Path)
if err != nil {
t.Log(buf.String())
t.Fatalf("Test GetRoute: error: %s", err)