From 1f0f9c7a4612750489904a5f9a99fe3a048d0141 Mon Sep 17 00:00:00 2001 From: Denis Makogon Date: Thu, 17 Aug 2017 10:36:05 +0300 Subject: [PATCH] Addressing comments --- api/server/routes_create_update.go | 27 ++++++++++----------------- test/fn-api-tests/apps_api.go | 9 ++++----- test/fn-api-tests/routes_api.go | 12 +++++------- test/fn-api-tests/utils.go | 5 +++-- 4 files changed, 22 insertions(+), 31 deletions(-) diff --git a/api/server/routes_create_update.go b/api/server/routes_create_update.go index 3da8c674f..6f5899539 100644 --- a/api/server/routes_create_update.go +++ b/api/server/routes_create_update.go @@ -11,8 +11,6 @@ import ( "github.com/gin-gonic/gin" ) -var bad routeResponse - /* handleRouteCreateOrUpdate is used to handle POST PUT and PATCH for routes. Post will only create route if its not there and create app if its not. create only @@ -79,43 +77,38 @@ func (s *Server) changeRoute(ctx context.Context, wroute *models.RouteWrapper) e // ensureApp will only execute if it is on put func (s *Server) ensureRoute(ctx context.Context, method string, wroute *models.RouteWrapper) (routeResponse, error) { - resp := routeResponse{"Route successfully created", nil} - up := routeResponse{"Route successfully updated", nil} + bad := new(routeResponse) switch method { case http.MethodPost: err := s.submitRoute(ctx, wroute) if err != nil { - return bad, err + return *bad, err } - resp.Route = wroute.Route - return resp, nil + return routeResponse{"Route successfully created", wroute.Route}, nil case http.MethodPut: _, err := s.Datastore.GetRoute(ctx, wroute.Route.AppName, wroute.Route.Path) if err != nil && err == models.ErrRoutesNotFound { err := s.submitRoute(ctx, wroute) if err != nil { - return bad, err + return *bad, err } - resp.Route = wroute.Route - return resp, nil + return routeResponse{"Route successfully created", wroute.Route}, nil } else { err := s.changeRoute(ctx, wroute) if err != nil { - return bad, err + return *bad, err } - up.Route = wroute.Route - return up, nil + return routeResponse{"Route successfully updated", wroute.Route}, nil } case http.MethodPatch: err := s.changeRoute(ctx, wroute) if err != nil { - return bad, err + return *bad, err } - up.Route = wroute.Route - return up, nil + return routeResponse{"Route successfully updated", wroute.Route}, nil } - return bad, nil + return *bad, nil } // ensureApp will only execute if it is on post or put. Patch is not allowed to create apps. diff --git a/test/fn-api-tests/apps_api.go b/test/fn-api-tests/apps_api.go index 1b82f7a3f..bf927c891 100644 --- a/test/fn-api-tests/apps_api.go +++ b/test/fn-api-tests/apps_api.go @@ -4,7 +4,6 @@ import ( "context" "strings" "testing" - "time" "github.com/funcy/functions_go/client" "github.com/funcy/functions_go/client/apps" @@ -59,7 +58,7 @@ func CreateAppNoAssert(ctx context.Context, fnclient *client.Functions, appName }, Context: ctx, } - cfg.WithTimeout(time.Second * 60) + return fnclient.Apps.PostApps(cfg) } @@ -84,7 +83,7 @@ func CreateUpdateApp(t *testing.T, ctx context.Context, fnclient *client.Functio }, Context: ctx, } - cfg.WithTimeout(time.Second * 60) + appPayload, err := fnclient.Apps.PatchAppsApp(cfg) CheckAppResponseError(t, err) return appPayload @@ -95,7 +94,7 @@ func DeleteApp(t *testing.T, ctx context.Context, fnclient *client.Functions, ap App: appName, Context: ctx, } - cfg.WithTimeout(time.Second * 60) + _, err := fnclient.Apps.DeleteAppsApp(cfg) CheckAppResponseError(t, err) } @@ -105,7 +104,7 @@ func GetApp(t *testing.T, ctx context.Context, fnclient *client.Functions, appNa App: appName, Context: ctx, } - cfg.WithTimeout(time.Second * 60) + app, err := fnclient.Apps.GetAppsApp(cfg) CheckAppResponseError(t, err) return app.Payload.App diff --git a/test/fn-api-tests/routes_api.go b/test/fn-api-tests/routes_api.go index 4bc16d856..9a99666b4 100644 --- a/test/fn-api-tests/routes_api.go +++ b/test/fn-api-tests/routes_api.go @@ -3,7 +3,6 @@ package tests import ( "context" "testing" - "time" "github.com/funcy/functions_go/client" "github.com/funcy/functions_go/client/routes" @@ -112,7 +111,7 @@ func createRoute(ctx context.Context, fnclient *client.Functions, appName, image }, Context: ctx, } - cfg.WithTimeout(time.Second * 60) + return fnclient.Routes.PostAppsAppRoutes(cfg) } @@ -130,7 +129,7 @@ func deleteRoute(ctx context.Context, fnclient *client.Functions, appName, route Route: routePath, Context: ctx, } - cfg.WithTimeout(time.Second * 60) + return fnclient.Routes.DeleteAppsAppRoutesRoute(cfg) } @@ -144,7 +143,7 @@ func ListRoutes(t *testing.T, ctx context.Context, fnclient *client.Functions, a App: appName, Context: ctx, } - cfg.WithTimeout(time.Second * 60) + routesResponse, err := fnclient.Routes.GetAppsAppRoutes(cfg) CheckRouteResponseError(t, err) return routesResponse.Payload.Routes @@ -156,7 +155,7 @@ func GetRoute(t *testing.T, ctx context.Context, fnclient *client.Functions, app Route: routePath, Context: ctx, } - cfg.WithTimeout(time.Second * 60) + routeResponse, err := fnclient.Routes.GetAppsAppRoutesRoute(cfg) CheckRouteResponseError(t, err) return routeResponse.Payload.Route @@ -217,7 +216,6 @@ func UpdateRoute(t *testing.T, ctx context.Context, fnclient *client.Functions, }, Route: routePath, } - cfg.WithTimeout(time.Second * 60) return fnclient.Routes.PatchAppsAppRoutesRoute(cfg) } @@ -247,7 +245,7 @@ func DeployRoute(t *testing.T, ctx context.Context, fnclient *client.Functions, }, }, } - cfg.WithTimeout(time.Second * 60) + route, err := fnclient.Routes.PutAppsAppRoutesRoute(cfg) CheckRouteResponseError(t, err) return route.Payload.Route diff --git a/test/fn-api-tests/utils.go b/test/fn-api-tests/utils.go index b8a4de063..2b9da4276 100644 --- a/test/fn-api-tests/utils.go +++ b/test/fn-api-tests/utils.go @@ -118,8 +118,9 @@ func RandStringBytes(n int) string { } func SetupDefaultSuite() *SuiteSetup { + ctx, cancel := context.WithTimeout(context.Background(), 60*time.Second) ss := &SuiteSetup{ - Context: context.Background(), + Context: ctx, Client: APIClient(), AppName: RandStringBytes(10), RoutePath: "/" + RandStringBytes(10), @@ -128,7 +129,7 @@ func SetupDefaultSuite() *SuiteSetup { RouteType: "async", RouteConfig: map[string]string{}, RouteHeaders: map[string][]string{}, - Cancel: func() {}, + Cancel: cancel, } _, ok := ss.Client.Version.GetVersion(nil)