better cleanup code

This commit is contained in:
Graham Knop 2010-05-17 05:26:26 -05:00
parent 3ee212142c
commit f852bd8866

View file

@ -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');
}
}