From cf360d58edca383f159e086e58002efda38e1a33 Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Tue, 16 Nov 2004 15:32:21 +0000 Subject: [PATCH] working PostgreSQL example git-svn-id: svn://svn.rot13.org/fuse_dbi/trunk@34 17f4e80c-d0e0-0310-8903-bfc3ae804c12 --- t/03pgsql.t | 43 +++++++++++++++++++++++++++++++++++++------ 1 file changed, 37 insertions(+), 6 deletions(-) diff --git a/t/03pgsql.t b/t/03pgsql.t index accb1a4..7fbc157 100755 --- a/t/03pgsql.t +++ b/t/03pgsql.t @@ -4,11 +4,12 @@ use strict; use warnings; use Test::More; +use File::Find; use blib; eval "use DBD::Pg"; plan skip_all => "DBD::Pg required for testing" if $@; -plan tests => 12; +plan tests => 34; use_ok('DBI'); use_ok('Fuse::DBI'); @@ -39,11 +40,16 @@ ok(my $sth = $dbh->prepare(qq{ insert into files (name,data) values (?,?) }), "prepare"); -foreach my $file (qw(file dir/file dir/subdir/file)) { - my $data = "this is test data\n" x length($file); - ok($sth->execute($file,$data), "insert $file"); +my @files = qw(file dir/file dir/subdir/file); +my %file_data; + +foreach my $file (@files) { + $file_data{$file} = ("this is test data on ".localtime()."\n") x length($file); + ok($sth->execute($file,$file_data{$file}), "insert $file"); } +ok($dbh->disconnect, "disconnect after insert"); + my $sql_filenames = qq{ select name as id, @@ -78,8 +84,33 @@ my $mnt = Fuse::DBI->mount({ ok($mnt, "mount"); -diag "press enter to continue"; -my $foo = ; +sub test_file { + my $f = $File::Find::name; + + ok($f, "file $f"); + + return unless (-f $f); + + ok(open(F, $f), "open"); + my $tmp = ''; + while() { + $tmp .= $_; + } + ok(close(F), "close"); + + # strip mountpoint + $f =~ s#^\Q$mount\E/##; + + ok($file_data{$f}, "$f exists"); + + cmp_ok(length($file_data{$f}), '==', length($tmp), "size"); + cmp_ok($file_data{$f}, 'eq', $tmp, "content"); +} + +# small delay so that filesystem could mount +sleep(1); + +find({ wanted => \&test_file, no_chdir => 1 }, $mount); ok($mnt->umount,"umount"); -- 2.20.1