Skip to content

Commit 51e00d9

Browse files
committed
t: Use proper test description strings in 03-auth.t
1 parent 887f80f commit 51e00d9

File tree

1 file changed

+21
-48
lines changed

1 file changed

+21
-48
lines changed

t/api/03-auth.t

Lines changed: 21 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -175,57 +175,38 @@ subtest 'personal access token' => sub {
175175
$t->ua->once(start => sub ($ua, $tx) { $tx->req->url->userinfo($userinfo) });
176176
return $t;
177177
};
178-
179-
# No access token
180178
my $t = Test::Mojo->new('OpenQA::WebAPI');
181-
$t->delete_ok('/api/v1/assets/1')->status_is(403)->json_is({error => 'no api key'});
182-
183-
# Valid access token
184-
$t->$userinfo('artie:ARTHURKEY01:EXCALIBUR')->delete_ok('/api/v1/assets/1')->status_is(404);
185-
186-
# Valid access token (OpenID user)
179+
$t->delete_ok('/api/v1/assets/1')->status_is(403)
180+
->json_is({error => 'no api key'}, undef, 'access token is required');
181+
$t->$userinfo('artie:ARTHURKEY01:EXCALIBUR')->delete_ok('/api/v1/assets/1')->status_is(404, 'valid access token');
187182
$t->$userinfo('lance:LANCELOTKEY01:MANYPEOPLEKNOW')->post_ok('/api/v1/feature' => form => {version => 100})
188-
->status_is(200);
189-
190-
# Invalid access token
183+
->status_is(200, 'valid access token (OpenID user)');
191184
$t->$userinfo('invalid:invalid')->delete_ok('/api/v1/assets/1')->status_is(403)
192-
->json_is({error => 'invalid personal access token'});
193-
194-
# Invalid username
185+
->json_is({error => 'invalid personal access token'}, undef, 'invalid access token denied');
195186
$t->$userinfo('invalid:ARTHURKEY01:EXCALIBUR')->delete_ok('/api/v1/assets/1')->status_is(403)
196-
->json_is({error => 'invalid personal access token'});
197-
198-
# Invalid key
187+
->json_is({error => 'invalid personal access token'}, undef, 'invalid username denied');
199188
$t->$userinfo('artie:INVALID:EXCALIBUR')->delete_ok('/api/v1/assets/1')->status_is(403)
200-
->json_is({error => 'invalid personal access token'});
201-
202-
# Invalid secret
189+
->json_is({error => 'invalid personal access token'}, undef, 'invalid key denied');
203190
$t->$userinfo('artie:ARTHURKEY01:INVALID')->delete_ok('/api/v1/assets/1')->status_is(403)
204-
->json_is({error => 'invalid personal access token'});
205-
206-
# Invalid secret (OpenID user)
191+
->json_is({error => 'invalid personal access token'}, undef, 'invalid secret denied');
207192
$t->$userinfo('lance:LANCELOTKEY01:INVALIDTOO')->post_ok('/api/v1/feature' => form => {version => 100})
208-
->status_is(403)->json_is({error => 'invalid personal access token'});
209-
210-
# Valid access token (again)
211-
$t->$userinfo('artie:ARTHURKEY01:EXCALIBUR')->delete_ok('/api/v1/assets/1')->status_is(404);
193+
->status_is(403)->json_is({error => 'invalid personal access token'}, undef, 'invalid secret (OpenID) denied');
194+
$t->$userinfo('artie:ARTHURKEY01:EXCALIBUR')->delete_ok('/api/v1/assets/1')
195+
->status_is(404, 'valid access token (again)');
212196

213197
subtest 'Bearer token' => sub {
214198
subtest 'Valid token' => sub {
215199
$t->post_ok('/api/v1/feature' => {Authorization => 'Bearer lance:LANCELOTKEY01:MANYPEOPLEKNOW'} => form =>
216200
{version => 100})->status_is(200);
217201
};
218-
219202
subtest 'Invalid username' => sub {
220203
$t->post_ok('/api/v1/feature' => {Authorization => 'Bearer invalid:LANCELOTKEY01:MANYPEOPLEKNOW'} => form =>
221204
{version => 100})->status_is(403)->json_is({error => 'invalid personal access token'});
222205
};
223-
224206
subtest 'Invalid key' => sub {
225207
$t->post_ok('/api/v1/feature' => {Authorization => 'Bearer lance:LANCELOTKEY02:MANYPEOPLEKNOW'} => form =>
226208
{version => 100})->status_is(403)->json_is({error => 'invalid personal access token'});
227209
};
228-
229210
subtest 'Invalid secret' => sub {
230211
$t->post_ok('/api/v1/feature' => {Authorization => 'Bearer lance:LANCELOTKEY01:MANYPEOPLEKNOWS'} => form =>
231212
{version => 100})->status_is(403)->json_is({error => 'invalid personal access token'});
@@ -243,29 +224,21 @@ subtest 'personal access token (with reverse proxy)' => sub {
243224
});
244225
return $t;
245226
};
246-
247-
# Not HTTPS or localhost
248227
local $ENV{MOJO_REVERSE_PROXY} = 1;
249228
my $t = Test::Mojo->new('OpenQA::WebAPI');
250229
$t->$forwarded('artie:ARTHURKEY01:EXCALIBUR', '192.168.2.1', 'http')->delete_ok('/api/v1/assets/1')->status_is(403)
251-
->json_is({error => 'personal access token can only be used via HTTPS or from localhost'});
252-
253-
# HTTPS
230+
->json_is({error => 'personal access token can only be used via HTTPS or from localhost'},
231+
undef, 'not https or localhost denied');
254232
$t->$forwarded('artie:ARTHURKEY01:EXCALIBUR', '192.168.2.1', 'https')->delete_ok('/api/v1/assets/1')
255-
->status_is(404);
256-
257-
# localhost
258-
$t->$forwarded('artie:ARTHURKEY01:EXCALIBUR', '127.0.0.1', 'http')->delete_ok('/api/v1/assets/1')->status_is(404);
259-
260-
# localhost (IPv6)
261-
$t->$forwarded('artie:ARTHURKEY01:EXCALIBUR', '::1', 'http')->delete_ok('/api/v1/assets/1')->status_is(404);
262-
263-
# HTTPS and localhost
264-
$t->$forwarded('artie:ARTHURKEY01:EXCALIBUR', '127.0.0.1', 'https')->delete_ok('/api/v1/assets/1')->status_is(404);
265-
266-
# HTTPS but invalid key
233+
->status_is(404, 'https not found');
234+
$t->$forwarded('artie:ARTHURKEY01:EXCALIBUR', '127.0.0.1', 'http')->delete_ok('/api/v1/assets/1')
235+
->status_is(404, 'localhost not found');
236+
$t->$forwarded('artie:ARTHURKEY01:EXCALIBUR', '::1', 'http')->delete_ok('/api/v1/assets/1')
237+
->status_is(404, 'localhost ipv6 not found');
238+
$t->$forwarded('artie:ARTHURKEY01:EXCALIBUR', '127.0.0.1', 'https')->delete_ok('/api/v1/assets/1')
239+
->status_is(404, 'https and localhost not found');
267240
$t->$forwarded('artie:INVALID:EXCALIBUR', '192.168.2.1', 'https')->delete_ok('/api/v1/assets/1')->status_is(403)
268-
->json_is({error => 'invalid personal access token'});
241+
->json_is({error => 'invalid personal access token'}, undef, 'HTTPS but invalid key');
269242
};
270243

271244
done_testing();

0 commit comments

Comments
 (0)