diff options
author | Russ Allbery <eagle@eyrie.org> | 2014-07-16 13:43:17 -0700 |
---|---|---|
committer | Russ Allbery <eagle@eyrie.org> | 2014-07-16 13:43:17 -0700 |
commit | 6409733ee3b7b1910dc1c166a392cc628834146c (patch) | |
tree | e9460f8f2ca0f3676afeed2a9dcf549acfc39b53 /perl/t/admin.t | |
parent | 334ed844cbb5c8f7ea82a94c701a3016dd6950b9 (diff) | |
parent | f8963ceb19cd2b503b981f43a3f8c0f45649989f (diff) |
Imported Upstream version 1.1
Diffstat (limited to 'perl/t/admin.t')
-rwxr-xr-x | perl/t/admin.t | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/perl/t/admin.t b/perl/t/admin.t deleted file mode 100755 index a11b9b2..0000000 --- a/perl/t/admin.t +++ /dev/null @@ -1,78 +0,0 @@ -#!/usr/bin/perl -w -# -# Tests for wallet administrative interface. -# -# Written by Russ Allbery <rra@stanford.edu> -# Copyright 2008, 2009, 2010, 2011 -# The Board of Trustees of the Leland Stanford Junior University -# -# See LICENSE for licensing terms. - -use Test::More tests => 23; - -use Wallet::Admin; -use Wallet::Report; -use Wallet::Schema; -use Wallet::Server; -use DBI; - -use lib 't/lib'; -use Util; - -# We test database setup in init.t, so just do the basic setup here. -db_setup; -my $admin = eval { Wallet::Admin->new }; -is ($@, '', 'Wallet::Admin creation did not die'); -ok ($admin->isa ('Wallet::Admin'), ' and returned the right class'); -is ($admin->initialize ('admin@EXAMPLE.COM'), 1, - ' and initialization succeeds'); -is ($admin->upgrade, 1, ' and upgrade succeeds (should do nothing)'); -is ($admin->error, undef, ' and there is no error'); - -# We have an empty database, so we should see no objects and one ACL. -my $report = Wallet::Report->new; -my @objects = $report->objects; -is (scalar (@objects), 0, 'No objects in the database'); -is ($report->error, undef, ' and no error'); -my @acls = $report->acls; -is (scalar (@acls), 1, 'One ACL in the database'); -is ($acls[0][0], 1, ' and that is ACL ID 1'); -is ($acls[0][1], 'ADMIN', ' with the right name'); - -# Register a base object so that we can create a simple object. -is ($admin->register_object ('base', 'Wallet::Object::Base'), 1, - 'Registering Wallet::Object::Base works'); -is ($admin->register_object ('base', 'Wallet::Object::Base'), undef, - ' and cannot be registered twice'); -$server = eval { Wallet::Server->new ('admin@EXAMPLE.COM', 'localhost') }; -is ($@, '', 'Creating a server instance did not die'); -is ($server->create ('base', 'service/admin'), 1, - ' and creating base:service/admin succeeds'); - -# Test registering a new ACL type. -is ($admin->register_verifier ('base', 'Wallet::ACL::Base'), 1, - 'Registering Wallet::ACL::Base works'); -is ($admin->register_verifier ('base', 'Wallet::ACL::Base'), undef, - ' and cannot be registered twice'); -is ($server->acl_add ('ADMIN', 'base', 'foo'), 1, - ' and adding a base ACL now works'); - -# Test an upgrade. Reinitialize to an older version, then test upgrade to -# the current version. -$Wallet::Schema::VERSION = '0.07'; -is ($admin->reinitialize ('admin@EXAMPLE.COM'), 1, - ' and re-initialization succeeds'); -$Wallet::Schema::VERSION = '0.08'; -my $retval = $admin->upgrade; -is ($retval, 1, 'Performing an upgrade succeeds'); -my $dbh = $admin->dbh; -my $sql = "select version from dbix_class_schema_versions order by version " - ."DESC"; -$version = $dbh->selectall_arrayref ($sql); -is (@$version, 2, ' and versions table has correct number of rows'); -is (@{ $version->[0] }, 1, ' and correct number of columns'); -is ($version->[0][0], '0.08', ' and the schema version is correct'); - -# Clean up. -is ($admin->destroy, 1, 'Destruction succeeds'); -unlink 'wallet-db'; |