Changeset 4893 for trunk/Nebulous/t/Test/Nebulous.pm
- Timestamp:
- Aug 26, 2005, 5:39:06 PM (21 years ago)
- File:
-
- 1 edited
-
trunk/Nebulous/t/Test/Nebulous.pm (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Nebulous/t/Test/Nebulous.pm
r4879 r4893 1 1 # Copyright (C) 2004 Joshua Hoblitt 2 2 # 3 # $Id: Nebulous.pm,v 1. 5 2005-08-25 23:42:33jhoblitt Exp $3 # $Id: Nebulous.pm,v 1.6 2005-08-27 03:39:06 jhoblitt Exp $ 4 4 5 5 package Test::Nebulous; … … 10 10 use File::Path qw( mkpath rmtree ); 11 11 use File::Temp qw( tempdir ); 12 use Nebulous::Server::SQL; 12 13 13 14 my $dsn = "DBI:mysql:database=test:host=localhost"; … … 16 17 17 18 my $dbh = DBI->connect( $dsn, $user, $passwd ); 19 my $sql = Nebulous::Server::SQL->new; 18 20 19 21 # suppress uninitalized warnings … … 30 32 $dir2 = tempdir( CLEANUP => 0 ); 31 33 32 local $/ = ';'; 33 34 my $pos = tell DATA; 35 36 foreach my $statement (<DATA>) { 37 last unless ( $statement =~ /\S+/ ); 34 foreach my $statement (@{ $sql->get_db_schema }) { 38 35 $dbh->do( $statement ); 39 36 } 40 41 seek DATA, $pos, 0;42 37 43 38 # FIXME … … 47 42 48 43 sub cleanup { 49 $dbh->do( "DROP TABLE IF EXISTS storage_object" ); 50 $dbh->do( "DROP TABLE IF EXISTS instance" ); 51 $dbh->do( "DROP TABLE IF EXISTS lock_record" ); 52 $dbh->do( "DROP TABLE IF EXISTS volume" ); 53 $dbh->do( "DROP TABLE IF EXISTS class" ); 44 foreach my $statement (@{ $sql->get_db_clear }) { 45 $dbh->do( $statement ); 46 } 54 47 55 48 # on the first call to setup the $dir[12] will be "" … … 60 53 1; 61 54 62 __DATA__ 63 DROP TABLE IF EXISTS storage_object; 64 CREATE TABLE storage_object ( 65 so_id BIGINT NOT NULL AUTO_INCREMENT, 66 ext_id VARCHAR(255) BINARY NOT NULL UNIQUE, 67 class_id TINYINT NOT NULL, 68 comment VARCHAR(255), 69 read_lock TINYINT DEFAULT 0 NOT NULL, 70 write_lock ENUM( 'write' ), 71 epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP, 72 mtime TIMESTAMP, 73 PRIMARY KEY(so_id), 74 KEY(ext_id(64)), 75 KEY(class_id) 76 ) ENGINE=innodb; 77 78 DROP TABLE IF EXISTS instance; 79 CREATE TABLE instance ( 80 ins_id BIGINT NOT NULL AUTO_INCREMENT, 81 so_id BIGINT NOT NULL, 82 uri VARCHAR(255) BINARY NOT NULL, 83 sha1sum CHAR(40) ASCII, 84 assigned_location BOOL, 85 epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP, 86 mtime TIMESTAMP, 87 PRIMARY KEY(ins_id), 88 KEY(so_id), 89 KEY(uri(64)) 90 ) ENGINE=innodb; 91 92 DROP TABLE IF EXISTS lock_record; 93 CREATE TABLE lock_record ( 94 so_id BIGINT NOT NULL, 95 type ENUM( 'read', 'write' ) NOT NULL, 96 epoch TIMESTAMP, 97 KEY(so_ID) 98 ) ENGINE=innodb; 99 100 DROP TABLE IF EXISTS volume; 101 CREATE TABLE volume ( 102 vol_id INT NOT NULL AUTO_INCREMENT, 103 name VARCHAR(255) UNIQUE BINARY NOT NULL, 104 uri VARCHAR(255) BINARY NOT NULL, 105 key(vol_id) 106 ) ENGINE=innodb; 107 108 DROP TABLE IF EXISTS class; 109 CREATE TABLE class ( 110 class_id TINYINT NOT NULL AUTO_INCREMENT, 111 instance TINYINT NOT NULL, 112 priority TINYINT, 113 comment VARCHAR(255), 114 key(class_id) 115 ) ENGINE=innodb; 116 117 DROP TABLE IF EXISTS log; 118 CREATE TABLE log ( 119 timestamp TIMESTAMP, 120 hostname VARCHAR(255), 121 level VARCHAR(255), 122 sub VARCHAR(255), 123 message VARCHAR(2048) NOT NULL, 124 PRIMARY KEY(timestamp) 125 ) ENGINE=innodb; 55 __END__
Note:
See TracChangeset
for help on using the changeset viewer.
