From 9996f687d9acff76d627dcb6dbae4d8f8f31e863 Mon Sep 17 00:00:00 2001 From: Graham Knop Date: Thu, 4 Aug 2011 13:27:58 -0500 Subject: [PATCH] don't modify test file --- t/AssetHelper/Product/ImportCSV.t | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/t/AssetHelper/Product/ImportCSV.t b/t/AssetHelper/Product/ImportCSV.t index 94cda094c..75de14ded 100644 --- a/t/AssetHelper/Product/ImportCSV.t +++ b/t/AssetHelper/Product/ImportCSV.t @@ -24,6 +24,9 @@ use WebGUI::Asset::Wobject::Shelf; use WebGUI::AssetHelper::Product::ImportCSV; use Test::MockObject::Extends; use WebGUI::Fork; +use File::Temp; +use File::Copy; + #---------------------------------------------------------------------------- # Init @@ -75,23 +78,23 @@ SKIP: { skip 'Root will cause this test to fail since it does not obey file permissions', 3 if $< == 0; - my $originalChmod = (stat $productsFile)[2]; - chmod oct(0000), $productsFile; + my (undef, $productsTempFile) = File::Temp::tempfile('productTableXXXX', OPEN => 0, TMPDIR => 1, SUFFIX => '.csv'); + File::Copy::copy($productsFile, $productsTempFile); - eval { $shelf->importProducts($productsFile); }; + chmod oct(0000), $productsTempFile; + + eval { $shelf->importProducts($productsTempFile); }; $e = Exception::Class->caught(); - isa_ok($e, 'WebGUI::Error::InvalidFile', 'importProducts: error handling for file that cannot be read'); + isa_ok($e, 'WebGUI::Error::InvalidFile', 'importProducts: error handling for file that cannot be read') || skip 'invalid error thrown', 2; is($e->error, 'File is not readable', 'importProducts: error handling for file that that cannot be read'); cmp_deeply( $e, methods( - brokenFile => $productsFile, + brokenFile => $productsTempFile, ), 'importProducts: error handling for file that that cannot be read', ); - - chmod $originalChmod, $productsFile; - + unlink $productsTempFile; } my $failure=0;