diff options
Diffstat (limited to 'tests/server/admin-t')
| -rwxr-xr-x | tests/server/admin-t | 76 | 
1 files changed, 3 insertions, 73 deletions
| diff --git a/tests/server/admin-t b/tests/server/admin-t index 570dc52..5bde104 100755 --- a/tests/server/admin-t +++ b/tests/server/admin-t @@ -8,15 +8,14 @@  # See LICENSE for licensing terms.  use strict; -use Test::More tests => 64; +use Test::More tests => 36;  # Create a dummy class for Wallet::Admin that prints what method was called  # with its arguments and returns data for testing.  package Wallet::Admin; -use vars qw($empty $error); +use vars qw($error);  $error = 0; -$empty = 0;  sub error {      if ($error) { @@ -44,19 +43,6 @@ sub initialize {      return 1;  } -sub list_objects { -    print "list_objects\n"; -    return if ($error or $empty); -    return ([ keytab => 'host/windlord.stanford.edu' ], -            [ file   => 'unix-wallet-password' ]); -} - -sub list_acls { -    print "list_acls\n"; -    return if ($error or $empty); -    return ([ 1, 'ADMIN' ], [ 2, 'group/admins' ], [ 4, 'group/users' ]); -} -  sub register_object {      shift;      print "register_object @_\n"; @@ -71,13 +57,6 @@ sub register_verifier {      return 1;  } -sub report_owners { -    shift; -    print "report_owners @_\n"; -    return if ($error or $empty); -    return ([ krb5 => 'admin@EXAMPLE.COM' ]); -} -  # Back to the main package and the actual test suite.  Lie about whether the  # Wallet::Admin package has already been loaded.  package main; @@ -107,9 +86,7 @@ is ($out, "new\n", ' and nothing ran');  # Check too few and too many arguments for every command.  my %commands = (destroy    => [0,  0],                  initialize => [1,  1], -                list       => [1,  4], -                register   => [3,  3], -                report     => [1, -1]); +                register   => [3,  3]);  for my $command (sort keys %commands) {      my ($min, $max) = @{ $commands{$command} };      if ($min > 0) { @@ -159,22 +136,6 @@ is ($out, "new\n", ' and nothing was run');  is ($err, '', 'Initialize succeeds with a principal');  is ($out, "new\ninitialize rra\@stanford.edu\n", ' and runs the right code'); -# Test list. -($out, $err) = run_admin ('list', 'foo'); -is ($err, "only objects or acls are supported for list\n", -    'List requires a known object'); -is ($out, "new\n", ' and nothing was run'); -($out, $err) = run_admin ('list', 'objects'); -is ($err, '', 'List succeeds for objects'); -is ($out, "new\nlist_objects\n" -    . "keytab host/windlord.stanford.edu\nfile unix-wallet-password\n", -    ' and returns the right output'); -($out, $err) = run_admin ('list', 'acls'); -is ($err, '', 'List succeeds for ACLs'); -is ($out, "new\nlist_acls\n" -    . "ADMIN (ACL ID: 1)\ngroup/admins (ACL ID: 2)\ngroup/users (ACL ID: 4)\n", -    ' and returns the right output'); -  # Test register.  ($out, $err) = run_admin ('register', 'foo', 'foo', 'Foo::Bar');  is ($err, "only object or verifier is supported for register\n", @@ -189,15 +150,6 @@ is ($err, '', 'Register succeeds for verifier');  is ($out, "new\nregister_verifier foo Foo::Verifier\n",      ' and returns the right outout'); -# Test report. -($out, $err) = run_admin ('report', 'foo'); -is ($err, "unknown report type foo\n", 'Report requires a known report'); -is ($out, "new\n", ' and nothing was run'); -($out, $err) = run_admin ('report', 'owners', '%', '%'); -is ($err, '', 'Report succeeds for owners'); -is ($out, "new\nreport_owners % %\nkrb5 admin\@EXAMPLE.COM\n", -    ' and returns the right output'); -  # Test error handling.  $Wallet::Admin::error = 1;  ($out, $err) = run_admin ('destroy'); @@ -209,12 +161,6 @@ is ($out, "new\n"  is ($err, "some error\n", 'Error handling succeeds for initialize');  is ($out, "new\ninitialize rra\@stanford.edu\n",      ' and calls the right methods'); -($out, $err) = run_admin ('list', 'objects'); -is ($err, "some error\n", 'Error handling succeeds for list objects'); -is ($out, "new\nlist_objects\n", ' and calls the right methods'); -($out, $err) = run_admin ('list', 'acls'); -is ($err, "some error\n", 'Error handling succeeds for list acls'); -is ($out, "new\nlist_acls\n", ' and calls the right methods');  ($out, $err) = run_admin ('register', 'object', 'foo', 'Foo::Object');  is ($err, "some error\n", 'Error handling succeeds for register object');  is ($out, "new\nregister_object foo Foo::Object\n", @@ -223,19 +169,3 @@ is ($out, "new\nregister_object foo Foo::Object\n",  is ($err, "some error\n", 'Error handling succeeds for register verifier');  is ($out, "new\nregister_verifier foo Foo::Verifier\n",      ' and calls the right methods'); -($out, $err) = run_admin ('report', 'owners', 'foo', 'bar'); -is ($err, "some error\n", 'Error handling succeeds for report owners'); -is ($out, "new\nreport_owners foo bar\n", ' and calls the right methods'); - -# Test empty lists. -$Wallet::Admin::error = 0; -$Wallet::Admin::empty = 1; -($out, $err) = run_admin ('list', 'objects'); -is ($err, '', 'list objects runs with an empty list with no errors'); -is ($out, "new\nlist_objects\n", ' and calls the right methods'); -($out, $err) = run_admin ('list', 'acls'); -is ($err, '', 'list acls runs with an empty list and no errors'); -is ($out, "new\nlist_acls\n", ' and calls the right methods'); -($out, $err) = run_admin ('report', 'owners', 'foo', 'bar'); -is ($err, '', 'report owners runs with an empty list and no errors'); -is ($out, "new\nreport_owners foo bar\n", ' and calls the right methods'); | 
