aboutsummaryrefslogtreecommitdiff
path: root/perl/t/schema.t
diff options
context:
space:
mode:
Diffstat (limited to 'perl/t/schema.t')
-rwxr-xr-xperl/t/schema.t28
1 files changed, 28 insertions, 0 deletions
diff --git a/perl/t/schema.t b/perl/t/schema.t
new file mode 100755
index 0000000..4c5105d
--- /dev/null
+++ b/perl/t/schema.t
@@ -0,0 +1,28 @@
+#!/usr/bin/perl -w
+# $Id$
+#
+# t/schema.t -- Tests for the wallet schema class.
+
+use Test::More tests => 5;
+
+use DBD::SQLite;
+use DBI;
+use Wallet::Schema;
+
+my $schema = Wallet::Schema->new;
+ok (defined $schema, 'Wallet::Schema creation');
+ok ($schema->isa ('Wallet::Schema'), ' and class verification');
+my @sql = $schema->sql;
+ok (@sql > 0, 'sql() returns something');
+is (scalar (@sql), 22, ' and returns the right number of statements');
+
+# Create a SQLite database to use for create.
+my $dbh = DBI->connect ("DBI:SQLite:wallet-db");
+if (not defined $dbh) {
+ die "cannot create database wallet-db: $DBI::errstr\n";
+}
+$dbh->{RaiseError} = 1;
+$dbh->{PrintError} = 0;
+eval { $schema->create ($dbh) };
+is ($@, '', "create() doesn't die");
+unlink 'wallet-db';