From f852bd8866dde3774e3708799ca339404a45b80f Mon Sep 17 00:00:00 2001 From: Graham Knop Date: Mon, 17 May 2010 05:26:26 -0500 Subject: [PATCH] better cleanup code --- t/Session/Url.t | 57 +++++++------------------------------------------ 1 file changed, 8 insertions(+), 49 deletions(-) diff --git a/t/Session/Url.t b/t/Session/Url.t index 644caeae1..8c5d1d838 100644 --- a/t/Session/Url.t +++ b/t/Session/Url.t @@ -85,7 +85,7 @@ is( $url2, $url.'?a=b;c=d', 'append second pair'); # ####################################### -my $gateway = $session->config->get('gateway'); +WebGUI::Test->originalConfig('gateway'); $session->config->set('gateway', '/'); is( $session->config->get('gateway'), '/', 'Set gateway for downstream tests'); @@ -131,10 +131,7 @@ my $setting_hostToUse = $session->setting->get('hostToUse'); $session->setting->set('hostToUse', 'HTTP_HOST'); my $sitename = $session->config->get('sitename')->[0]; is( $session->url->getSiteURL, 'http://'.$sitename, 'getSiteURL from config as http_host'); -my $config_port; -if ($session->config->get('webServerPort')) { - $config_port = $session->config->get('webServerPort'); -} +WebGUI::Test->originalConfig('webServerPort'); $session->url->setSiteURL('http://webgui.org'); is( $session->url->getSiteURL, 'http://webgui.org', 'override config setting with setSiteURL'); @@ -154,7 +151,7 @@ $mockEnv{HTTP_HOST} = "devsite.com"; $session->url->setSiteURL(undef); is( $session->url->getSiteURL, 'http://'.$sitename, 'getSiteURL where requested host is not a configured site'); -my @config_sitename = @{ $session->config->get('sitename') }; +WebGUI::Test->originalConfig('sitename'); $session->config->addToArray('sitename', 'devsite.com'); $session->url->setSiteURL(undef); is( $session->url->getSiteURL, 'http://devsite.com', 'getSiteURL where requested host is not the first configured site'); @@ -173,14 +170,7 @@ is( $session->url->getSiteURL, 'http://'.$sitename.':8880', 'getSiteURL with a n $session->url->setSiteURL('http://'.$sitename); is( $session->url->getSiteURL, 'http://'.$sitename, 'restore config setting'); -$session->config->set('sitename', \@config_sitename); $session->setting->set('hostToUse', $setting_hostToUse); -if ($config_port) { - $session->config->set('webServerPort', $config_port); -} -else { - $session->config->delete('webServerPort'); -} $url = 'level1 /level2/level3 '; $url2 = 'level1-/level2/level3'; @@ -281,14 +271,10 @@ is($session->url->makeAbsolute('page1'), '/page1', 'makeAbsolute: default baseUr # ####################################### -my $origExtras = $session->config->get('extrasURL'); -my $extras = $origExtras; +my $extras = WebGUI::Test->originalConfig('extrasURL'); -my $savecdn = $session->config->get('cdn'); -if ($savecdn) { - $session->config->delete('cdn'); -} -# Note: the CDN configuration will be reverted in the END +WebGUI::Test->originalConfig('cdn'); +$session->config->delete('cdn'); is($session->url->extras, $extras.'/', 'extras method returns URL to extras with a trailing slash'); is($session->url->extras('foo.html'), join('/', $extras,'foo.html'), 'extras method appends to the extras url'); @@ -330,11 +316,6 @@ is($session->url->extras('/dir1/foo.html'), join('', $cdnCfg->{extrasSsl}, 'dir1 'extras using extrasSsl with SSLPROXY'); delete $mockEnv{SSLPROXY}; -$session->config->set('extrasURL', $origExtras); - -# partial cleanup here; complete cleanup in END block -$session->config->delete('cdn'); - ####################################### # # escape and unescape @@ -417,6 +398,7 @@ TODO: { } my $versionTag = WebGUI::VersionTag->getWorking($session); +WebGUI::Test->addToCleanup($versionTag); my $statefulAsset = WebGUI::Asset->getRoot($session)->addChild({ className => 'WebGUI::Asset::Snippet' }); $versionTag->commit; $session->asset( $statefulAsset ); @@ -448,7 +430,7 @@ is( # ####################################### -my $origSSLEnabled = $session->config->get('sslEnabled'); +WebGUI::Test->originalConfig('sslEnabled'); ##Test all the false cases, first @@ -492,26 +474,3 @@ ok($session->url->forceSecureConnection(), 'forced secure connection with no url ok($session->http->isRedirect, '... and redirect status code was set'); is($session->http->getRedirectLocation, $secureUrl, '... and redirect status code was set'); -$session->config->set('sslEnabled', $origSSLEnabled); - -END { ##Always clean-up - $session->asset($sessionAsset); - $versionTag->rollback if defined $versionTag; - - $session->config->set('sitename', \@config_sitename); - $session->config->set('gateway', $gateway); - $session->config->set('extrasURL', $origExtras); - $session->config->set('sslEnabled', $origSSLEnabled) if defined $origSSLEnabled; - - if ($config_port) { - $session->config->set($config_port); - } - else { - $session->config->delete('webServerPort'); - } - if ($savecdn) { - $session->config->set('cdn', $savecdn); - } else { - $session->config->delete('cdn'); - } -}