1use t::200_middlewares::uploadtemp::base; 2use Test::More tests => 7; 3 4my $base_tmp = quotemeta(File::Spec->tmpdir); 5my $upload_tmpdir; 6do { 7 my $he = new_engine { 8 my $req = shift; 9 $upload_tmpdir = $req->request_builder->upload_tmp; 10 if ($req->method eq 'POST') { 11 ok(-f $req->upload('upfile')->tempname, 'upload file'); 12 } 13 } { 14 keepalive => 0, 15 }; 16 17 $he->run( 18 GET 'http://example.com/', 19 ); 20 ok(!-d $upload_tmpdir, 'not alive tmpdir'); 21 22 $he->run( 23 POST 'http://example.com/', 24 Content_Type => 'form-data', 25 Content => [ 26 upfile => ['README'], 27 ], 28 ); 29 like($upload_tmpdir, qr{\A$base_tmp}, 'base tmpdir'); 30 ok(!-d $upload_tmpdir, 'not alive tmpdir'); 31 my $first_tmpdir = $upload_tmpdir; 32 33 $he->run( 34 POST 'http://example.com/', 35 Content_Type => 'form-data', 36 Content => [ 37 upfile => ['Makefile.PL'], 38 ], 39 ); 40 isnt($upload_tmpdir, $first_tmpdir, 'not recycle tmpdir'); 41}; 42ok(!rmtree($upload_tmpdir, 0), 'rmtree'); 43