more session related bug fixes

added setting test
This commit is contained in:
JT Smith 2006-01-15 21:53:16 +00:00
parent 128f265678
commit 453942cb58
4 changed files with 55 additions and 7 deletions

View file

@ -411,12 +411,13 @@ sub login {
#-------------------------------------------------------------------
sub new {
my $class = shift;
my $session = shift;
my $authMethod = $_[0];
my $userId = $_[1];
my @callable = ('createAccount','deactivateAccount','displayAccount','displayLogin','login','logout','createAccountSave','deactivateAccountConfirm');
my $self = WebGUI::Auth->new($authMethod,$userId,\@callable);
$self->{_connection} = WebGUI::LDAPLink->new($self->session,($self->session->scratch->get("ldapConnection") || $self->session->setting->get("ldapConnection")))->get;
my $i18n = WebGUI::International->new($self->session, "AuthLDAP");
my $self = WebGUI::Auth->new($session,$authMethod,$userId,\@callable);
$self->{_connection} = WebGUI::LDAPLink->new($session,($session->scratch->get("ldapConnection") || $session->setting->get("ldapConnection")))->get;
my $i18n = WebGUI::International->new($session, "AuthLDAP");
my %ldapStatusCode = map { $_ => $i18n->get("LDAPLink_".$_) }
(0..21, 32,33,34,36, 48..54, 64..71, 80);
$self->{_statusCode} = \%ldapStatusCode;

View file

@ -504,7 +504,7 @@ sub login {
#-------------------------------------------------------------------
sub new {
my $class = shift;
my $session = shift;
my $session = shift;
my $authMethod = $_[0];
my $userId = $_[1];
my @callable = ('validateEmail','createAccount','deactivateAccount','displayAccount','displayLogin','login','logout','recoverPassword','resetExpiredPassword','recoverPasswordFinish','createAccountSave','deactivateAccountConfirm','resetExpiredPasswordSave','updateAccount');

View file

@ -67,7 +67,7 @@ sub add {
my $name = shift;
my $value = shift;
$self->{_settings}{$name} = $value;
$self->session->db->write("insert into settings (name,value) values (".quote($name).",".quote($value).")");
$self->session->db->write("insert into settings (name,value) values (".$self->session->db->quote($name).",".$self->session->db->quote($value).")");
}
#-------------------------------------------------------------------
@ -136,7 +136,7 @@ sub remove {
my $self = shift;
my $name = shift;
delete $self->{_settings}{$name};
$self->session->db->write("delete from settings where name=".quote($name));
$self->session->db->write("delete from settings where name=".$self->session->db->quote($name));
}
@ -175,7 +175,7 @@ sub set {
my $name = shift;
my $value = shift;
$self->{_settings}{$name} = $value;
$self->session->db->write("update settings set value=".quote($value)." where name=".quote($name));
$self->session->db->write("update settings set value=".$self->session->db->quote($value)." where name=".$self->session->db->quote($name));
}

47
t/Session_Setting.t Normal file
View file

@ -0,0 +1,47 @@
#-------------------------------------------------------------------
# WebGUI is Copyright 2001-2006 Plain Black Corporation.
#-------------------------------------------------------------------
# Please read the legal notices (docs/legal.txt) and the license
# (docs/license.txt) that came with this distribution before using
# this software.
#-------------------------------------------------------------------
# http://www.plainblack.com info@plainblack.com
#-------------------------------------------------------------------
# ---- BEGIN DO NOT EDIT ----
use strict;
use lib '../lib';
use Getopt::Long;
use WebGUI::Session;
# ---- END DO NOT EDIT ----
use Test::More tests => 4; # increment this value for each test you create
my $session = initialize(); # this line is required
$session->setting->add("test","XXX");
my ($value) = $session->db->quickArray("select value from settings where name='test'");
is($value, 'XXX', "add()");
is($session->setting->get("test"), "XXX", "get()");
$session->setting->set("test","YYY");
my ($value) = $session->db->quickArray("select value from settings where name='test'");
is($value, 'YYY', "set()");
$session->setting->remove("test");
my ($value) = $session->db->quickArray("select value from settings where name='test'");
is($value, undef, "delete()");
cleanup($session); # this line is required
# ---- DO NOT EDIT BELOW THIS LINE -----
sub initialize {
$|=1; # disable output buffering
my $configFile;
GetOptions(
'configFile=s'=>\$configFile
);
exit 1 unless ($configFile);
my $session = WebGUI::Session->open("..",$configFile);
}
sub cleanup {
my $session = shift;
$session->close();
}