-
-
Notifications
You must be signed in to change notification settings - Fork 33
/
http.yml
123 lines (123 loc) · 2.51 KB
/
http.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
desc: Test using HTTP
labels:
- http
- openapi3
runners:
req:
endpoint: ${TEST_HTTP_ENDPOINT:-https:example.com}
openapi3: ../openapi3.yml
steps:
getusers:
req:
/users:
get:
body: null
test: |
'bob' in map(current.res.body, {#.username})
postusers:
desc: Post /users
req:
/users:
post:
body:
application/json:
username: alice
password: passw0rd
test: |
current.res.status == 201
helpform:
desc: Post /help
req:
/help:
post:
body:
application/x-www-form-urlencoded:
name: bob
content: help me
test: |
current.res.status == 201
notfound:
desc: Get /notfound
req:
/notfound:
get:
body:
application/json:
nil
test: |
current.res.status == 404
getuser:
desc: Get /users/1
req:
/users/1:
get:
body:
application/json:
null
test: |
current.res.status == 200 && current.res.body.data.username == 'alice'
forbidden:
desc: Get /private
req:
/private?token=xxxxx:
get:
body:
application/json:
null
test: |
current.res.status == 403 && current.res.body.error == 'Forbidden'
getprivate:
desc: Get /private with token
req:
/private:
get:
headers:
Authorization: 'Bearer xxxxx'
Multivalues:
- a
- b
body:
application/json:
null
test: |
current.res.status == 200
redirect:
desc: Get /redirect and redirect
req:
/redirect:
get:
body:
application/json:
null
test: |
current.res.status == 404
fileupload:
desc: Post /upload with single file
req:
/upload:
post:
body:
multipart/form-data:
upload0: ../dummy.png
test: |
current.res.status == 201
dataupload:
desc: Post /upload with octet-stream
req:
/upload:
post:
body:
application/octet-stream:
filename: ../dummy.jpg
test: |
current.res.status == 201
severalvalues:
desc: Get several values
req:
/ping:
get:
body:
application/json:
null
test: |
current.res.body.url == 'http://localhost:8080/ping'