-
Notifications
You must be signed in to change notification settings - Fork 20
/
basic-auth.t
32 lines (23 loc) · 860 Bytes
/
basic-auth.t
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
#
# Test the basic auth code path
#
use v6;
use Test;
use LWP::Simple;
my $basic-auth-url = 'https://cosimo:eelst@faveclub.eelst.com/elio/mp3s/';
my @url = LWP::Simple.parse_url($basic-auth-url);
is(@url[0], 'https', 'Scheme parsed correctly');
is(@url[1], 'cosimo:eelst@faveclub.eelst.com', 'Hostname contains basic auth info');
is(@url[2], 443, 'HTTPS demands port 443');
is(@url[3], '/elio/mp3s/', 'Path extracted correctly');
my ($user, $pass, $host) = LWP::Simple.has_basic_auth(@url[1]);
is($user, 'cosimo', 'Basic auth info extracted correctly: user');
is($pass, 'eelst', 'Basic auth info extracted correctly: pass');
is($host, 'faveclub.eelst.com', 'Basic auth info extracted correctly: hostname');
# Encode test
is(
LWP::Simple.base64encode('someuser', 'somepass'),
'c29tZXVzZXI6c29tZXBhc3M=',
'Base64 encoding works'
);
done;