lots of test fixes
This commit is contained in:
parent
0d311117e2
commit
30657d61f7
21 changed files with 75 additions and 87 deletions
|
|
@ -184,17 +184,10 @@ sub testCount {
|
|||
|
||||
plan tests => testCount() ;
|
||||
|
||||
my $output;
|
||||
foreach my $testSet (@testArray) {
|
||||
$output = FAKE_ENV->new( $testSet->{agent},
|
||||
$testSet->{address} || '69.42.78.32')
|
||||
->requestNotViewed();
|
||||
$session->request->env->{HTTP_USER_AGENT} = $testSet->{agent};
|
||||
$session->request->env->{REMOTE_ADDR} = $testSet->{address} || '69.42.78.32';
|
||||
my $output = $session->env->requestNotViewed;
|
||||
is($output, $testSet->{output}, $testSet->{comment});
|
||||
}
|
||||
|
||||
{ # this is a local fake of the session, used for testing only
|
||||
package FAKE_ENV;
|
||||
use base 'WebGUI::Session::Env';
|
||||
sub new { shift; return bless { _env => { HTTP_USER_AGENT => $_[0], REMOTE_ADDR => $_[1] } }, __PACKAGE__; }
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -15,26 +15,14 @@ use lib "$FindBin::Bin/../lib";
|
|||
use WebGUI::Test;
|
||||
use WebGUI::Session;
|
||||
|
||||
use Test::More tests => 3; # increment this value for each test you create
|
||||
use Test::MockObject::Extends;
|
||||
use Test::More tests => 2; # increment this value for each test you create
|
||||
|
||||
my $session = WebGUI::Test->session;
|
||||
|
||||
|
||||
cmp_ok($session->env->get("PATH"), 'ne', "", "get() one valid entry");
|
||||
|
||||
#Replace the ENV hash so that we can test getIp.
|
||||
cmp_ok($session->env->get("REMOTE_ADDR"), 'ne', "", "get() one valid entry");
|
||||
|
||||
my $env = $session->env;
|
||||
$env = Test::MockObject::Extends->new($env);
|
||||
$session->request->env->{REMOTE_ADDR} = '192.168.0.2';
|
||||
is ($env->getIp, '192.168.0.2', 'getIp');
|
||||
|
||||
my %mockEnv = (
|
||||
REMOTE_ADDR => '192.168.0.2',
|
||||
);
|
||||
|
||||
$env->mock('get', sub { return $mockEnv{$_[1]}});
|
||||
|
||||
is ($env->getIp(), $mockEnv{'REMOTE_ADDR'}, 'getIp');
|
||||
|
||||
$mockEnv{HTTP_X_FORWARDED_FOR} = '10.0.2.5',
|
||||
is ($env->getIp(), $mockEnv{'HTTP_X_FORWARDED_FOR'}, 'getIp with HTTP forwarding');
|
||||
|
|
|
|||
|
|
@ -25,10 +25,10 @@ plan tests => $numTests;
|
|||
my $session = WebGUI::Test->session;
|
||||
|
||||
##Setup for security method test
|
||||
my %newEnv = ( REMOTE_ADDR => '192.168.0.6' );
|
||||
$session->env->{_env} = \%newEnv;
|
||||
my $env = $session->request->env;
|
||||
$env->{REMOTE_ADDR} = '192.168.0.6';
|
||||
|
||||
my ($eh) = $session->quick('errorHandler');
|
||||
my $eh = $session->errorHandler;
|
||||
|
||||
####################################################
|
||||
#
|
||||
|
|
@ -165,13 +165,13 @@ delete $eh->{_canShowDebug};
|
|||
ok($eh->canShowDebug, 'canShowDebug: returns 1 if debugIp is empty string');
|
||||
|
||||
$session->setting->set('debugIp', '10.0.0.5/32, 192.168.0.4/30');
|
||||
$newEnv{REMOTE_ADDR} = '172.17.0.5';
|
||||
$env->{REMOTE_ADDR} ='172.17.0.5';
|
||||
delete $eh->{_canShowDebug};
|
||||
ok(! $eh->canShowDebug, 'canShowDebug: returns 0 if debugIp is set and IP address is out of filter');
|
||||
$newEnv{REMOTE_ADDR} = '10.0.0.5';
|
||||
$env->{REMOTE_ADDR} = '10.0.0.5';
|
||||
delete $eh->{_canShowDebug};
|
||||
ok($eh->canShowDebug, 'canShowDebug: returns 1 if debugIp is set and IP address matches filter');
|
||||
$newEnv{REMOTE_ADDR} = '192.168.0.5';
|
||||
$env->{REMOTE_ADDR} = '192.168.0.5';
|
||||
delete $eh->{_canShowDebug};
|
||||
ok($eh->canShowDebug, 'canShowDebug: returns 1 if debugIp is set and IP address matches filter');
|
||||
|
||||
|
|
@ -189,11 +189,11 @@ $session->setting->set('debugIp', '');
|
|||
is($eh->canShowPerformanceIndicators, 1, 'canShowPerformanceIndicators: returns 1 if debugIp is blank');
|
||||
|
||||
$session->setting->set('debugIp', '10.0.0.5/32, 192.168.0.4/30');
|
||||
$newEnv{REMOTE_ADDR} = '172.17.0.5';
|
||||
$env->{REMOTE_ADDR} = '172.17.0.5';
|
||||
is($eh->canShowPerformanceIndicators, 0, 'canShowPerformanceIndicators: returns 0 if debugIp is set and IP address does not match');
|
||||
$newEnv{REMOTE_ADDR} = '10.0.0.5';
|
||||
$env->{REMOTE_ADDR} = '10.0.0.5';
|
||||
is($eh->canShowPerformanceIndicators, 1, 'canShowPerformanceIndicators: returns 0 if debugIp is set and IP address matches exactly');
|
||||
$newEnv{REMOTE_ADDR} = '192.168.0.5';
|
||||
$env->{REMOTE_ADDR} = '192.168.0.5';
|
||||
is($eh->canShowPerformanceIndicators, 1, 'canShowPerformanceIndicators: returns 0 if debugIp is set and IP address matches subnet');
|
||||
|
||||
####################################################
|
||||
|
|
|
|||
|
|
@ -22,16 +22,16 @@ plan tests => 4;
|
|||
my $session = WebGUI::Test->session;
|
||||
my $token = $session->scratch->get('webguiCsrfToken');
|
||||
|
||||
$session->request->method('POST');
|
||||
$session->request->env->{'REQUEST_METHOD'} = 'POST';
|
||||
$session->request->setup_param({ webguiCsrfToken => $token, });
|
||||
ok($session->form->validToken, 'validToken: right method and form value');
|
||||
|
||||
$session->request->method('GET');
|
||||
$session->request->env->{'REQUEST_METHOD'} = 'GET';
|
||||
ok(! $session->form->validToken, '... wrong method, right form value');
|
||||
|
||||
$session->request->method('POST');
|
||||
$session->request->env->{'REQUEST_METHOD'} = 'POST';
|
||||
$session->request->setup_param({ webguiCsrfToken => 'bad token', });
|
||||
ok(! $session->form->validToken, 'validToken: right method and wrong form value');
|
||||
|
||||
$session->request->method('GET');
|
||||
$session->request->env->{'REQUEST_METHOD'} = 'GET';
|
||||
ok(! $session->form->validToken, 'validToken: wrong method and form value');
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ for (my $count = 1; $count <= $maxCount; $count++){
|
|||
}
|
||||
|
||||
##Creating a new session with the previous session's Id should clone the scratch data
|
||||
my $newSession = WebGUI::Session->open(WebGUI::Test->file, undef, undef, $session->getId);
|
||||
my $newSession = WebGUI::Session->open(WebGUI::Test->file, undef, $session->getId);
|
||||
|
||||
is($newSession->getId, $session->getId, "Successful session duplication");
|
||||
|
||||
|
|
|
|||
|
|
@ -37,9 +37,8 @@ my $id = $session->var->getId;
|
|||
my ($count) = $session->db->quickArray("select count(*) from userSession where sessionId=?",[$id]);
|
||||
is($count, 1, "created an user session entry in the database");
|
||||
|
||||
my %newEnvHash = ( REMOTE_ADDR => '192.168.0.34');
|
||||
my $origEnv = $session->env->{_env};
|
||||
$session->env->{_env} = \%newEnvHash;
|
||||
my $env = $session->request->env;
|
||||
$env->{REMOTE_ADDR} = '192.168.0.34';
|
||||
|
||||
my $var = WebGUI::Session::Var->new($session);
|
||||
my $varTime = time();
|
||||
|
|
@ -66,7 +65,7 @@ isa_ok($var->session, 'WebGUI::Session', 'session method returns a Session objec
|
|||
is($var->session->getId, $session->getId, 'session method returns our Session object');
|
||||
|
||||
sleep(2);
|
||||
$newEnvHash{REMOTE_ADDR} = '10.0.5.5';
|
||||
$env->{REMOTE_ADDR} = '10.0.5.5';
|
||||
|
||||
#Grab a more recent version of our user session object
|
||||
$varTime = time();
|
||||
|
|
@ -157,7 +156,7 @@ $varExpiring->{_var}{expires} = $varExpiring->get('lastPageView')-1;
|
|||
|
||||
sleep 1;
|
||||
|
||||
$newEnvHash{REMOTE_ADDR} = '127.0.0.1';
|
||||
$env->{REMOTE_ADDR} = '127.0.0.1';
|
||||
|
||||
##Test a valid fetch
|
||||
my $varTest = WebGUI::Session::Var->new($session, $var4->getId, 1);
|
||||
|
|
@ -210,8 +209,6 @@ is($varTest->get('userId'), 1, 'calling start with null userId returns default u
|
|||
|
||||
END {
|
||||
|
||||
$session->env->{_env} = $origEnv;
|
||||
|
||||
foreach my $varObj ($var, $var2, $var3, $var4, $varExpiring, $varTest) {
|
||||
if (defined $varObj and ref $varObj eq 'WebGUI::Session::Var') {
|
||||
$varObj->end();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue