test_suite.php 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. <?php
  2. //Set the time limit for the tests
  3. ini_set('memory_limit','256M');
  4. ini_set('max_execution_time','0');
  5. $maindir = dirname(__FILE__).'/../main/';
  6. $incdir = dirname(__FILE__).'/../main/inc/';
  7. $libdir = dirname(__FILE__).'/../main/inc/lib/';
  8. //Need the ob start and clean else will show the objects
  9. require_once $incdir.'global.inc.php';
  10. //List of files than need the tests
  11. require_once 'simpletest/unit_tester.php';
  12. require_once 'simpletest/web_tester.php';
  13. require_once 'simpletest/mock_objects.php';
  14. require_once 'simpletest/autorun.php';
  15. require_once $libdir.'urlmanager.lib.php';
  16. require_once $libdir.'fileDisplay.lib.php';
  17. require_once $maindir.'permissions/permissions_functions.inc.php';
  18. require_once $libdir.'groupmanager.lib.php';
  19. require_once $libdir.'course.lib.php';
  20. require_once $libdir.'usermanager.lib.php';
  21. require_once $libdir.'social.lib.php';
  22. require_once $libdir.'xht.lib.php';
  23. require_once $libdir.'xmd.lib.php';
  24. require_once $libdir.'formvalidator/FormValidator.class.php';
  25. //Need the ob start and clean else will show the objects
  26. ob_start();
  27. require_once $libdir.'main_api.lib.php';
  28. require_once $libdir.'course_document.lib.php';
  29. require_once $libdir.'banner.lib.php';
  30. require_once $libdir.'add_course.lib.inc.php';
  31. require_once $incdir.'tool_navigation_menu.inc.php';
  32. require_once $incdir.'banner.inc.php';
  33. require_once $libdir.'geometry.lib.php';
  34. ob_end_clean();
  35. //List of files than need the tests since chamilo
  36. require_once $maindir.'admin/calendar.lib.php';
  37. require_once $maindir.'admin/statistics/statistics.lib.php';
  38. require_once $maindir.'dropbox/dropbox_class.inc.php';
  39. require_once $maindir.'dropbox/dropbox_functions.inc.php';
  40. require_once $maindir.'survey/survey.lib.php';
  41. require_once $maindir.'install/install_upgrade.lib.php';
  42. require_once $maindir.'exercice/export/scorm/scorm_classes.php';
  43. require_once $maindir.'exercice/export/qti2/qti2_classes.php';
  44. require_once $maindir.'exercice/export/exercise_import.inc.php';
  45. require_once $maindir.'exercice/exercise_result.class.php';
  46. require_once $libdir.'exercise_show_functions.lib.php';
  47. require_once $maindir.'exercice/answer.class.php';
  48. require_once $maindir.'exercice/exercise.class.php';
  49. require_once $libdir.'fileManage.lib.php';
  50. class TestsSuite extends TestSuite {
  51. function setUp() {
  52. global $_configuration, $_user, $_course, $cidReq;
  53. $cidReq = 'COURSETEST';
  54. // check if course exists
  55. $table_course = Database::get_main_table(TABLE_MAIN_COURSE);
  56. $sql = "SELECT code FROM $table_course WHERE code = '$cidReq' ";
  57. $rs = Database::query($sql, __FILE__, __LINE__);
  58. $row = Database::fetch_row($rs);
  59. if (empty($row[0])) {
  60. // create a course
  61. $course_datos = array(
  62. 'wanted_code'=> $cidReq,
  63. 'title'=>$cidReq,
  64. 'tutor_name'=>'John Doe',
  65. 'category_code'=>'LANG',
  66. 'course_language'=>'spanish',
  67. 'course_admin_id'=>'001',
  68. 'db_prefix'=> $_configuration['db_prefix'],
  69. 'firstExpirationDelay'=>'999'
  70. );
  71. $res = create_course($course_datos['wanted_code'], $course_datos['title'],
  72. $course_datos['tutor_name'], $course_datos['category_code'],
  73. $course_datos['course_language'],$course_datos['course_admin_id'],
  74. $course_datos['db_prefix'], $course_datos['firstExpirationDelay']);
  75. }
  76. $course_table = Database::get_main_table(TABLE_MAIN_COURSE);
  77. $course_cat_table = Database::get_main_table(TABLE_MAIN_CATEGORY);
  78. $sql = "SELECT course.*, course_category.code faCode, course_category.name faName
  79. FROM $course_table
  80. LEFT JOIN $course_cat_table
  81. ON course.category_code = course_category.code
  82. WHERE course.code = '$cidReq'";
  83. $result = Database::query($sql,__FILE__,__LINE__);
  84. //create the session
  85. if (Database::num_rows($result)>0) {
  86. $cData = Database::fetch_array($result);
  87. $_cid = $cData['code' ];
  88. $_course = array();
  89. $_course['id' ] = $cData['code' ]; //auto-assigned integer
  90. $_course['name' ] = $cData['title' ];
  91. $_course['official_code'] = $cData['visual_code' ]; // use in echo
  92. $_course['sysCode' ] = $cData['code' ]; // use as key in db
  93. $_course['path' ] = $cData['directory']; // use as key in path
  94. $_course['dbName' ] = $cData['db_name' ]; // use as key in db list
  95. $_course['dbNameGlu' ] = $_configuration['table_prefix'] . $cData['db_name'] . $_configuration['db_glue']; // use in all queries
  96. $_course['titular' ] = $cData['tutor_name' ];
  97. $_course['language' ] = $cData['course_language' ];
  98. $_course['extLink' ]['url' ] = $cData['department_url' ];
  99. $_course['extLink' ]['name'] = $cData['department_name'];
  100. $_course['categoryCode'] = $cData['faCode' ];
  101. $_course['categoryName'] = $cData['faName' ];
  102. $_course['visibility' ] = $cData['visibility'];
  103. $_course['subscribe_allowed'] = $cData['subscribe'];
  104. $_course['unubscribe_allowed'] = $cData['unsubscribe'];
  105. api_session_register('_cid');
  106. api_session_register('_course');
  107. }
  108. $_SESSION['_user']['user_id'] = 1;
  109. $_user['user_id'] = $_SESSION['_user']['user_id'];
  110. $_SESSION['is_courseAdmin'] = 1;
  111. $_SESSION['show'] = showall;
  112. }
  113. function TestsSuite() {
  114. $this->setUp();
  115. $this->TestSuite('All tests suite');
  116. /*$this->addTestFile(dirname(__FILE__).'/main/install/install_upgrade.lib.test.php');
  117. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/database.lib.test.php');
  118. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/add_course.lib.inc.test.php');
  119. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/course.lib.test.php');
  120. $this->addTestFile(dirname(__FILE__).'/main/inc/banner.lib.test.php');
  121. $this->addTestFile(dirname(__FILE__).'/main/admin/calendar.lib.test.php');
  122. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/surveymanager.lib.test.php');
  123. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/session_handler.class.test.php');
  124. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/sessionmanager.lib.test.php');
  125. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/classmanager.lib.test.php');
  126. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/export.lib.inc.test.php');
  127. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/legal.lib.test.php');
  128. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/mail.lib.inc.test.php');
  129. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/message.lib.test.php');
  130. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/online.inc.test.php');
  131. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/security.lib.test.php');
  132. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/specific_fields_manager.lib.test.php');
  133. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/social.lib.test.php');
  134. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/sortabletable.class.test.php');
  135. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/statsUtils.lib.inc.test.php');
  136. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/tablesort.lib.test.php');
  137. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/text.lib.test.php');
  138. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/tracking.lib.test.php');
  139. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/blog.lib.test.php');
  140. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/urlmanager.lib.test.php');
  141. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/stats.lib.inc.test.php');
  142. $this->addTestFile(dirname(__FILE__).'/main/inc/course_document.lib.test.php');
  143. $this->addTestFile(dirname(__FILE__).'/main/inc/tool_navigation_menu.inc.test.php');
  144. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/display.lib.test.php');
  145. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/document.lib.test.php');
  146. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/events.lib.inc.test.php');
  147. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/fileDisplay.lib.test.php');
  148. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/fileManage.lib.test.php');
  149. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/geometry.lib.test.php');
  150. $this->addTestFile(dirname(__FILE__).'/main/admin/statistics/statistics.lib.test.php');
  151. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/access_url_edit_courses_to_url_functions.lib.test.php');
  152. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/access_url_edit_sessions_to_url_functions.lib.test.php');
  153. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/access_url_edit_users_to_url_functions.lib.test.php');
  154. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/add_courses_to_sessions_functions.lib.test.php');
  155. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/add_many_session_to_category_functions.lib.test.php');
  156. //$this->addTestFile(dirname(__FILE__).'/main/admin/access_urls.test.php');
  157. $this->addTestFile(dirname(__FILE__).'/main/admin/sub_language.class.test.php');
  158. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/add_courses_to_sessions_functions.lib.test.php');
  159. $this->addTestFile(dirname(__FILE__).'/main/auth/lost_password.lib.test.php');
  160. $this->addTestFile(dirname(__FILE__).'/main/auth/openid/xrds.lib.test.php');
  161. $this->addTestFile(dirname(__FILE__).'/main/chat/chat_functions.lib.test.php');
  162. $this->addTestFile(dirname(__FILE__).'/main/conference/get_translation.lib.test.php');
  163. $this->addTestFile(dirname(__FILE__).'/main/exercice/hotpotatoes.lib.test.php');
  164. $this->addTestFile(dirname(__FILE__).'/main/newscorm/scorm.lib.test.php');
  165. $this->addTestFile(dirname(__FILE__).'/main/survey/survey.lib.test.php');
  166. $this->addTestFile(dirname(__FILE__).'/main/user/userInfoLib.test.php');
  167. $this->addTestFile(dirname(__FILE__).'/main/webservices/user_import/import.lib.test.php');
  168. $this->addTestFile(dirname(__FILE__).'/main/work/work.lib.test.php');
  169. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/glossary.lib.test.php');
  170. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/notebook.lib.test.php');
  171. $this->addTestFile(dirname(__FILE__).'/main/permissions/permissions_functions.inc.test.php');
  172. $this->addTestFile(dirname(__FILE__).'/main/resourcelinker/resourcelinker.inc.test.php');
  173. $this->addTestFile(dirname(__FILE__).'/main/survey/survey.lib.test.php');
  174. $this->addTestFile(dirname(__FILE__).'/main/dropbox/dropbox_class.inc.test.php');
  175. $this->addTestFile(dirname(__FILE__).'/main/dropbox/dropbox_functions.inc.test.php');
  176. $this->addTestFile(dirname(__FILE__).'/main/search/search_suggestions.test.php');
  177. $this->addTestFile(dirname(__FILE__).'/main/exercice/export/qti2/qti2_classes.test.php');
  178. $this->addTestFile(dirname(__FILE__).'/main/exercice/export/scorm/scorm_classes.test.php');
  179. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/usermanager.lib.test.php');
  180. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/groupmanager.lib.test.php');
  181. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/image.lib.test.php');
  182. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/import.lib.test.php');
  183. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/internationalization.lib.test.php');
  184. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/system_announcements.lib.test.php');
  185. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/fileUpload.lib.test.php');
  186. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/main_api.lib.test.php');//this file delete the course
  187. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/debug.lib.inc.test.php');//this file need be to the finish of the tests
  188. */
  189. //This files has metadata, are deprecated, are not implemented and is not available for the test.
  190. //$this->addTestFile(dirname(__FILE__).'/main/inc/lib/xht.lib.test.php');
  191. //$this->addTestFile(dirname(__FILE__).'/main/inc/lib/xmd.lib.test.php');
  192. //$this->addTestFile(dirname(__FILE__).'/main/exercice/export/qti/qti_classes.test.php');
  193. //$this->addTestFile(dirname(__FILE__).'/main/exercice/export/qti2/qti2_export.test.php');
  194. //$this->addTestFile(dirname(__FILE__).'/main/exercice/export/exercise_import.inc.test.php');
  195. //$this->addTestFile(dirname(__FILE__).'/main/exercice/export/scorm/scorm_export.test.php');
  196. /**EJERCICIOS**/
  197. $this->addTestFile(dirname(__FILE__).'/main/exercice/answer.class.test.php');
  198. $this->addTestFile(dirname(__FILE__).'/main/exercice/exercise_result.class.test.php');
  199. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/exercise_show_functions.lib.test.php');
  200. $this->addTestFile(dirname(__FILE__).'/main/exercice/exercise.class.test.php');
  201. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/main_api.lib.test.php');//this file delete the course
  202. $this->addTestFile(dirname(__FILE__).'/main/inc/lib/debug.lib.inc.test.php');//this file need be to the finish of the tests
  203. }
  204. }
  205. $test = &new TestsSuite();
  206. ?>