Added features for append/error_malformed, delete/list_order, insert/error_malformed and insert/list_order. Updated append/error_unprocessable and resolve conflicts in list/success.

This commit is contained in:
Héctor Hurtado
2019-08-20 10:36:24 +02:00
14 changed files with 221 additions and 144 deletions
@@ -8,18 +8,18 @@ Feature: Kapow! server reject responses with malformed JSON bodies.
the server will respond with a bad request error.
Given I have a running Kapow! server
When I try to insert with this JSON document:
"""
{
"method" "GET",
"url_pattern": /hello,
"entrypoint": null
"command": "echo Hello
World | response /body",
"index": 0,
"id": "xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx"
}
"""
Then I get bad request as response code
And I get "Malformed JSON" as response phrase
And I get an empty response body
When I try to insert with this JSON document:
"""
{
"method" "GET",
"url_pattern": /hello,
"entrypoint": null
"command": "echo Hello
World | response /body",
"index": 0,
"id": "xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx"
}
"""
Then I get bad request as response code
And I get "Malformed JSON" as response phrase
And I get an empty response body
@@ -8,35 +8,35 @@ Feature: Kapow! server reject insert responses with semantic errors.
missing fields.
Given I have a running Kapow! server
When I insert the route:
| entrypoint | command |
| /bin/sh -c | ls -la / \| response /body |
Then I get unprocessable entity as response code
And I get "Missing Mandatory Field" as response phrase
And I get the following entity as response body:
| missing_mandatory_fields |
| "url_pattern", "method" |
When I insert the route:
| entrypoint | command |
| /bin/sh -c | ls -la / \| response /body |
Then I get 422 as response code
And I get "Missing Mandatory Field" as response reason phrase
And I get the following entity as response body:
| missing_mandatory_fields |
| "url_pattern", "method" |
Scenario: Error because of wrong route specification.
If a request contains an invalid expression in the
url_pattern field the server responds with an error.
Given I have a running Kapow! server
When I insert the route:
| method | url_pattern | entrypoint | command | index |
| GET | /listRootDir | /bin/sh -c | ls -la / \| response /body | 0 |
Then I get unprocessable entity as response code
And I get "Invalid Route Spec" as response phrase
And I get an empty response body
When I insert the route:
| method | url_pattern | entrypoint | command | index |
| GET | /listRootDir | /bin/sh -c | ls -la / \| response /body | 0 |
Then I get 422 as response code
And I get "Invalid Route Spec" as response reason phrase
And I get an empty response body
Scenario: Error because of wrong method value.
If a request contains an invalid value in the
method field the server responds with an error.
Given I have a running Kapow! server
When I insert the route:
| method | url_pattern | entrypoint | command | index |
| AVECES | /listRootDir | /bin/sh -c | ls -la / \| response /body | 0 |
Then I get unprocessable entity as response code
And I get "Invalid Data Type" as response phrase
And I get an empty response body
When I insert the route:
| method | url_pattern | entrypoint | command | index |
| AVECES | /listRootDir | /bin/sh -c | ls -la / \| response /body | 0 |
Then I get 422 as response code
And I get "Invalid Data Type" as response reason phrase
And I get an empty response body
@@ -13,11 +13,11 @@ Feature: Insert new routes in Kapow! server.
A route can be inserted at the begining of the list
by specifying an index 0 in the request.
When I insert the route:
| method | url_pattern | entrypoint | command | index |
| GET | /listRootDir | /bin/sh -c | ls -la / \| response /body | 0 |
Then I get ok as response code
And I get "OK" as response phrase
When I insert the route:
| method | url_pattern | entrypoint | command | index |
| GET | /listRootDir | /bin/sh -c | ls -la / \| response /body | 0 |
Then I get 200 as response code
And I get "OK" as response reason phrase
And I get the following entity as response body:
| method | url_pattern | entrypoint | command | index | id |
| GET | /listRootDir | /bin/sh -c | ls -la / \| response /body | 0 | * |
@@ -27,11 +27,11 @@ Feature: Insert new routes in Kapow! server.
by specifying an index less or equal to the last
index in the request.
When I insert the route:
| method | url_pattern | entrypoint | command | index |
| GET | /listRootDir | /bin/sh -c | ls -la / \| response /body | 1 |
Then I get ok as response code
And I get "OK" as response phrase
When I insert the route:
| method | url_pattern | entrypoint | command | index |
| GET | /listRootDir | /bin/sh -c | ls -la / \| response /body | 1 |
Then I get 200 as response code
And I get "OK" as response reason phrase
And I get the following entity as response body:
| method | url_pattern | entrypoint | command | index | id |
| GET | /listRootDir | /bin/sh -c | ls -la / \| response /body | 1 | * |