From d858ab8b020e9ee9328c0b84fd7baf9fda7d6fb8 Mon Sep 17 00:00:00 2001 From: Simon Date: Mon, 24 Jan 2011 12:04:19 +0100 Subject: die insert-klasse der unittests geupdatet --- pbs-unittest.php | 120 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 106 insertions(+), 14 deletions(-) (limited to 'pbs-unittest.php') diff --git a/pbs-unittest.php b/pbs-unittest.php index 49c13ac..653bf97 100644 --- a/pbs-unittest.php +++ b/pbs-unittest.php @@ -7,43 +7,135 @@ echo 'Verbindung erfolgreich'."\n"; mysql_select_db('pbs'); -class unittest{ - +class insertClass{ function insertPerson($i){ $anz = mysql_num_rows(mysql_query("SELECT * FROM pbs_person"))+1; for($n=$anz;$n<=$anz+$i;$n++){ mysql_query("INSERT INTO pbs_person (name,firstname,registerdate,email,login,password) VALUES ('test$n','test$n',$n,'mail@mail.com','test$n','test$n');"); } + echo "$i Personen eingefügt\n"; } function insertGroup($i){ $anz = mysql_num_rows(mysql_query("SELECT * FROM pbs_group"))+1; for($n=$anz;$n<=$anz+$i;$n++){ mysql_query("INSERT INTO pbs_group (title) VALUES ('testgruppe$n');"); } + echo "$i Gruppen eingefügt\n"; } function linkGroups(){ $r = mysql_query("SELECT * FROM pbs_group"); $anz = mysql_num_rows($r); - while ($d = mysq_fetch_array($r,MYSQL_BOTH)){ + while ($d = mysql_fetch_array($r,MYSQL_BOTH)){ $data[] = $d; } - $startParent = 1; - $startChild = 2 - while(count($data)){ - mysql_query("INSERT INTO pbs_groupgroups (parentID,groupID) VALUES ($startParent, + $firstElement = array_shift($data); + $startParent = $firstElement['groupID']; + while(count($data)>0){ + $now = array_shift($data); + mysql_query("INSERT INTO pbs_groupgroups (parentID,groupID) VALUES ($startParent,".$now['groupID'].")"); + + if(count($data)%4 == 1){ + $startParent = $now['groupID']; + } + } + echo "Gruppen untereinander verbunden\n"; + } + function insertRight($i){ + $anz = mysql_num_rows(mysql_query("SELECT * FROM pbs_right"))+1; + for($n=$anz;$n<=$anz+$i;$n++){ + mysql_query("INSERT INTO `pbs_right` (`rightID`, `title`, `description`) VALUES (NULL, 'recht$n', NULL)"); } + echo "$i Rechte eingefügt\n"; + } + + function insertRole($i){ + $anzRight = mysql_num_rows(mysql_query("SELECT * FROM pbs_right"))+1; + + $r = mysql_query("SELECT * FROM pbs_group"); + $anzGroup = mysql_num_rows($r); + + $linkGroup = 1; + $anz = mysql_num_rows(mysql_query("SELECT * FROM pbs_role")); + + for($n=$anz;$n<=$anz+$i;$n++){ + if($n>4){ + $linkGroup = rand(0,$anzGroup); + } + mysql_query("INSERT INTO `pbs_role` ( + `roleID` ,`groupID` ,`title` ,`description` ) + VALUES ( + NULL , '$linkGroup', 'testgruppe$n', NULL)"); + } + echo "$i Rollen eingefügt\n"; + } + function linkRightRole(){ + $anzRight = mysql_num_rows(mysql_query("SELECT * FROM pbs_right")); + $anzRole = mysql_num_rows(mysql_query("SELECT * FROM pbs_role")); + $anz = rand(max($anzRight,$anzRole),floor($anzRight+$anzRole)); + $anz2 = $anz; + while($anz >0){ + $rightID = rand(1,$anzRight); + $roleID = rand(1,$anzRole); + $r = mysql_query("INSERT INTO `pbs_rightroles` (`roleID`, `rightID`) VALUES ('$roleID','$rightID')"); + $anz--; + } + echo "Rechte mit Rollen verbunden ($anz2 Verbindungen)\n"; + } + function createMemberships(){ + $anzPersonen = mysql_num_rows(mysql_query("SELECT * FROM pbs_person")); + $anzRole = mysql_num_rows(mysql_query("SELECT * FROM pbs_role")); + + $requester = floor($anzPersonen*0.4); + $r = mysql_query("SELECT * FROM pbs_role"); + while ($d = mysql_fetch_array($r,MYSQL_BOTH)){ + $roles[] = $d; + } + + $verbindungen = rand($anzPersonen,$anzPersonen*2); + $verbindungen2 = $verbindungen; + while ($verbindungen>0){ + $personID = rand(1,$anzPersonen); + $roleID = rand(1,$anzRole); + $r = mysql_query("INSERT INTO `pbs_rightroles` (`roleID`, `groupID`,`personID`) VALUES ('$roleID','".$roles[$roleID-1]['groupID']."','$personID')"); + $verbindungen--; + } + echo "Personen in Gruppen in bestimmten Rollen hinzugefügt ($verbindungen2 Verbindungen)\n"; + } + function createGroupRequest(){ + $anzPersonen = mysql_num_rows(mysql_query("SELECT * FROM pbs_person")); + $anzGruppen = mysql_num_rows(mysql_query("SELECT * FROM pbs_group")); + + $anz = floor($anzPersonen*0.3); + $anz2=$anz; + while($anz>0){ + $randomPerson = rand(1,$anzPersonen); + $randomGruppe = rand(1,$anzGruppen); + if(mysql_num_rows(mysql_query("SELECT pbs_membership WHERE groupID = '$randomGruppe' AND personID = '$randomPerson'") == 0){ + mysql_query("INSERT INTO pbs_grouprequest (`groupID`,`personID`,`time`) VALUES ('$randomGruppe','$randomPerson',".time().")"); + $anz--; + } + } + echo "$anz2 Gruppenanfragen wurden von Personen zu gruppen erstellt\n"; + } + + + - function startAll(){ + function insertAll(){ $this->clearAll(); - $this->insertGroup(5); + $this->insertGroup(10); $this->linkGroups(); - $this->insertPerson(4); + $this->insertPerson(20); + $this->insertRight(20); + $this->insertRole(20); + $this->linkRightRole(); + $this->createMemberships(); } function clearAll() { - mysql_query(" TRUNCATE `pbs_bootiso`; + mysql_query("TRUNCATE `pbs_bootiso`; TRUNCATE `pbs_bootmenu`; TRUNCATE `pbs_bootmenuentries`; TRUNCATE `pbs_bootos`; @@ -64,13 +156,13 @@ class unittest{ TRUNCATE `pbs_right`; TRUNCATE `pbs_rightroles`; TRUNCATE `pbs_role`; - TRUNCATE `pbs_session`;"); + TRUNCATE `pbs_session`"); } } -$u = new unittest(); -$u->startAll(); +$u = new insertClass(); +$u->insertAll(); -- cgit v1.2.3-55-g7522