main_api.lib.test.php 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707
  1. <?php
  2. use ChamiloSession as Session;
  3. require_once(api_get_path(LIBRARY_PATH).'course.lib.php');
  4. class TestMainApi extends UnitTestCase {
  5. function TestMainApi() {
  6. $this->UnitTestCase('Main API library - main/inc/lib/main_api.lib.test.php');
  7. }
  8. /*
  9. function testApiProtectCourseScript(){
  10. ob_start();
  11. $res= api_protect_course_script($print_headers=null);
  12. ob_get_contents();
  13. $this->assertTrue(is_string($res));
  14. ob_end_clean();
  15. }
  16. function testApiProtectAdminScript(){
  17. ob_start();
  18. $res = api_protect_admin_script($allow_sessions_admins=false);
  19. ob_end_clean();
  20. //$this->assertTrue(is_string($res));
  21. }
  22. function testApiBlockAnonymousUser(){
  23. ob_start();
  24. $res = api_block_anonymous_users();
  25. $this->assertTrue(is_string($res));
  26. ob_end_clean();
  27. }
  28. */
  29. function testApiGetNavigator(){
  30. ob_start();
  31. $res=api_get_navigator();
  32. $this->assertTrue($res);
  33. ob_end_clean();
  34. }
  35. function testApiIsSelfRegistrationAllowed(){
  36. $res = api_is_self_registration_allowed();
  37. $this->assertTrue(is_bool($res));
  38. //var_dump($res);
  39. }
  40. function testApiGetPath() {
  41. $path_type = trim($path_type);
  42. $path = array(
  43. WEB_PATH => '',
  44. SYS_PATH => '',
  45. REL_PATH => '',
  46. WEB_COURSE_PATH => '',
  47. SYS_COURSE_PATH => '',
  48. REL_COURSE_PATH => '',
  49. REL_CODE_PATH => '',
  50. WEB_CODE_PATH => '',
  51. SYS_CODE_PATH => '',
  52. SYS_LANG_PATH => 'lang/',
  53. WEB_IMG_PATH => 'img/',
  54. WEB_CSS_PATH => 'css/',
  55. SYS_PLUGIN_PATH => 'plugin/',
  56. WEB_PLUGIN_PATH => 'plugin/',
  57. SYS_ARCHIVE_PATH => 'archive/',
  58. WEB_ARCHIVE_PATH => 'archive/',
  59. SYS_INC_PATH => 'inc/',
  60. LIBRARY_PATH => 'inc/lib/',
  61. CONFIGURATION_PATH => 'inc/conf/',
  62. WEB_LIBRARY_PATH => 'inc/lib/',
  63. WEB_AJAX_PATH => 'inc/ajax/'
  64. );
  65. $res=api_get_path($path_type, $path);
  66. $this->assertTrue(is_null($res));
  67. //var_dump($res);
  68. }
  69. function testApiGetUserId(){
  70. $res= api_get_user_id();
  71. $this->assertPattern('/\d/',$res);
  72. }
  73. function testApiGetUserCoursesReturnTrueWhenOutOfCoursesContext(){
  74. global $tbl_user;
  75. $userid=1;
  76. $fetch_session=true;
  77. $res = api_get_user_courses($userid,$fetch_session);
  78. if(!is_null($res)) :
  79. $this->assertTrue(is_array($res));
  80. endif;
  81. //var_dump($res);
  82. }
  83. function testApiGetUserInfoReturnFalseWhenOutOfUserInfoContext(){
  84. $user_id= 1;
  85. $res = api_get_user_info($user_id);
  86. $this->assertTrue(is_array($res));
  87. //var_dump($res);
  88. }
  89. function testApiGetUserInfoUsernameReturnTrueWhenOutOfUserInfoUsernameContext(){
  90. $res=api_get_user_info_from_username();
  91. $this->assertTrue(is_bool($res));
  92. //var_dump($res);
  93. }
  94. /* Causing problems for some reason on automated tests server
  95. function testApiGetCourseIdReturnFalseWhenOutOfCourseIdContext(){
  96. $res = api_get_course_id();
  97. $this->assertEqual($res,-1);
  98. }
  99. function testApiGetCoursePathReturnFalseWhenOutOfCoursePathContext(){
  100. $res = api_get_course_path();
  101. $this->assertTrue(empty($res));
  102. }
  103. */
  104. function testApiGetCourseSettingReturnFalseWhenOutOfCourseSeetingContext(){
  105. global $_course;
  106. $course_code = $_course;
  107. $setting_name = 1;
  108. $res = api_get_course_setting($setting_name, $course_code);
  109. $this->assertTrue($res);
  110. }
  111. function testApiGetAnonymousId(){
  112. $res = api_get_anonymous_id();
  113. $this->assertTrue(is_numeric($res));
  114. }
  115. function testApiGetCidreq(){
  116. $res=api_get_cidreq();
  117. $this->assertTrue(is_string($res));
  118. }
  119. function testApiGetCourseInfo(){
  120. ob_start();
  121. $res=api_get_course_info();
  122. $this->assertTrue($res);
  123. ob_end_clean();
  124. }
  125. // function testApiSessionRegister(){
  126. // $$variable[session_register]=false;
  127. // global $$variable;
  128. // if (!headers_sent()) {
  129. // $res=Session::register($$variable, $$variable);
  130. // }
  131. // $this->assertTrue(is_null($res));
  132. // $this->assertTrue(is_null($variable[session_register]));
  133. // }
  134. function testApiSessionClear() {
  135. $variable = 'test';
  136. if (!headers_sent()) {
  137. $res=Session::clear($variable);
  138. }
  139. $this->assertTrue(is_null($res));
  140. //var_dump($res);
  141. }
  142. function testApiSessionDestroy(){
  143. if (!headers_sent()) {
  144. $res=Session::destroy();
  145. }
  146. $this->assertTrue(is_null($res));
  147. //var_dump($res);
  148. }
  149. function testApiAddUrlParamReturnsUrlWhenNoParam() {
  150. global $url;
  151. $res=api_add_url_param($url, null, $filter_xss=true);
  152. $this->assertEqual($res,$url);
  153. }
  154. function testApiGeneratePassword() {
  155. $res = api_generate_password($length = 8);
  156. $this->assertTrue(is_string($res));
  157. //var_dump($res);
  158. }
  159. function testApiCheckPassword(){
  160. $password = '';
  161. $res = api_check_password($password);
  162. $this->assertTrue(is_bool($res));
  163. //var_dump($res);
  164. }
  165. function testApiClearAnonymous(){
  166. global $_user;
  167. $_user['user_id'] = 1;
  168. $res = api_clear_anonymous($db_check=false);
  169. $this->assertTrue(is_bool($res));
  170. //var_dump($res);
  171. $this->assertTrue(isset($_user['user_id'] ));
  172. }
  173. function testApiTruncStr() {
  174. $text= 'test';
  175. $res= api_trunc_str($text, $length = 30, $suffix = '...', $middle = false, $encoding = null);
  176. $this->assertTrue(is_string($res));
  177. }
  178. function testDomesticate(){
  179. $input= 'dome';
  180. $res = domesticate($input);
  181. $this->assertTrue($res);
  182. }
  183. function testGetStatusFromCode(){
  184. $status_code = 1;
  185. $res=get_status_from_code($status_code);
  186. $this->assertTrue($res);
  187. }
  188. function testApiSetAnonymous(){
  189. $res = api_set_anonymous();
  190. $this->assertTrue(is_bool($res));
  191. }
  192. function testApiGetSessionId(){
  193. $res = api_get_session_id();
  194. $this->assertTrue(is_numeric($res));
  195. //var_dump($res);
  196. }
  197. function testApiGetSessionName(){
  198. $session_id='';
  199. $res = api_get_session_name($session_id);
  200. //$this->assertTrue(is_string($res));
  201. $this->assertTrue(is_null($res));
  202. //var_dump($res);
  203. }
  204. function testAPiGetSetting(){
  205. global $variable, $_setting;
  206. $res=api_get_setting($variable, $key= NULL);
  207. $this->assertTrue(is_null($res));
  208. //var_dump($res);
  209. }
  210. function testApiGetSelf(){
  211. $res = api_get_self();
  212. $this->assertTrue(is_string($res));
  213. //var_dump($res);
  214. }
  215. /* function deprecated
  216. function testGetLang(){
  217. global $language_interface, $language_interface_initial_value, $language_file,$variable;
  218. $res = get_lang($variable, $notrans = 'DLTT', $language = null);
  219. $this->assertTrue(is_string($res));
  220. //var_dump($res);
  221. }
  222. function testGetLangToSystemEncoding(){
  223. global $language, $name;
  224. $res=&get_lang_to_system_encoding(& $string, $language);
  225. ob_start();
  226. api_disp_html_area($name, $content ='', $height='', $width='100%', $optAttrib='');
  227. $res = ob_get_contents();
  228. $this->assertNotEqual($res,'');
  229. ob_end_clean();
  230. }
  231. function testApiGetInterfaceLanguage(){
  232. global $language_interface;
  233. $language_interface=false;
  234. ob_start();
  235. $res = api_get_interface_language();
  236. $res = ob_get_contents();
  237. $this->assertTrue(is_string($res));
  238. $this->assertTrue(isset($language_interface));
  239. ob_end_clean();
  240. //var_dump($res);
  241. }
  242. */
  243. function testApiIsPlatformAdmin(){
  244. ob_start();
  245. global $_user;
  246. $_user['status']=true;
  247. $allow_sessions_admins=true;
  248. $res= api_is_platform_admin($allow_sessions_admins=true);
  249. $this->assertTrue(is_bool($res));
  250. $this->assertTrue($_SESSION['is_platformAdmin']=true);
  251. $this->assertTrue(isset($_user['status']));
  252. ob_end_clean();
  253. //var_dump($res);
  254. }
  255. function testApiIsAllowedToCreateCourse() {
  256. $res=api_is_allowed_to_create_course();
  257. if(!is_bool($res)){
  258. $this->assertTrue(is_null($res));
  259. }
  260. }
  261. function testApiIsCourseAdminIsFalseWhenNoCourseContextDefined() {
  262. $res=api_is_course_admin();
  263. if($_SESSION['is_courseAdmin'] === 1) {
  264. $this->assertTrue($res);
  265. } else {
  266. $this->assertFalse($res);
  267. }
  268. }
  269. function testApiIsCourseCoach() {
  270. $res=api_is_course_coach();
  271. if(!is_bool($res)){
  272. $this->assertTrue(is_null($res));
  273. }
  274. }
  275. function testApiIsCoach(){
  276. global $_user;
  277. global $sessionIsCoach;
  278. $_user['user_id']=2;
  279. $sessionIsCoach=Database::store_result($result=false);
  280. $res=api_is_coach();
  281. $this->assertTrue(is_bool($res));
  282. //var_dump($res);
  283. $this->assertTrue($_user['user_id']);
  284. $this->assertTrue(is_array($sessionIsCoach));
  285. //var_dump($sessionIsCoach);
  286. }
  287. function testApiIsSessionAdmin(){
  288. global $_user;
  289. $_user['status']=true;
  290. $res=api_is_session_admin();
  291. $this->assertTrue(is_bool($res));
  292. $this->assertTrue(is_array($_user));
  293. //var_dump($_user);
  294. }
  295. function testApiDisplayToolTitle(){
  296. $tit=true;
  297. $titleElement['mainTitle']=$tit;
  298. ob_start();
  299. api_display_tool_title($titleElement);
  300. $res = ob_get_contents();
  301. $this->assertEqual($res,'<h3>1</h3>');
  302. $this->assertTrue(isset($titleElement));
  303. $this->assertTrue($titleElement['mainTitle']);
  304. $this->assertPattern('/<h3>1<\/h3>/', $res);
  305. ob_end_clean();
  306. }
  307. /* This test fails but it doesn't say much anyway
  308. function testApiDisplayToolViewOption(){
  309. ob_start();
  310. api_display_tool_view_option();
  311. $res = ob_get_contents();
  312. ob_end_clean();
  313. $this->assertTrue(empty($res));
  314. }
  315. */
  316. function testApiIsAllowedToEdit(){
  317. $is_courseAdmin=false;
  318. $res=api_is_allowed_to_edit($tutor=false,$scoach=false);
  319. $this->assertTrue(is_bool($res));
  320. $this->assertTrue(isset($is_courseAdmin));
  321. }
  322. function testApiIsAllowed(){
  323. global $_course, $_user;
  324. $tool= 'full';
  325. $action = 'delete';
  326. $res=api_is_allowed($tool, $action, $task_id=0);
  327. if(!is_bool($res)){
  328. $this->assertTrue(is_null($res));
  329. }
  330. $this->assertTrue($action);
  331. $this->assertTrue($_user['user_id']);
  332. }
  333. function testApiIsAnonymous(){
  334. global $_user, $use_anonymous;
  335. $_user['is_anonymous']=False;
  336. $res=api_is_anonymous($user_id=null, $db_check=false);
  337. $this->assertTrue(is_bool($res));
  338. $this->assertFalse(isset($user_id));
  339. $this->assertTrue(isset($_user['is_anonymous']));
  340. $this->assertTrue(is_null($use_anonymous));
  341. $this->assertTrue(is_bool($db_check));
  342. //var_dump($db_check);
  343. }
  344. function testApiNotAllowed(){
  345. ob_start();
  346. //api_not_allowed($print_headers = false);
  347. $res = ob_get_contents();
  348. $this->assertEqual($res,'');
  349. ob_end_clean();
  350. }
  351. function testApiGetItemVisibility(){
  352. global $_course;
  353. $tool = 'document';
  354. $id=1;
  355. $_course['dbName']=false;
  356. $res =api_get_item_visibility($_course,$tool,$id);
  357. $this->assertTrue(is_numeric($res));
  358. $this->assertFalse(is_bool($res));
  359. }
  360. function testApiItemPropertyUpdate(){
  361. global $_course, $tool, $item_id, $lastedit_type, $user_id;
  362. $res=api_item_property_update($_course, $tool, $item_id, $lastedit_type, $user_id, $to_group_id = 0, $to_user_id = NULL, $start_visible = 0, $end_visible = 0);
  363. $this-> assertTrue($res);
  364. }
  365. function testApiGetLanguagesCombo(){
  366. $res=api_get_languages_combo($name="language");
  367. $this->assertTrue($res);
  368. }
  369. function testApiDisplayLanguageForm(){
  370. ob_start();
  371. api_display_language_form($hide_if_no_choice=false);
  372. $res = ob_get_contents();
  373. $this->assertNotEqual($res,'');
  374. ob_end_clean();
  375. }
  376. function testApiGetLanguages(){
  377. $res= api_get_languages();
  378. $this->assertTrue($res);
  379. }
  380. function testApiGetThemes(){
  381. $cssdir= api_get_path(SYS_CSS_PATH);
  382. $res=api_get_themes();
  383. $this->assertTrue($res);
  384. $this->assertTrue($cssdir);
  385. }
  386. function testApiMaxSortValue(){
  387. $user_course_category=1;
  388. $user_id =1;
  389. $res= api_max_sort_value($user_course_category,$user_id);
  390. $this->assertTrue(is_null($res));
  391. //var_dump($res);
  392. }
  393. function testApiNumberOfPlugins(){
  394. global $_plugins;
  395. $location=2;
  396. $_plugins[$location]=1;
  397. $res=api_number_of_plugins($location);
  398. $this->assertFalse($res);
  399. $this->assertTrue($_plugins[$location]);
  400. }
  401. function testApiTimeToHms(){
  402. $seconds = -1;
  403. ob_start();
  404. api_time_to_hms($seconds);
  405. $res = ob_get_contents();
  406. $this-> assertTrue(is_string($res));
  407. ob_end_clean();
  408. //var_dump($res);
  409. }
  410. public function testApiGetPermissionsForNewDirectories() {
  411. $perm = trim(api_get_setting('permissions_for_new_directories'));
  412. $perm = octdec(!empty($perm) ? $perm : '0777');
  413. $res = api_get_permissions_for_new_directories();
  414. $this->assertTrue($res === $perm);
  415. //var_dump($res);
  416. }
  417. public function testApiGetPermissionsForNewFiles() {
  418. $perm = trim(api_get_setting('permissions_for_new_files'));
  419. $perm = octdec(!empty($perm) ? $perm : '0666');
  420. $res = api_get_permissions_for_new_files();
  421. $this->assertTrue($res === $perm);
  422. //var_dump($res);
  423. }
  424. function testCopyr_file_to_nothing(){
  425. $source = api_get_path(SYS_CODE_PATH).'admin/add_users_to_session.php';
  426. $dest = '';
  427. $res = copyr($source, $dest, $exclude=array(), $copied_files=array());
  428. $this->assertFalse($res,'Function coyr() should have not proceeeded because of empty destination');
  429. //var_dump($res);
  430. }
  431. function testApiGetVersion(){
  432. global $_configuration;
  433. $res = api_get_version();
  434. $this->assertTrue($res);
  435. }
  436. function testApiStatusExists(){
  437. $status_asked = 'user';
  438. $res = api_status_exists($status_asked);
  439. $this->assertTrue(is_bool($res));
  440. }
  441. /* Fails for some reason on automated tests server
  442. function testApiStatusKey(){
  443. $status = 'user';
  444. $res = api_status_key($status);
  445. //var_dump($res);
  446. $this->assertEqual($res,STUDENT);
  447. }
  448. */
  449. function testApiGetStatusLangvars(){
  450. $res = api_get_status_langvars();
  451. $this->assertTrue(is_array($res));
  452. }
  453. function testApiSetSetting(){
  454. ob_start();
  455. $var = 0;
  456. $value = 2;
  457. $res = api_set_setting($var,$value,$subvar=null,$cat=null,$access_url=1);
  458. $this->assertTrue(is_bool($res));
  459. ob_end_clean();
  460. //var_dump($res);
  461. }
  462. function testApiSetSettingsCategory(){
  463. $category = $_GET['category'];
  464. $res = api_set_settings_category($category,$value=null,$access_url=1);
  465. $this->assertTrue(is_null($category));
  466. $this->assertTrue(is_bool($res));
  467. //var_dump($res);
  468. //var_dump($category);
  469. }
  470. function testApiGetAccessUrls(){
  471. $res = api_get_access_urls($from=0,$to=1000000,$order='url',$direction='ASC');
  472. $this->assertTrue(is_array($res));
  473. //var_dump($res);
  474. }
  475. function testApiGetAccessUrl(){
  476. $id=1;
  477. $res = api_get_access_url($id);
  478. $this->assertTrue(is_array($res));
  479. }
  480. function testApiGetSettings(){
  481. $res = api_get_settings($cat=null,$ordering='list',$access_url=1,$url_changeable=0);
  482. $this->assertTrue(is_array($res));
  483. //var_dump($res);
  484. }
  485. function testApiDeleteSetting(){
  486. $v = false;
  487. $res = api_delete_setting($v, $s=NULL, $a=1);
  488. $this->assertTrue(is_bool($res));
  489. //var_dump($res);
  490. }
  491. function testApiAddSetting(){
  492. $sk=null;
  493. $type='textfield';
  494. $c=null;
  495. $title='';
  496. $com='';
  497. $sc=null;
  498. $skt=null;
  499. $a=1;
  500. $v=0;
  501. $va=array('val'=>10, 'var'=>'name');
  502. $res= api_add_setting($va['val'],$va['var'],null,null,null,null,null,null,null,null,null);
  503. $this->assertTrue(is_bool($res));
  504. //var_dump($res);
  505. }
  506. function testApiIsCourseVisibleForUser() {
  507. global $_user, $cidReq;
  508. $userid = $_user;
  509. $cid = $cidReq ;
  510. $res = api_is_course_visible_for_user($userid, $cid);
  511. $this->assertTrue(is_bool($res));
  512. //var_dump($res);
  513. }
  514. function testApiIsElementInTheSession(){
  515. ob_start();
  516. $_tool['tool'] = 'TOOL_SURVEY';
  517. $_id['element_id']=3;
  518. $res = api_is_element_in_the_session($_tool['tool'], $_id['element_id'], $session_id=null);
  519. $this->assertTrue(is_bool($res));
  520. $this->assertTrue((isset($_tool['tool'],$_id['element_id'])));
  521. ob_end_clean();
  522. //var_dump($res);
  523. }
  524. function testReplaceDangerousChar(){
  525. $filename =ereg_replace("\.+$", "", substr(strtr(ereg_replace(
  526. "[^!-~\x80-\xFF]", "_", trim($filename)), '\/:*?"<>|\'',
  527. /*Keep C1 controls for UTF-8 streams **/ '-----_---_'), 0, 250));
  528. $res = api_replace_dangerous_char($filename);
  529. $this->assertEqual($res,$filename, $message = 'no se pudo');
  530. }
  531. function testApiRequestUri(){
  532. $res = api_request_uri();
  533. $this->assertTrue($res);
  534. }
  535. function testApiGetCurrentAccessUrlId(){
  536. $res=api_get_current_access_url_id();
  537. $this->assertTrue($res);
  538. }
  539. function testApiGetAccessUrlFromUser(){
  540. $user_id=1;
  541. $res= api_get_access_url_from_user($user_id);
  542. $this->assertTrue(is_array($res));
  543. //var_dump($res);
  544. }
  545. function testApiGetStatusOfUserInCourse(){
  546. $id = array(
  547. 'c_id'=>'1',
  548. 'user_id'=>'1');
  549. $res=api_get_status_of_user_in_course($id['user_id'], $id['c_id']);
  550. $this->assertTrue(is_null($res));
  551. //var_dump($res);
  552. }
  553. function testApiIsInGroup(){
  554. $res=api_is_in_group($group_id=null, $course_code=null);
  555. $this->assertTrue(is_bool($res));
  556. //var_dump($res);
  557. }
  558. function testApiIsXmlHttpRequest(){
  559. $res=api_is_xml_http_request();
  560. $this->assertTrue(isset($res));
  561. }
  562. function testApiIsValidSecretKey(){
  563. global $_configuration;
  564. $key = array(
  565. 'original_key_secret'=>'2121212',
  566. 'security_key'=>'2121212');
  567. $res = api_is_valid_secret_key($key['original_key_secret'],$key['security_key']);
  568. $this->assertTrue($_configuration);
  569. $this->assertFalse($res);
  570. $this->assertTrue($key);
  571. $this->assertEqual($key['original_key_secret'],$key['security_key'], $message ='%s');
  572. }
  573. function testApiIsUserOfCourse(){
  574. $course_id = 1;
  575. $user_id = 1;
  576. $tbl_course_rel_user =false;
  577. $sql='SELECT user_id FROM '.$tbl_course_rel_user.' WHERE course_code="'.Database::escape_string($course_id).'" AND user_id="'.Database::escape_string($user_id).'"';
  578. $res= api_is_user_of_course($course_id, $user_id);
  579. $this->assertFalse($res);
  580. $this->assertFalse($tbl_course_rel_user);
  581. $this->assertTrue($sql);
  582. }
  583. function testApiIsWindowsOs(){
  584. $res= api_is_windows_os();
  585. $this->assertTrue(is_bool($res));
  586. //var_dump($res);
  587. }
  588. function testApiResizeImage(){
  589. //global $image, $target_width, $target_height;
  590. $resize = array('image' =>'image.jpg', 'target_width'=>100, 'target_height'=>100);
  591. $res = api_resize_image($resize['image'],$resize['target_width'],$resize['target_height']);
  592. $this->assertTrue(is_array($res));
  593. $this->assertWithinMargin($first = 10, $second=20,$margin=200, $message = 'no se pudo redimensionar imagen');
  594. //var_dump($res);
  595. }
  596. function testApiCalculateImageSize(){
  597. global $image_width, $image_height, $target_width, $target_height;
  598. $result = array($image_width, $image_height);
  599. $res = api_calculate_image_size($image_width, $image_height, $target_width, $target_height);
  600. $this->assertTrue(is_array($res));
  601. $this->assertTrue($result);
  602. //var_dump($res);
  603. }
  604. function testApiGetToolsLists(){
  605. $tool_list = 'false';
  606. $res = api_get_tools_lists($my_tool =null);
  607. $this->assertTrue(is_array($res));
  608. $this->assertTrue($tool_list);
  609. //var_dump($res);
  610. }
  611. public function TestDeleteCourse() {
  612. $code = 'COURSETEST';
  613. $res = CourseManager::delete_course($code);
  614. $path = api_get_path(SYS_PATH).'archive';
  615. if ($handle = opendir($path)) {
  616. while (false !== ($file = readdir($handle))) {
  617. if (strpos($file,$code)!==false) {
  618. if (is_dir($path.'/'.$file)) {
  619. rmdirr($path.'/'.$file);
  620. }
  621. }
  622. }
  623. closedir($handle);
  624. }
  625. }
  626. }
  627. ?>