Datastore validator (#565)

* add datastore validator; adapt mock and tests

* adapt bolt datastore to common validator

* adapt postgres datastore to validator

* adapt redis datastore to common validator
This commit is contained in:
Jordan Krage
2017-03-02 16:43:53 -06:00
committed by Travis Reeder
parent 5803886a06
commit 06171800e2
11 changed files with 306 additions and 325 deletions

View File

@@ -30,11 +30,11 @@ func TestRouteRunnerGet(t *testing.T) {
rnr, cancel := testRunner(t)
defer cancel()
srv := testServer(&datastore.Mock{
Apps: []*models.App{
srv := testServer(datastore.NewMockInit(
[]*models.App{
{Name: "myapp", Config: models.Config{}},
},
}, &mqs.Mock{}, rnr, tasks)
}, nil,
), &mqs.Mock{}, rnr, tasks)
for i, test := range []struct {
path string
@@ -73,11 +73,11 @@ func TestRouteRunnerPost(t *testing.T) {
rnr, cancel := testRunner(t)
defer cancel()
srv := testServer(&datastore.Mock{
Apps: []*models.App{
srv := testServer(datastore.NewMockInit(
[]*models.App{
{Name: "myapp", Config: models.Config{}},
},
}, &mqs.Mock{}, rnr, tasks)
}, nil,
), &mqs.Mock{}, rnr, tasks)
for i, test := range []struct {
path string
@@ -123,15 +123,15 @@ func TestRouteRunnerExecution(t *testing.T) {
go runner.StartWorkers(ctx, rnr, tasks)
srv := testServer(&datastore.Mock{
Apps: []*models.App{
srv := testServer(datastore.NewMockInit(
[]*models.App{
{Name: "myapp", Config: models.Config{}},
},
Routes: []*models.Route{
[]*models.Route{
{Path: "/myroute", AppName: "myapp", Image: "iron/hello", Headers: map[string][]string{"X-Function": {"Test"}}},
{Path: "/myerror", AppName: "myapp", Image: "iron/error", Headers: map[string][]string{"X-Function": {"Test"}}},
},
}, &mqs.Mock{}, rnr, tasks)
), &mqs.Mock{}, rnr, tasks)
for i, test := range []struct {
path string
@@ -181,14 +181,14 @@ func TestRouteRunnerTimeout(t *testing.T) {
defer cancelrnr()
go runner.StartWorkers(ctx, rnr, tasks)
srv := testServer(&datastore.Mock{
Apps: []*models.App{
srv := testServer(datastore.NewMockInit(
[]*models.App{
{Name: "myapp", Config: models.Config{}},
},
Routes: []*models.Route{
[]*models.Route{
{Path: "/sleeper", AppName: "myapp", Image: "iron/sleeper", Timeout: 1},
},
}, &mqs.Mock{}, rnr, tasks)
), &mqs.Mock{}, rnr, tasks)
for i, test := range []struct {
path string