Browse Source

Added test script to inject 100,000 users in a row to enable stress tests - refs #4127

Yannick Warnier 12 years ago
parent
commit
64cb14f351
1 changed files with 38 additions and 0 deletions
  1. 38 0
      tests/datafiller/fill_many_users.php

+ 38 - 0
tests/datafiller/fill_many_users.php

@@ -0,0 +1,38 @@
+<?php //$id$
+/**
+ * This script contains a data filling procedure for users
+ * @author Yannick Warnier <yannick.warnier@beeznest.com>
+ *
+ */
+/**
+ * Initialisation section
+ */
+require '../../main/inc/global.inc.php';
+/**
+ * Executing
+ */
+fill_many_users(100000);
+/**
+ * Loads the data and injects it into the Chamilo database, using the Chamilo
+ * internal functions.
+ * @return  array  List of user IDs for the users that have just been inserted
+ */
+function fill_many_users($num) {
+	$eol = PHP_EOL;
+    $users = array(); //declare only to avoid parsing notice
+    require_once 'data_users.php'; //fill the $users array
+    $i = 1;
+    while ($i < $num) {
+      $output = array();
+      $output[] = array('title'=>'Users Filling Report:');
+      foreach ($users as $j => $user) {
+        //first check that the first item doesn't exist already
+    	$output[$i]['line-init'] = $user['firstname'];
+        $res = UserManager::create_user($user['firstname'],$user['lastname'],$user['status'],$user['email'],$user['username'].$i,$user['pass'],null,null,null,null,$user['auth_source'],null,$user['active']);
+    	$output[$i]['line-info'] = ($res ? get_lang('Inserted') : get_lang('NotInserted')).' '.$user['username'].$i;
+    	$i++;
+      }
+      print_r($output);
+    }
+    //return $output;
+}