--- loncom/metadata_database/lonmetadata_test.pl 2004/01/12 21:33:19 1.1 +++ loncom/metadata_database/lonmetadata_test.pl 2004/01/12 21:48:38 1.2 @@ -1,7 +1,7 @@ #!/usr/bin/perl -w # The LearningOnline Network with CAPA # -# $Id: lonmetadata_test.pl,v 1.1 2004/01/12 21:33:19 matthew Exp $ +# $Id: lonmetadata_test.pl,v 1.2 2004/01/12 21:48:38 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -30,11 +30,12 @@ use strict; use DBI; use LONCAPA::lonmetadata(); -use Test::Simple tests => 3; +use Test::Simple tests => 4; ok(&create_test_db(),'database creation'); ok(&test_creation(),'table creation'); +ok(&test_named_creation(),'named table creation'); ok(&test_inserts(),'insert test'); exit; @@ -46,8 +47,14 @@ 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 { - my $dbh = DBI->connect("DBI:mysql:test","root","123", + my $dbh = DBI->connect("DBI:mysql:test","root",$supersecretpassword, { RaiseError =>0,PrintError=>0}); if (! defined($dbh)) { return 0; @@ -65,7 +72,7 @@ sub create_test_db { } 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}); my $request = &LONCAPA::lonmetadata::create_metadata_storage(); $dbh->do($request); @@ -78,8 +85,29 @@ 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 { - my $dbh = DBI->connect("DBI:mysql:lonmetatest","root","123", + my $dbh = DBI->connect("DBI:mysql:lonmetatest","root",$supersecretpassword, { RaiseError =>0,PrintError=>0}); my @TestRecords = ( { url => 'm/b/h/test1' },