mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
Merge pull request #44 from pedronasser/fix-tests
Fix gin routers and tests
This commit is contained in:
@@ -23,12 +23,11 @@ func TestRouteCreate(t *testing.T) {
|
|||||||
// errors
|
// errors
|
||||||
{"/v1/apps/a/routes", ``, http.StatusBadRequest, models.ErrInvalidJSON},
|
{"/v1/apps/a/routes", ``, http.StatusBadRequest, models.ErrInvalidJSON},
|
||||||
{"/v1/apps/a/routes", `{ }`, http.StatusBadRequest, models.ErrRoutesMissingNew},
|
{"/v1/apps/a/routes", `{ }`, http.StatusBadRequest, models.ErrRoutesMissingNew},
|
||||||
{"/v1/apps/a/routes", `{ "name": "Test" }`, http.StatusBadRequest, models.ErrRoutesMissingNew},
|
{"/v1/apps/a/routes", `{ "path": "/myroute" }`, http.StatusBadRequest, models.ErrRoutesMissingNew},
|
||||||
{"/v1/apps/a/routes", `{ "route": { "name": "" } }`, http.StatusInternalServerError, models.ErrRoutesValidationMissingName},
|
{"/v1/apps/a/routes", `{ "route": { } }`, http.StatusInternalServerError, models.ErrRoutesValidationMissingImage},
|
||||||
{"/v1/apps/a/routes", `{ "route": { "name": "myroute" } }`, http.StatusInternalServerError, models.ErrRoutesValidationMissingImage},
|
{"/v1/apps/a/routes", `{ "route": { "image": "iron/hello" } }`, http.StatusInternalServerError, models.ErrRoutesValidationMissingPath},
|
||||||
{"/v1/apps/a/routes", `{ "route": { "name": "myroute", "image": "iron/hello" } }`, http.StatusInternalServerError, models.ErrRoutesValidationMissingPath},
|
{"/v1/apps/a/routes", `{ "route": { "image": "iron/hello", "path": "myroute" } }`, http.StatusInternalServerError, models.ErrRoutesValidationInvalidPath},
|
||||||
{"/v1/apps/a/routes", `{ "route": { "name": "myroute", "image": "iron/hello", "path": "myroute" } }`, http.StatusInternalServerError, models.ErrRoutesValidationInvalidPath},
|
{"/v1/apps/$/routes", `{ "route": { "image": "iron/hello", "path": "/myroute" } }`, http.StatusInternalServerError, models.ErrAppsValidationInvalidName},
|
||||||
{"/v1/apps/$/routes", `{ "route": { "name": "myroute", "image": "iron/hello", "path": "/myroute" } }`, http.StatusInternalServerError, models.ErrAppsValidationInvalidName},
|
|
||||||
|
|
||||||
// success
|
// success
|
||||||
{"/v1/apps/a/routes", `{ "route": { "name": "myroute", "image": "iron/hello", "path": "/myroute" } }`, http.StatusOK, nil},
|
{"/v1/apps/a/routes", `{ "route": { "name": "myroute", "image": "iron/hello", "path": "/myroute" } }`, http.StatusOK, nil},
|
||||||
@@ -62,7 +61,7 @@ func TestRouteDelete(t *testing.T) {
|
|||||||
expectedCode int
|
expectedCode int
|
||||||
expectedError error
|
expectedError error
|
||||||
}{
|
}{
|
||||||
{"/v1/apps/a/routes", "", http.StatusNotFound, nil},
|
{"/v1/apps/a/routes", "", http.StatusTemporaryRedirect, nil},
|
||||||
{"/v1/apps/a/routes/myroute", "", http.StatusOK, nil},
|
{"/v1/apps/a/routes/myroute", "", http.StatusOK, nil},
|
||||||
} {
|
} {
|
||||||
_, rec := routerRequest(t, router, "DELETE", test.path, nil)
|
_, rec := routerRequest(t, router, "DELETE", test.path, nil)
|
||||||
@@ -154,14 +153,12 @@ func TestRouteUpdate(t *testing.T) {
|
|||||||
expectedError error
|
expectedError error
|
||||||
}{
|
}{
|
||||||
// errors
|
// errors
|
||||||
{"/v1/apps/a/routes/myroute", ``, http.StatusBadRequest, models.ErrInvalidJSON},
|
{"/v1/apps/a/routes/myroute/do", ``, http.StatusBadRequest, models.ErrInvalidJSON},
|
||||||
{"/v1/apps/a/routes/myroute", `{}`, http.StatusBadRequest, models.ErrRoutesMissingNew},
|
{"/v1/apps/a/routes/myroute/do", `{}`, http.StatusBadRequest, models.ErrRoutesMissingNew},
|
||||||
{"/v1/apps/a/routes/myroute", `{ "route": {} }`, http.StatusInternalServerError, models.ErrRoutesValidationMissingImage},
|
{"/v1/apps/a/routes/myroute/do", `{ "route": {} }`, http.StatusInternalServerError, models.ErrRoutesValidationMissingImage},
|
||||||
{"/v1/apps/a/routes/myroute", `{ "route": { "image": "iron/hello" } }`, http.StatusInternalServerError, models.ErrRoutesValidationMissingPath},
|
|
||||||
{"/v1/apps/a/routes/myroute", `{ "route": { "image": "iron/hello", "path": "myroute" } }`, http.StatusInternalServerError, models.ErrRoutesValidationInvalidPath},
|
|
||||||
|
|
||||||
// success
|
// success
|
||||||
{"/v1/apps/a/routes/myroute", `{ "route": { "image": "iron/hello", "path": "/myroute" } }`, http.StatusOK, nil},
|
{"/v1/apps/a/routes/myroute/do", `{ "route": { "image": "iron/hello", "path": "/myroute" } }`, http.StatusOK, nil},
|
||||||
} {
|
} {
|
||||||
body := bytes.NewBuffer([]byte(test.body))
|
body := bytes.NewBuffer([]byte(test.body))
|
||||||
_, rec := routerRequest(t, router, "PUT", test.path, body)
|
_, rec := routerRequest(t, router, "PUT", test.path, body)
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ func handleRouteUpdate(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
wroute.Route.AppName = c.Param("app")
|
wroute.Route.AppName = c.Param("app")
|
||||||
log.Infoln("Route: ", c.Param("route"))
|
|
||||||
wroute.Route.Path = c.Param("route")
|
wroute.Route.Path = c.Param("route")
|
||||||
|
|
||||||
if err := wroute.Validate(); err != nil {
|
if err := wroute.Validate(); err != nil {
|
||||||
|
|||||||
@@ -62,9 +62,9 @@ func bindHandlers(engine *gin.Engine) {
|
|||||||
{
|
{
|
||||||
apps.GET("/routes", handleRouteList)
|
apps.GET("/routes", handleRouteList)
|
||||||
apps.POST("/routes", handleRouteCreate)
|
apps.POST("/routes", handleRouteCreate)
|
||||||
apps.GET("/routes/:route", handleRouteGet)
|
apps.GET("/routes/*route", handleRouteGet)
|
||||||
apps.PUT("/routes/:route", handleRouteUpdate)
|
apps.PUT("/routes/*route", handleRouteUpdate)
|
||||||
apps.DELETE("/routes/:route", handleRouteDelete)
|
apps.DELETE("/routes/*route", handleRouteDelete)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user