Authen-Credential
view release on metacpan or search on metacpan
"*",
" , ",
"key=value",
"scheme =value",
"scheme key==",
"scheme key=1 key=2",
) {
$@ = "";
eval { Authen::Credential->parse($string) };
ok($@, "parse '$string'");
}
#
# parsing ok but checking not ok
#
foreach $string (
"none foo=bar",
"plain",
"plain name=joe password=sekret",
"f00bar",
) {
$@ = "";
eval { Authen::Credential->parse($string) };
ok($@, "parse '$string'");
}
#
# parsing ok and checking ok
#
foreach $string (
"",
"none",
"plain name=anonymous pass=",
"plain name=joe pass=sekret",
"plain name=joe,pass=sekret",
"plain name=joe, pass=sekret",
"x509",
"x509 cert=/foo/cert.pem key=/foo/key.pem",
"x509 cert=/foo/cert.pem key=/foo/key.pem ca=/foo pass=%20",
) {
$cred = Authen::Credential->parse($string);
ok($cred, "parse '$string'");
ok($cred->check() ? 1 : 0, "check '$string'");
}
#
# new ok and preparing ok
#
$string = "HTTP.Basic";
$cred = Authen::Credential->new(
scheme => "plain",
name => "system",
pass => "manager",
);
ok($cred, "new(plain)");
ok($cred->prepare($string), "prepare $string");
$string = "IO::Socket::SSL";
$cred = Authen::Credential->new(
scheme => "x509",
cert => "/foo/cert.pem",
key => "/foo/key.pem",
ca => "/bar",
);
ok($cred, "new(x509)");
ok($cred->prepare($string), "prepare $string");
#
# stringification
#
foreach $string (
"none",
"plain name= pass=sekret",
"x509 pass=x%20y",
) {
$cred = Authen::Credential->parse($string);
is($cred->string(), $string, "parse+string '$string'");
}
#
# accessors and decoding
#
$cred = Authen::Credential->parse("plain name=%25%3d%2f pass=%00%3d%ff");
is($cred->name(), "%=/", "attribute %=/");
is($cred->pass(), "\x00=\xff", "attribute \\x00=\\xff");
( run in 1.150 second using v1.01-cache-2.11-cpan-6aa56a78535 )