diff --git a/lib/WebGUI/Upgrade/File/pl.pm b/lib/WebGUI/Upgrade/File/pl.pm index bf94c0ae1..497d61e04 100644 --- a/lib/WebGUI/Upgrade/File/pl.pm +++ b/lib/WebGUI/Upgrade/File/pl.pm @@ -69,7 +69,7 @@ sub session () { require WebGUI::Session; $session = WebGUI::Session->open(config); - $session->user({user => 3}); + $session->user({userId => 3}); return $session; } diff --git a/lib/WebGUI/Upgrade/File/wgpkg.pm b/lib/WebGUI/Upgrade/File/wgpkg.pm index 31e117a62..7730d7df3 100644 --- a/lib/WebGUI/Upgrade/File/wgpkg.pm +++ b/lib/WebGUI/Upgrade/File/wgpkg.pm @@ -14,7 +14,7 @@ sub run { my ($configFile, $version, $file, $quiet) = @_; my $session = WebGUI::Session->open($configFile); - $session->user({user => 3}); + $session->user({userId => 3}); # Make a storage location for the package my $storage = WebGUI::Storage->createTemp( $session ); diff --git a/t/Upgrade.t b/t/Upgrade.t index 8097ad300..9030ffe69 100644 --- a/t/Upgrade.t +++ b/t/Upgrade.t @@ -19,6 +19,7 @@ BEGIN { use WebGUI::Paths; use WebGUI::Upgrade; +use WebGUI::Session::Id; use Try::Tiny; use Capture::Tiny qw(capture); use mro; @@ -72,7 +73,7 @@ ok $stdout !~ 'Done', 'quiet flag silences done command'; capture { try { - $upgrade->runUpgradeFile($configFile, '8.3.0', collateral('upgrades', 'die.pl'), 1); + $upgrade->runUpgradeFile($configFile, '8.3.0', collateral('upgrades', 'die.pl')); fail 'Error on failing upgrade'; } catch { @@ -82,7 +83,7 @@ capture { capture { try { - $upgrade->runUpgradeFile($configFile, '8.3.0', collateral('upgrades', 'strict-failure.pl'), 1); + $upgrade->runUpgradeFile($configFile, '8.3.0', collateral('upgrades', 'strict-failure.pl')); fail 'strict enabled in upgrades'; } catch { @@ -90,5 +91,29 @@ capture { }; }; +my $session = WebGUI::Test->session; + +my $dbh = $upgrade->dbhForConfig(WebGUI::Test->config); +my ($totalAssets) = $dbh->selectrow_array('SELECT COUNT(*) FROM asset'); +($stdout, $stderr) = capture { + $upgrade->runUpgradeFile($configFile, '8.3.0', collateral('upgrades', 'dbh.pl')); +}; + +is $stdout, $totalAssets, 'dbh function working correctly'; + +($stdout, $stderr) = capture { + $upgrade->runUpgradeFile($configFile, '8.3.0', collateral('upgrades', 'config.pl')); +}; + +is $stdout, $configFile, 'config function working correctly'; + +($stdout, $stderr) = capture { + $upgrade->runUpgradeFile($configFile, '8.3.0', collateral('upgrades', 'session.pl')); +}; + +ok(WebGUI::Session::Id::valid({}, $stdout), 'valid session id generated'); +my ($hasSession) = $dbh->selectrow_array('SELECT COUNT(*) FROM userSession WHERE sessionId = ?', {}, $stdout); +ok !$hasSession, 'session properly closed'; + done_testing; diff --git a/t/lib/WebGUI/Test.pm b/t/lib/WebGUI/Test.pm index 20bb59550..72787c63a 100644 --- a/t/lib/WebGUI/Test.pm +++ b/t/lib/WebGUI/Test.pm @@ -26,6 +26,7 @@ use strict; use warnings; use base qw(Test::Builder::Module); +use Log::Log4perl; use Test::MockObject; use Test::MockObject::Extends; use Log::Log4perl; # load early to ensure proper order of END blocks diff --git a/t/supporting_collateral/upgrades/config.pl b/t/supporting_collateral/upgrades/config.pl new file mode 100644 index 000000000..6d0e42507 --- /dev/null +++ b/t/supporting_collateral/upgrades/config.pl @@ -0,0 +1,2 @@ +print config->getFilename; + diff --git a/t/supporting_collateral/upgrades/dbh.pl b/t/supporting_collateral/upgrades/dbh.pl new file mode 100644 index 000000000..a24226b4f --- /dev/null +++ b/t/supporting_collateral/upgrades/dbh.pl @@ -0,0 +1,3 @@ +my ($totalAssets) = dbh->selectrow_array('SELECT COUNT(*) FROM asset'); +print $totalAssets; + diff --git a/t/supporting_collateral/upgrades/session.pl b/t/supporting_collateral/upgrades/session.pl new file mode 100644 index 000000000..a900e4850 --- /dev/null +++ b/t/supporting_collateral/upgrades/session.pl @@ -0,0 +1,2 @@ +print session->getId; +