Replaced gherkin tables by json documents in requests and responses of insert features
This commit is contained in:
@@ -9,13 +9,23 @@ Feature: Kapow! server reject insert responses with semantic errors.
|
|||||||
|
|
||||||
Given I have a running Kapow! server
|
Given I have a running Kapow! server
|
||||||
When I insert the route:
|
When I insert the route:
|
||||||
| entrypoint | command |
|
"""
|
||||||
| /bin/sh -c | ls -la / \| response /body |
|
{
|
||||||
|
"entrypoint": "/bin/sh -c",
|
||||||
|
"command": "ls -la / | response /body"
|
||||||
|
}
|
||||||
|
"""
|
||||||
Then I get 422 as response code
|
Then I get 422 as response code
|
||||||
And I get "Missing Mandatory Field" as response reason phrase
|
And I get "Missing Mandatory Field" as response reason phrase
|
||||||
And I get the following entity as response body:
|
And I get the following entity as response body:
|
||||||
| missing_mandatory_fields |
|
"""
|
||||||
| "url_pattern", "method" |
|
{
|
||||||
|
"missing_mandatory_fields": [
|
||||||
|
"url_pattern",
|
||||||
|
"method"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
|
||||||
Scenario: Error because of wrong route specification.
|
Scenario: Error because of wrong route specification.
|
||||||
If a request contains an invalid expression in the
|
If a request contains an invalid expression in the
|
||||||
@@ -23,8 +33,15 @@ Feature: Kapow! server reject insert responses with semantic errors.
|
|||||||
|
|
||||||
Given I have a running Kapow! server
|
Given I have a running Kapow! server
|
||||||
When I insert the route:
|
When I insert the route:
|
||||||
| method | url_pattern | entrypoint | command | index |
|
"""
|
||||||
| GET | /listRootDir | /bin/sh -c | ls -la / \| response /body | 0 |
|
{
|
||||||
|
"method": "GET",
|
||||||
|
"url_pattern": "+123--",
|
||||||
|
"entrypoint": "/bin/sh -c",
|
||||||
|
"command": "ls -la / | response /body",
|
||||||
|
"index": 0
|
||||||
|
}
|
||||||
|
"""
|
||||||
Then I get 422 as response code
|
Then I get 422 as response code
|
||||||
And I get "Invalid Route Spec" as response reason phrase
|
And I get "Invalid Route Spec" as response reason phrase
|
||||||
And I get an empty response body
|
And I get an empty response body
|
||||||
@@ -35,8 +52,15 @@ Feature: Kapow! server reject insert responses with semantic errors.
|
|||||||
|
|
||||||
Given I have a running Kapow! server
|
Given I have a running Kapow! server
|
||||||
When I insert the route:
|
When I insert the route:
|
||||||
| method | url_pattern | entrypoint | command | index |
|
"""
|
||||||
| AVECES | /listRootDir | /bin/sh -c | ls -la / \| response /body | 0 |
|
{
|
||||||
|
"method": "SOMETIMES",
|
||||||
|
"url_pattern": "/",
|
||||||
|
"entrypoint": "/bin/sh -c",
|
||||||
|
"command": "ls -la / | response /body",
|
||||||
|
"index": 0
|
||||||
|
}
|
||||||
|
"""
|
||||||
Then I get 422 as response code
|
Then I get 422 as response code
|
||||||
And I get "Invalid Data Type" as response reason phrase
|
And I get "Invalid Data Type" as response reason phrase
|
||||||
And I get an empty response body
|
And I get an empty response body
|
||||||
|
|||||||
@@ -15,42 +15,120 @@ Feature: Routes auto-ordering after inserting in a Kapow! server.
|
|||||||
will be increased by one.
|
will be increased by one.
|
||||||
|
|
||||||
When I insert the route:
|
When I insert the route:
|
||||||
| method | url_pattern | entrypoint | command | index |
|
"""
|
||||||
| GET | /listVarDir | /bin/sh -c | ls -la /var \| response /body | 0 |
|
{
|
||||||
|
"method": "GET",
|
||||||
|
"url_pattern": "/listVarDir",
|
||||||
|
"entrypoint": "/bin/sh -c",
|
||||||
|
"command": "ls -la /var | response /body",
|
||||||
|
"index": 0
|
||||||
|
}
|
||||||
|
"""
|
||||||
Then I get 200 as response code
|
Then I get 200 as response code
|
||||||
And I get "OK" as response phrase
|
And I get "OK" as response phrase
|
||||||
And I get the following entity as response body:
|
And I get the following entity as response body:
|
||||||
| method | url_pattern | entrypoint | command | index | id |
|
"""
|
||||||
| GET | /listVarDir | /bin/sh -c | ls -la /var \| response /body | 0 | * |
|
{
|
||||||
|
"method": "GET",
|
||||||
|
"url_pattern": "/listVarDir",
|
||||||
|
"entrypoint": "/bin/sh -c",
|
||||||
|
"command": "ls -la /var | response /body",
|
||||||
|
"index": 0,
|
||||||
|
"id": "*"
|
||||||
|
}
|
||||||
|
"""
|
||||||
When I request a routes listing
|
When I request a routes listing
|
||||||
Then I get 200 as response code
|
Then I get 200 as response code
|
||||||
And I get "OK" as response phrase
|
And I get "OK" as response phrase
|
||||||
And I get a list with the following elements:
|
And I get a list with the following elements:
|
||||||
| method | url_pattern | entrypoint | command | Index | id |
|
"""
|
||||||
| GET | /listVarDir | /bin/sh -c | ls -la /var \| response /body | 0 | * |
|
[
|
||||||
| GET | /listRootDir | /bin/sh -c | ls -la / \| response /body | 1 | * |
|
{
|
||||||
| GET | /listDir/{dirname} | /bin/sh -c | ls -la /request/params/dirname \| response /body | 2 | * |
|
"method": "GET",
|
||||||
|
"url_pattern": "/listVarDir",
|
||||||
|
"entrypoint": "/bin/sh -c",
|
||||||
|
"command": "ls -la /var | response /body",
|
||||||
|
"index": 0,
|
||||||
|
"id": "*"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "GET",
|
||||||
|
"url_pattern": "/listRootDir",
|
||||||
|
"entrypoint": "/bin/sh -c",
|
||||||
|
"command": "ls -la / | response /body",
|
||||||
|
"index": 1,
|
||||||
|
"id": "*"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "GET",
|
||||||
|
"url_pattern": "/listDir/:dirname",
|
||||||
|
"entrypoint": "/bin/sh -c",
|
||||||
|
"command": "ls -la /request/params/dirname | response /body",
|
||||||
|
"index": 2,
|
||||||
|
"id": "*"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
"""
|
||||||
|
|
||||||
Scenario: Inserting after the last routes.
|
Scenario: Inserting after the last routes.
|
||||||
After inserting after the last route the previous set
|
After inserting after the last route the previous set
|
||||||
will maintain their relative order and indexes.
|
will maintain their relative order and indexes.
|
||||||
|
|
||||||
When I insert the route:
|
When I insert the route:
|
||||||
| method | url_pattern | entrypoint | command | index |
|
"""
|
||||||
| GET | /listVarDir | /bin/sh -c | ls -la /var \| response /body | 2 |
|
{
|
||||||
|
"method": "GET",
|
||||||
|
"url_pattern": "/listVarDir",
|
||||||
|
"entrypoint": "/bin/sh -c",
|
||||||
|
"command": "ls -la /var | response /body",
|
||||||
|
"index": 2
|
||||||
|
}
|
||||||
|
"""
|
||||||
Then I get 200 as response code
|
Then I get 200 as response code
|
||||||
And I get "OK" as response phrase
|
And I get "OK" as response phrase
|
||||||
And I get the following entity as response body:
|
And I get the following entity as response body:
|
||||||
| method | url_pattern | entrypoint | command | index | id |
|
"""
|
||||||
| GET | /listVarDir | /bin/sh -c | ls -la /var \| response /body | 2 | * |
|
{
|
||||||
|
"method": "GET",
|
||||||
|
"url_pattern": "/listVarDir",
|
||||||
|
"entrypoint": "/bin/sh -c",
|
||||||
|
"command": "ls -la /var | response /body",
|
||||||
|
"index": 2,
|
||||||
|
"id": "*"
|
||||||
|
}
|
||||||
|
"""
|
||||||
When I request a routes listing
|
When I request a routes listing
|
||||||
Then I get 200 as response code
|
Then I get 200 as response code
|
||||||
And I get "OK" as response phrase
|
And I get "OK" as response phrase
|
||||||
And I get a list with the following elements:
|
And I get a list with the following elements:
|
||||||
| method | url_pattern | entrypoint | command | Index | id |
|
"""
|
||||||
| GET | /listRootDir | /bin/sh -c | ls -la / \| response /body | 0 | * |
|
[
|
||||||
| GET | /listDir/{dirname} | /bin/sh -c | ls -la /request/params/dirname \| response /body | 1 | * |
|
{
|
||||||
| GET | /listVarDir | /bin/sh -c | ls -la /var \| response /body | 2 | * |
|
"method": "GET",
|
||||||
|
"url_pattern": "/listRootDir",
|
||||||
|
"entrypoint": "/bin/sh -c",
|
||||||
|
"command": "ls -la / | response /body",
|
||||||
|
"index": 0,
|
||||||
|
"id": "*"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "GET",
|
||||||
|
"url_pattern": "/listDir/:dirname",
|
||||||
|
"entrypoint": "/bin/sh -c",
|
||||||
|
"command": "ls -la /request/params/dirname | response /body",
|
||||||
|
"index": 1,
|
||||||
|
"id": "*"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "GET",
|
||||||
|
"url_pattern": "/listVarDir",
|
||||||
|
"entrypoint": "/bin/sh -c",
|
||||||
|
"command": "ls -la /var | response /body",
|
||||||
|
"index": 2,
|
||||||
|
"id": "*"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
"""
|
||||||
|
|
||||||
Scenario: Inserting a midst route.
|
Scenario: Inserting a midst route.
|
||||||
After inserting a midst route the previous route set
|
After inserting a midst route the previous route set
|
||||||
@@ -58,18 +136,57 @@ Feature: Routes auto-ordering after inserting in a Kapow! server.
|
|||||||
of thefollowing routes will be increased by one.
|
of thefollowing routes will be increased by one.
|
||||||
|
|
||||||
When I insert the route:
|
When I insert the route:
|
||||||
| method | url_pattern | entrypoint | command | index |
|
"""
|
||||||
| GET | /listVarDir | /bin/sh -c | ls -la /var \| response /body | 1 |
|
{
|
||||||
|
"method": "GET",
|
||||||
|
"url_pattern": "/listVarDir",
|
||||||
|
"entrypoint": "/bin/sh -c",
|
||||||
|
"command": "ls -la /var | response /body",
|
||||||
|
"index": 1
|
||||||
|
}
|
||||||
|
"""
|
||||||
Then I get 200 as response code
|
Then I get 200 as response code
|
||||||
And I get "OK" as response phrase
|
And I get "OK" as response phrase
|
||||||
And I get the following entity as response body:
|
And I get the following entity as response body:
|
||||||
| method | url_pattern | entrypoint | command | index | id |
|
"""
|
||||||
| GET | /listVarDir | /bin/sh -c | ls -la /var \| response /body | 1 | * |
|
{
|
||||||
|
"method": "GET",
|
||||||
|
"url_pattern": "/listVarDir",
|
||||||
|
"entrypoint": "/bin/sh -c",
|
||||||
|
"command": "ls -la /var | response /body",
|
||||||
|
"index": 1,
|
||||||
|
"id": "*"
|
||||||
|
}
|
||||||
|
"""
|
||||||
When I request a routes listing
|
When I request a routes listing
|
||||||
Then I get 200 as response code
|
Then I get 200 as response code
|
||||||
And I get "OK" as response phrase
|
And I get "OK" as response phrase
|
||||||
And I get a list with the following elements:
|
And I get a list with the following elements:
|
||||||
| method | url_pattern | entrypoint | command | Index | id |
|
"""
|
||||||
| GET | /listRootDir | /bin/sh -c | ls -la / \| response /body | 0 | * |
|
[
|
||||||
| GET | /listVarDir | /bin/sh -c | ls -la /var \| response /body | 1 | * |
|
{
|
||||||
| GET | /listDir/{dirname} | /bin/sh -c | ls -la /request/params/dirname \| response /body | 2 | * |
|
"method": "GET",
|
||||||
|
"url_pattern": "/listRootDir",
|
||||||
|
"entrypoint": "/bin/sh -c",
|
||||||
|
"command": "ls -la / | response /body",
|
||||||
|
"index": 0,
|
||||||
|
"id": "*"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "GET",
|
||||||
|
"url_pattern": "/listVarDir",
|
||||||
|
"entrypoint": "/bin/sh -c",
|
||||||
|
"command": "ls -la /var | response /body",
|
||||||
|
"index": 1,
|
||||||
|
"id": "*"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"method": "GET",
|
||||||
|
"url_pattern": "/listDir/:dirname",
|
||||||
|
"entrypoint": "/bin/sh -c",
|
||||||
|
"command": "ls -la /request/params/dirname | response /body",
|
||||||
|
"index": 2,
|
||||||
|
"id": "*"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
"""
|
||||||
|
|||||||
@@ -14,13 +14,28 @@ Feature: Insert new routes in Kapow! server.
|
|||||||
by specifying an index 0 in the request.
|
by specifying an index 0 in the request.
|
||||||
|
|
||||||
When I insert the route:
|
When I insert the route:
|
||||||
| method | url_pattern | entrypoint | command | index |
|
"""
|
||||||
| GET | /listRootDir | /bin/sh -c | ls -la / \| response /body | 0 |
|
{
|
||||||
|
"method": "GET",
|
||||||
|
"url_pattern": "/listVarDir",
|
||||||
|
"entrypoint": "/bin/sh -c",
|
||||||
|
"command": "ls -la /var | response /body",
|
||||||
|
"index": 0
|
||||||
|
}
|
||||||
|
"""
|
||||||
Then I get 200 as response code
|
Then I get 200 as response code
|
||||||
And I get "OK" as response reason phrase
|
And I get "OK" as response reason phrase
|
||||||
And I get the following entity as response body:
|
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 | * |
|
{
|
||||||
|
"method": "GET",
|
||||||
|
"url_pattern": "/listVarDir",
|
||||||
|
"entrypoint": "/bin/sh -c",
|
||||||
|
"command": "ls -la /var | response /body",
|
||||||
|
"index": 0,
|
||||||
|
"id": "*"
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
|
||||||
Scenario: Insert a route in the middle.
|
Scenario: Insert a route in the middle.
|
||||||
A route can be inserted in the middle of the list
|
A route can be inserted in the middle of the list
|
||||||
@@ -28,10 +43,25 @@ Feature: Insert new routes in Kapow! server.
|
|||||||
index in the request.
|
index in the request.
|
||||||
|
|
||||||
When I insert the route:
|
When I insert the route:
|
||||||
| method | url_pattern | entrypoint | command | index |
|
"""
|
||||||
| GET | /listRootDir | /bin/sh -c | ls -la / \| response /body | 1 |
|
{
|
||||||
|
"method": "GET",
|
||||||
|
"url_pattern": "/listVarDir",
|
||||||
|
"entrypoint": "/bin/sh -c",
|
||||||
|
"command": "ls -la /var | response /body",
|
||||||
|
"index": 1
|
||||||
|
}
|
||||||
|
"""
|
||||||
Then I get 200 as response code
|
Then I get 200 as response code
|
||||||
And I get "OK" as response reason phrase
|
And I get "OK" as response reason phrase
|
||||||
And I get the following entity as response body:
|
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 | * |
|
{
|
||||||
|
"method": "GET",
|
||||||
|
"url_pattern": "/listVarDir",
|
||||||
|
"entrypoint": "/bin/sh -c",
|
||||||
|
"command": "ls -la /var | response /body",
|
||||||
|
"index": 1,
|
||||||
|
"id": "*"
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user