201 lines
5 KiB
YAML
201 lines
5 KiB
YAML
test_name: Test basic schedule requests
|
|
|
|
stages:
|
|
- name: "[schedules_basic] Make sure we get any response"
|
|
request:
|
|
url: "http://localhost:5000/api/v1/schedules/"
|
|
method: GET
|
|
response:
|
|
status_code: 200
|
|
verify_response_with:
|
|
function: validate_schedule:multiple
|
|
|
|
- name: "[schedules_basic] post schedule with no periods, expect it to be echoed back"
|
|
request:
|
|
method: POST
|
|
url: "http://localhost:5000/api/v1/schedules/"
|
|
json:
|
|
name: "same as off"
|
|
periods: []
|
|
response:
|
|
status_code: 201
|
|
verify_response_with:
|
|
function: validate_schedule:single
|
|
function: validate_schedule:check_name
|
|
extra_kwargs:
|
|
name: "{tavern.request_vars.json.name}"
|
|
function: validate_schedule:check_periods
|
|
extra_kwargs:
|
|
periods: "{tavern.request_vars.json.periods}"
|
|
|
|
- name: "[schedules_basic] post schedule, expect it to be echoed back"
|
|
request:
|
|
method: POST
|
|
url: "http://localhost:5000/api/v1/schedules/"
|
|
json:
|
|
name: "hello"
|
|
periods:
|
|
- start: "00:10"
|
|
end: "00:20"
|
|
- start: "00:30"
|
|
end: "00:40"
|
|
- start: "00:50"
|
|
end: "01:00"
|
|
response:
|
|
status_code: 201
|
|
verify_response_with:
|
|
function: validate_schedule:single
|
|
function: validate_schedule:check_name
|
|
extra_kwargs:
|
|
name: "{tavern.request_vars.json.name}"
|
|
function: validate_schedule:check_periods
|
|
extra_kwargs:
|
|
periods: "{tavern.request_vars.json.periods}"
|
|
save:
|
|
json:
|
|
returned_name: "name"
|
|
returned_id: "id"
|
|
returned_periods: "periods"
|
|
|
|
- name: "[schedules_basic] get schedule, check name and some periods"
|
|
request:
|
|
method: GET
|
|
url: "http://localhost:5000/api/v1/schedules/{returned_id}"
|
|
response:
|
|
status_code: 200
|
|
verify_response_with:
|
|
function: validate_schedule:single
|
|
function: validate_schedule:check_name
|
|
extra_kwargs:
|
|
name: "{returned_name}"
|
|
function: validate_schedule:check_periods
|
|
extra_kwargs:
|
|
periods: "{returned_periods}"
|
|
|
|
- name: "[schedules_basic] delete schedule"
|
|
request:
|
|
method: DELETE
|
|
url: "http://localhost:5000/api/v1/schedules/{returned_id}"
|
|
response:
|
|
status_code: 200
|
|
|
|
- name: "[schedules_basic] get deleted schedule, expect 404"
|
|
request:
|
|
method: GET
|
|
url: "http://localhost:5000/api/v1/schedules/{returned_id}"
|
|
response:
|
|
status_code: 404
|
|
|
|
- name: "[schedules_basic] get schedule with bad id"
|
|
request:
|
|
method: GET
|
|
url: "http://localhost:5000/api/v1/schedules/this_id_is_invalid"
|
|
response:
|
|
status_code: 400
|
|
|
|
- name: "[schedules_basic] post schedule with bad body (no json)"
|
|
request:
|
|
method: POST
|
|
url: "http://localhost:5000/api/v1/schedules/"
|
|
data: "<b>not json</b><i>but html</i>"
|
|
response:
|
|
status_code: 400
|
|
|
|
- name: "[schedules_basic] post schedule with bad body (no name)"
|
|
request:
|
|
method: POST
|
|
url: "http://localhost:5000/api/v1/schedules/"
|
|
json:
|
|
periods:
|
|
- start: "00:10"
|
|
end: "00:20"
|
|
- start: "00:30"
|
|
end: "00:40"
|
|
- start: "00:50"
|
|
end: "01:00"
|
|
response:
|
|
status_code: 400
|
|
|
|
- name: "[schedules_basic] post schedule with bad body (name as number)"
|
|
request:
|
|
method: POST
|
|
url: "http://localhost:5000/api/v1/schedules/"
|
|
json:
|
|
name: 42
|
|
periods:
|
|
- start: "00:10"
|
|
end: "00:20"
|
|
- start: "00:30"
|
|
end: "00:40"
|
|
- start: "00:50"
|
|
end: "01:00"
|
|
response:
|
|
status_code: 400
|
|
|
|
- name: "[schedules_basic] post schedule with bad period (no start)"
|
|
request:
|
|
method: POST
|
|
url: "http://localhost:5000/api/v1/schedules/"
|
|
json:
|
|
name: "i am invalid"
|
|
periods:
|
|
- end: "00:20"
|
|
- start: "00:30"
|
|
end: "00:40"
|
|
response:
|
|
status_code: 400
|
|
|
|
- name: "[schedules_basic] post schedule with bad period (no end)"
|
|
request:
|
|
method: POST
|
|
url: "http://localhost:5000/api/v1/schedules/"
|
|
json:
|
|
name: "i am invalid"
|
|
periods:
|
|
- start: "00:20"
|
|
- start: "00:30"
|
|
end: "00:40"
|
|
response:
|
|
status_code: 400
|
|
|
|
- name: "[schedules_basic] post schedule with bad period (invalid start)"
|
|
request:
|
|
method: POST
|
|
url: "http://localhost:5000/api/v1/schedules/"
|
|
json:
|
|
name: "i am invalid"
|
|
periods:
|
|
- start: "hello"
|
|
end: "00:20"
|
|
- start: "00:30"
|
|
end: "00:40"
|
|
response:
|
|
status_code: 400
|
|
|
|
- name: "[schedules_basic] post schedule with bad period (invalid end)"
|
|
request:
|
|
method: POST
|
|
url: "http://localhost:5000/api/v1/schedules/"
|
|
json:
|
|
name: "i am invalid"
|
|
periods:
|
|
- start: "12:10"
|
|
end: 1215
|
|
- start: "00:30"
|
|
end: "00:40"
|
|
response:
|
|
status_code: 400
|
|
|
|
- name: "[schedules_basic] post schedule with bad period (invalid end 2)"
|
|
request:
|
|
method: POST
|
|
url: "http://localhost:5000/api/v1/schedules/"
|
|
json:
|
|
name: "i am invalid"
|
|
periods:
|
|
- start: "12:10"
|
|
end: "25:90"
|
|
- start: "00:30"
|
|
end: "00:40"
|
|
response:
|
|
status_code: 400
|