version 1.1, 2004/01/12 21:33:19
|
version 1.2, 2004/01/12 21:48:38
|
Line 30 use strict;
|
Line 30 use strict;
|
|
|
use DBI; |
use DBI; |
use LONCAPA::lonmetadata(); |
use LONCAPA::lonmetadata(); |
use Test::Simple tests => 3; |
use Test::Simple tests => 4; |
|
|
|
|
ok(&create_test_db(),'database creation'); |
ok(&create_test_db(),'database creation'); |
ok(&test_creation(),'table creation'); |
ok(&test_creation(),'table creation'); |
|
ok(&test_named_creation(),'named table creation'); |
ok(&test_inserts(),'insert test'); |
ok(&test_inserts(),'insert test'); |
|
|
exit; |
exit; |
Line 46 exit;
|
Line 47 exit;
|
## |
## |
##################################################################### |
##################################################################### |
##################################################################### |
##################################################################### |
|
## |
|
## Note: The root password to my MySQL server is shown below. |
|
## Access is only allowed from localhost so it should be okay. |
|
## Now if you will excuse me I have to change the password on my luggage. |
|
## |
|
my $supersecretpassword = '123'; # shhhh |
sub create_test_db { |
sub create_test_db { |
my $dbh = DBI->connect("DBI:mysql:test","root","123", |
my $dbh = DBI->connect("DBI:mysql:test","root",$supersecretpassword, |
{ RaiseError =>0,PrintError=>0}); |
{ RaiseError =>0,PrintError=>0}); |
if (! defined($dbh)) { |
if (! defined($dbh)) { |
return 0; |
return 0; |
Line 65 sub create_test_db {
|
Line 72 sub create_test_db {
|
} |
} |
|
|
sub test_creation { |
sub test_creation { |
my $dbh = DBI->connect("DBI:mysql:lonmetatest","root","123", |
my $dbh = DBI->connect("DBI:mysql:lonmetatest","root",$supersecretpassword, |
{ RaiseError =>0,PrintError=>0}); |
{ RaiseError =>0,PrintError=>0}); |
my $request = &LONCAPA::lonmetadata::create_metadata_storage(); |
my $request = &LONCAPA::lonmetadata::create_metadata_storage(); |
$dbh->do($request); |
$dbh->do($request); |
Line 78 sub test_creation {
|
Line 85 sub test_creation {
|
} |
} |
} |
} |
|
|
|
sub test_named_creation { |
|
my $request = |
|
&LONCAPA::lonmetadata::create_metadata_storage('nonmetadata'); |
|
my $dbh = DBI->connect("DBI:mysql:lonmetatest","root",$supersecretpassword, |
|
{ RaiseError =>0,PrintError=>0}); |
|
$dbh->do($request); # Create the table, only return 0 if we cannot. |
|
if ($dbh->err) { |
|
$dbh->disconnect(); |
|
return 0; |
|
} |
|
$dbh->do('DROP TABLE nonmetadata'); # This will generate an error if the |
|
# table does not exist |
|
if ($dbh->err) { |
|
$dbh->disconnect(); |
|
return 0; |
|
} else { |
|
$dbh->disconnect(); |
|
return 1; |
|
} |
|
} |
|
|
sub test_inserts { |
sub test_inserts { |
my $dbh = DBI->connect("DBI:mysql:lonmetatest","root","123", |
my $dbh = DBI->connect("DBI:mysql:lonmetatest","root",$supersecretpassword, |
{ RaiseError =>0,PrintError=>0}); |
{ RaiseError =>0,PrintError=>0}); |
my @TestRecords = ( |
my @TestRecords = ( |
{ url => 'm/b/h/test1' }, |
{ url => 'm/b/h/test1' }, |