blob: ab334043e2b6954857c6439bb400496793337121 (
plain)
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
|
<!--
Copyright 2017-2019 Lars Wirzenius
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-->
# Unauthorized requests
This scenario make unauthorized requests and checks the right error is
returned.
SCENARIO unauthorized requests
Set up the controller.
GIVEN an access token for user with scopes
... uapi_projects_get
... uapi_projects_id_delete
... uapi_projects_post
... uapi_projects_id_status_put
... uapi_projects_id_status_get
... uapi_projects_id_builds_get
... uapi_workers_id_get
... uapi_builds_get
... uapi_builds_id_get
... uapi_logs_id_get
AND a running ick controller
WHEN user makes request POST /projects with a valid token and body
... {
... "project": "rome",
... "pipelines": [
... {
... "pipeline": "construct",
... "actions": [
... { "shell": "day 1" },
... { "shell": "day 2" }
... ]
... }
... ]
... }
THEN result has status code 201
GIVEN an access token for outsider with scopes
... uapi_version_get
WHEN outsider makes request POST /projects
... with an invalid token and body {}
THEN result has status code 401
WHEN outsider makes request GET /builds with an invalid token
THEN result has status code 401
WHEN outsider makes request
... POST /workers with an invalid token and body [}
THEN result has status code 401
WHEN outsider makes request
... GET /work with an invalid token
THEN result has status code 401
WHEN outsider makes request
... GET /workers with an invalid token
THEN result has status code 401
WHEN outsider makes request
... GET /builds with an invalid token
THEN result has status code 401
WHEN outsider makes request GET /logs/1 with an invalid token
THEN result has status code 401
WHEN outsider makes request POST /work with an invalid token and body {}
THEN result has status code 401
WHEN user makes request DELETE /projects/rome
WHEN user makes request GET /projects
THEN body matches {"projects":[]}
FINALLY stop ick controller
|