From 230200926c8332c8b6d16e5f4146b34ed8c403bb Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Thu, 27 Dec 2007 22:35:57 +0000 Subject: * added more tests for basic DB-features: group, global_info and client_system_ref git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1435 95ad53e4-c205-0410-b2fa-d234c58c8868 --- config-db/OpenSLX/ConfigDB.pm | 12 +++++++++- config-db/OpenSLX/MetaDB/DBI.pm | 51 ++++++++++++++++++++++++++--------------- 2 files changed, 43 insertions(+), 20 deletions(-) (limited to 'config-db/OpenSLX') diff --git a/config-db/OpenSLX/ConfigDB.pm b/config-db/OpenSLX/ConfigDB.pm index 30809b08..9030311d 100644 --- a/config-db/OpenSLX/ConfigDB.pm +++ b/config-db/OpenSLX/ConfigDB.pm @@ -1106,6 +1106,8 @@ sub changeGlobalInfo my $id = shift; my $value = shift; + return if !defined $self->{'meta-db'}->fetchGlobalInfo($id); + return $self->{'meta-db'}->changeGlobalInfo($id, $value); } @@ -1137,7 +1139,8 @@ sub addSystem foreach my $valRow (@$valRows) { if (!$valRow->{kernel}) { $valRow->{kernel} = 'vmlinuz'; - warn( + vlog( + 1, _tr( "setting kernel of system '%s' to 'vmlinuz'!", $valRow->{name} @@ -1764,6 +1767,13 @@ sub addGroup my $self = shift; my $valRows = _aref(shift); + _checkCols($valRows, 'group', qw(name)); + + foreach my $valRow (@$valRows) { + if (!defined $valRow->{priority}) { + $valRow->{priority} = '50'; + } + } return $self->{'meta-db'}->addGroup($valRows); } diff --git a/config-db/OpenSLX/MetaDB/DBI.pm b/config-db/OpenSLX/MetaDB/DBI.pm index 380a1847..a1b782c1 100644 --- a/config-db/OpenSLX/MetaDB/DBI.pm +++ b/config-db/OpenSLX/MetaDB/DBI.pm @@ -103,6 +103,10 @@ sub _doSelect push @vals, $row; } } + + # return undef if there's no result in scalar context + return if !wantarray(); + return @vals; } @@ -183,7 +187,7 @@ sub fetchGlobalInfo my $id = shift; return if !length($id); - my $sql = "SELECT * FROM global_info WHERE id = " . $self->quote($id); + my $sql = "SELECT value FROM global_info WHERE id = " . $self->quote($id); return $self->_doSelect($sql, 'value'); } @@ -310,10 +314,11 @@ sub fetchGroupByFilter $resultCols = '*' unless (defined $resultCols); my $sql = "SELECT $resultCols FROM groups"; - my $connector; + my ($connector, $quotedVal); foreach my $col (keys %$filter) { $connector = !defined $connector ? 'WHERE' : 'AND'; - $sql .= " $connector $col = '$filter->{$col}'"; + $quotedVal = $self->{dbh}->quote($filter->{$col}); + $sql .= " $connector $col = $quotedVal"; } return $self->_doSelect($sql); } @@ -628,8 +633,10 @@ sub setClientIDsOfSystem my $clientIDs = shift; my @currClients = $self->fetchClientIDsOfSystem($systemID); - return $self->_updateRefTable('client_system_ref', $systemID, $clientIDs, - 'system_id', 'client_id', \@currClients); + return $self->_updateRefTable( + 'client_system_ref', $systemID, $clientIDs, 'system_id', 'client_id', + \@currClients + ); } sub setGroupIDsOfSystem @@ -639,8 +646,10 @@ sub setGroupIDsOfSystem my $groupIDs = shift; my @currGroups = $self->fetchGroupIDsOfSystem($systemID); - return $self->_updateRefTable('group_system_ref', $systemID, $groupIDs, - 'system_id', 'group_id', \@currGroups); + return $self->_updateRefTable( + 'group_system_ref', $systemID, $groupIDs, 'system_id', 'group_id', + \@currGroups + ); } sub addClient @@ -675,9 +684,10 @@ sub setSystemIDsOfClient my $systemIDs = shift; my @currSystems = $self->fetchSystemIDsOfClient($clientID); - $self->_updateRefTable('client_system_ref', $clientID, $systemIDs, - 'client_id', 'system_id', \@currSystems); - return; + return $self->_updateRefTable( + 'client_system_ref', $clientID, $systemIDs, 'client_id', 'system_id', + \@currSystems + ); } sub setGroupIDsOfClient @@ -687,9 +697,10 @@ sub setGroupIDsOfClient my $groupIDs = shift; my @currGroups = $self->fetchGroupIDsOfClient($clientID); - $self->_updateRefTable('group_client_ref', $clientID, $groupIDs, - 'client_id', 'group_id', \@currGroups); - return; + return $self->_updateRefTable( + 'group_client_ref', $clientID, $groupIDs, 'client_id', 'group_id', + \@currGroups + ); } sub addGroup @@ -724,9 +735,10 @@ sub setClientIDsOfGroup my $clientIDs = shift; my @currClients = $self->fetchClientIDsOfGroup($groupID); - $self->_updateRefTable('group_client_ref', $groupID, $clientIDs, 'group_id', - 'client_id', \@currClients); - return; + return $self->_updateRefTable( + 'group_client_ref', $groupID, $clientIDs, 'group_id', 'client_id', + \@currClients + ); } sub setSystemIDsOfGroup @@ -736,9 +748,10 @@ sub setSystemIDsOfGroup my $systemIDs = shift; my @currSystems = $self->fetchSystemIDsOfGroup($groupID); - $self->_updateRefTable('group_system_ref', $groupID, $systemIDs, 'group_id', - 'system_id', \@currSystems); - return; + return $self->_updateRefTable( + 'group_system_ref', $groupID, $systemIDs, 'group_id', 'system_id', + \@currSystems + ); } ################################################################################ -- cgit v1.2.3-55-g7522