summaryrefslogtreecommitdiff
path: root/perl/t/policy/stanford.t
diff options
context:
space:
mode:
Diffstat (limited to 'perl/t/policy/stanford.t')
-rwxr-xr-xperl/t/policy/stanford.t28
1 files changed, 26 insertions, 2 deletions
diff --git a/perl/t/policy/stanford.t b/perl/t/policy/stanford.t
index 555086c..9ed0fa6 100755
--- a/perl/t/policy/stanford.t
+++ b/perl/t/policy/stanford.t
@@ -16,7 +16,7 @@ use 5.008;
use strict;
use warnings;
-use Test::More tests => 101;
+use Test::More tests => 130;
use lib 't/lib';
use Util;
@@ -24,7 +24,8 @@ use Util;
# Load the naming policy module.
BEGIN {
use_ok('Wallet::Admin');
- use_ok('Wallet::Policy::Stanford', qw(default_owner verify_name));
+ use_ok('Wallet::Policy::Stanford',
+ qw(default_owner verify_name is_for_host));
use_ok('Wallet::Server');
}
@@ -101,6 +102,29 @@ for my $name (@INVALID_FILES) {
isnt(verify_name('file', $name), undef, "Invalid file $name");
}
+# Now test a few cases for checking to see if a file is host-based. We don't
+# test the legacy examples because they're more complicated and less obvious.
+for my $name (@VALID_KEYTABS) {
+ my $hostname = 'example.stanford.edu';
+ if ($name =~ m{\b$hostname\b}) {
+ is(is_for_host('keytab', $name, $hostname), 1,
+ "Keytab $name belongs to $hostname");
+ } else {
+ is(is_for_host('keytab', $name, $hostname), 0,
+ "Keytab $name doesn't belong to $hostname");
+ }
+}
+for my $name (@VALID_FILES) {
+ my $hostname = 'example.stanford.edu';
+ if ($name =~ m{\b$hostname\b}) {
+ is(is_for_host('file', $name, $hostname), 1,
+ "File $name belongs to $hostname");
+ } else {
+ is(is_for_host('file', $name, $hostname), 0,
+ "File $name doesn't belong to $hostname");
+ }
+}
+
# Now we need an actual database. Use Wallet::Admin to set it up.
db_setup;
my $setup = eval { Wallet::Admin->new };