X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/8c7f25bcd4da160b26527fa23a2e598476dc052d..41ec1a254c67a6bbd3ce97b91fb9521876a2e91b:/t/file/filesystem.t?ds=inline diff --git a/t/file/filesystem.t b/t/file/filesystem.t index 314a2f23d..6c22e3d4c 100644 --- a/t/file/filesystem.t +++ b/t/file/filesystem.t @@ -1,7 +1,9 @@ use strict; -use Test::More tests => 11; +use Test::More tests => 14; use lib 't'; + +use File::Temp; use Support::TestSetup; use Test::Exception; use SL::File; @@ -9,11 +11,16 @@ use SL::Dev::File; Support::TestSetup::login(); +my $temp_dir = File::Temp::tempdir("kivi-t-file-filesystem.XXXXXX", TMPDIR => 1, CLEANUP => 1); +my $storage_dir = "$temp_dir/storage"; + +mkdir($storage_dir) || die $!; + my $db = SL::DB::Object->new->db; $db->dbh->do("UPDATE defaults SET doc_files = 't'"); -$db->dbh->do("UPDATE defaults SET doc_files_rootpath = '/var/tmp/kivifs'"); +$db->dbh->do("UPDATE defaults SET doc_files_rootpath = ?", undef, $storage_dir); -my $scannerfile = '/var/tmp/f2'; +my $scannerfile = "${temp_dir}/f2"; clear_up(); reset_state(); @@ -47,39 +54,64 @@ ok( $$content5 eq 'inhalt3 new version' ,"file has right actual $content5 = $file6[1]->get_content; ok( $$content5 eq 'inhalt3 created' ,"file has right old content"); -print "\n\nController:\n"; +#print "\n\nController Test:\n"; # now test controller #$::form->{object_id} = 1; #$::form->{object_type}= 'sales_order'; #$::form->{file_type} = 'document'; + +my $output; +open(my $outputFH, '>', \$output) or die; # This shouldn't fail +my $oldFH = select $outputFH; + $::form->{id} = $file1->id; -print "id=".$::form->{id}."\n"; use SL::Controller::File; SL::Controller::File->action_download(); + +select $oldFH; +close $outputFH; +my @lines = split "\n" , $output; +ok($lines[4] eq 'inhalt1 uploaded' ,"controller download has correct content"); + +#some controller checks $::form->{object_id} = 12345678; $::form->{object_type} = undef; +my $result='xx1'; eval { SL::Controller::File->check_object_params(); + $result='yy1'; 1; } or do { - print $@; + $result=$@; }; -$::form->{object_type} ='xx'; -$::form->{file_type} ='yy'; +$result = substr($result,0,14); +#print $result."\n"; +ok($result eq "No object type","correct error 'No object type'"); + +$::form->{object_type} ='sales_order'; +$::form->{file_type} =''; +$result='xx2'; eval { SL::Controller::File->check_object_params(); + $result='yy2'; 1; } or do { - print $@; + $result=$@; }; +$result = substr($result,0,12); +#print $result."\n"; +ok($result eq "No file type","correct error 'No file type'"); clear_up(); done_testing; sub clear_up { - SL::Dev::File->delete_all(); - unlink($scannerfile); -}; + # Cleaning up may fail. + eval { + SL::Dev::File->delete_all(); + unlink($scannerfile); + }; +} sub reset_state { my %params = @_;