main_api.lib.test.php 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868
  1. <?php
  2. require_once(api_get_path(LIBRARY_PATH).'course.lib.php');
  3. class TestMainApi extends UnitTestCase {
  4. function TestMainApi() {
  5. $this->UnitTestCase('Main API tests');
  6. }
  7. /*
  8. function testApiProtectCourseScript(){
  9. ob_start();
  10. $res= api_protect_course_script($print_headers=null);
  11. ob_get_contents();
  12. $this->assertTrue(is_string($res));
  13. ob_end_clean();
  14. }
  15. function testApiProtectAdminScript(){
  16. ob_start();
  17. $res = api_protect_admin_script($allow_sessions_admins=false);
  18. ob_end_clean();
  19. //$this->assertTrue(is_string($res));
  20. }
  21. function testApiBlockAnonymousUser(){
  22. ob_start();
  23. $res = api_block_anonymous_users();
  24. $this->assertTrue(is_string($res));
  25. ob_end_clean();
  26. }
  27. */
  28. function testApiGetNavigator(){
  29. ob_start();
  30. $res=api_get_navigator();
  31. $this->assertTrue($res);
  32. ob_end_clean();
  33. }
  34. function testApiIsSelfRegistrationAllowed(){
  35. $res = api_is_self_registration_allowed();
  36. $this->assertTrue(is_bool($res));
  37. //var_dump($res);
  38. }
  39. function testApiGetPath() {
  40. $path_type = trim($path_type);
  41. $path = array(
  42. WEB_PATH => '',
  43. SYS_PATH => '',
  44. REL_PATH => '',
  45. REL_SYS_PATH => '',
  46. WEB_SERVER_ROOT_PATH => '',
  47. SYS_SERVER_ROOT_PATH => '',
  48. WEB_COURSE_PATH => '',
  49. SYS_COURSE_PATH => '',
  50. REL_COURSE_PATH => '',
  51. REL_CODE_PATH => '',
  52. WEB_CODE_PATH => '',
  53. SYS_CODE_PATH => '',
  54. SYS_LANG_PATH => 'lang/',
  55. WEB_IMG_PATH => 'img/',
  56. WEB_CSS_PATH => 'css/',
  57. GARBAGE_PATH => 'archive/', // Deprecated?
  58. SYS_PLUGIN_PATH => 'plugin/',
  59. WEB_PLUGIN_PATH => 'plugin/',
  60. SYS_ARCHIVE_PATH => 'archive/',
  61. WEB_ARCHIVE_PATH => 'archive/',
  62. INCLUDE_PATH => 'inc/',
  63. LIBRARY_PATH => 'inc/lib/',
  64. CONFIGURATION_PATH => 'inc/conf/',
  65. WEB_LIBRARY_PATH => 'inc/lib/',
  66. WEB_AJAX_PATH => 'inc/ajax/'
  67. );;
  68. $res=api_get_path($path_type, $path);
  69. $this->assertTrue(is_null($res));
  70. //var_dump($res);
  71. }
  72. function testApiGetUserId(){
  73. $res= api_get_user_id();
  74. $this->assertPattern('/\d/',$res);
  75. }
  76. function testApiGetUserCoursesReturnTrueWhenOutOfCoursesContext(){
  77. global $tbl_user;
  78. $userid=1;
  79. $fetch_session=true;
  80. $res = api_get_user_courses($userid,$fetch_session);
  81. if(!is_null($res)) :
  82. $this->assertTrue(is_array($res));
  83. endif;
  84. //var_dump($res);
  85. }
  86. function testApiGetUserInfoReturnFalseWhenOutOfUserInfoContext(){
  87. $user_id= 1;
  88. $res = api_get_user_info($user_id);
  89. $this->assertTrue(is_array($res));
  90. //var_dump($res);
  91. }
  92. function testApiGetUserInfoUsernameReturnTrueWhenOutOfUserInfoUsernameContext(){
  93. $res=api_get_user_info_from_username();
  94. $this->assertTrue(is_bool($res));
  95. //var_dump($res);
  96. }
  97. function testApiGetCourseIdReturnFalseWhenOutOfCourseIdContext(){
  98. $res =api_get_course_id();
  99. $this->assertTrue($res);
  100. }
  101. function testApiGetCoursePathReturnFalseWhenOutOfCoursePathContext(){
  102. $res = api_get_course_path();
  103. if(!is_null($res)) :
  104. $this->assertTrue(is_string($res));
  105. endif;
  106. //var_dump($res);
  107. }
  108. function testApiGetCourseSettingReturnFalseWhenOutOfCourseSeetingContext(){
  109. global $_course;
  110. $course_code = $_course;
  111. $setting_name = 1;
  112. $res = api_get_course_setting($setting_name, $course_code);
  113. $this->assertTrue($res);
  114. }
  115. function testApiGetAnonymousId(){
  116. $res = api_get_anonymous_id();
  117. $this->assertTrue(is_numeric($res));
  118. }
  119. function testApiGetCidreq(){
  120. $res=api_get_cidreq();
  121. $this->assertTrue($res);
  122. }
  123. function testApiGetCourseInfo(){
  124. ob_start();
  125. $res=api_get_course_info();
  126. $this->assertTrue($res);
  127. ob_end_clean();
  128. }
  129. function testApiSessionStart(){
  130. if (!headers_sent()) {
  131. $res = api_session_start($already_sintalled=true);
  132. }
  133. $this->assertTrue(is_null($res));
  134. //var_dump($res);
  135. }
  136. function testApiSessionRegister(){
  137. $$variable[session_register]=false;
  138. global $$variable;
  139. if (!headers_sent()) {
  140. $res=api_session_register($$variable);
  141. }
  142. $this->assertTrue(is_null($res));
  143. $this->assertTrue(is_null($variable[session_register]));
  144. //var_dump($variable);
  145. }
  146. function testApiSessionUnregister() {
  147. $variable=strval($variable);
  148. $res=api_session_unregister($variable);
  149. $this->assertTrue(is_null($res));
  150. $this->assertTrue(is_null($_SESSION[$variable]=null));
  151. }
  152. function testApiSessionClear() {
  153. $variable = 'test';
  154. if (!headers_sent()) {
  155. $res=api_session_clear($variable);
  156. }
  157. $this->assertTrue(is_null($res));
  158. //var_dump($res);
  159. }
  160. function testApiSessionDestroy(){
  161. if (!headers_sent()) {
  162. $res=api_session_destroy();
  163. }
  164. $this->assertTrue(is_null($res));
  165. //var_dump($res);
  166. }
  167. function testApiAddUrlParam() {
  168. global $url , $param ;
  169. $res=api_add_url_param($url, $param, $filter_xss=true);
  170. $this->assertTrue(is_null($res));
  171. //var_dump($res);
  172. }
  173. function testApiGeneratePassword() {
  174. $res = api_generate_password($length = 8);
  175. $this->assertTrue(is_string($res));
  176. //var_dump($res);
  177. }
  178. function testApiCheckPassword(){
  179. $password = '';
  180. $res = api_check_password($password);
  181. $this->assertTrue(is_bool($res));
  182. //var_dump($res);
  183. }
  184. function testApiClearAnonymous(){
  185. global $_user;
  186. $_user['user_id'] = 1;
  187. $res = api_clear_anonymous($db_check=false);
  188. $this->assertTrue(is_bool($res));
  189. //var_dump($res);
  190. $this->assertTrue(isset($_user['user_id'] ));
  191. }
  192. function testApiTruncStr() {
  193. $text= 'test';
  194. $res= api_trunc_str($text, $length = 30, $suffix = '...', $middle = false, $encoding = null);
  195. $this->assertTrue(is_string($res));
  196. }
  197. function testDomesticate(){
  198. $input= 'dome';
  199. $res = domesticate($input);
  200. $this->assertTrue($res);
  201. }
  202. function testGetStatusFromCode(){
  203. $status_code = 1;
  204. $res=get_status_from_code($status_code);
  205. $this->assertTrue($res);
  206. }
  207. function testApiSetFailure(){
  208. global $api_failureList;
  209. $failureType=true;
  210. $res = api_set_failure($failureType);
  211. $this->assertTrue(is_bool($res));
  212. $this->assertTrue($api_failureList);
  213. }
  214. function testApiSetAnonymous(){
  215. $res = api_set_anonymous();
  216. $this->assertTrue(is_bool($res));
  217. }
  218. function testApiGetLastFailure(){
  219. $res= api_Get_last_failure();
  220. $this->assertTrue($res);
  221. }
  222. function testApiGetSessionId(){
  223. $res = api_get_session_id();
  224. $this->assertTrue(is_numeric($res));
  225. //var_dump($res);
  226. }
  227. function testApiGetSessionName(){
  228. $session_id='';
  229. $res = api_get_session_name($session_id);
  230. //$this->assertTrue(is_string($res));
  231. $this->assertTrue(is_null($res));
  232. //var_dump($res);
  233. }
  234. function testAPiGetSetting(){
  235. global $variable, $_setting;
  236. $res=api_get_setting($variable, $key= NULL);
  237. $this->assertTrue(is_null($res));
  238. //var_dump($res);
  239. }
  240. function testApiGetSelf(){
  241. $res = api_get_self();
  242. $this->assertTrue(is_string($res));
  243. //var_dump($res);
  244. }
  245. /* function deprecated
  246. function testGetLang(){
  247. global $language_interface, $language_interface_initial_value, $language_file,$variable;
  248. $res = get_lang($variable, $notrans = 'DLTT', $language = null);
  249. $this->assertTrue(is_string($res));
  250. //var_dump($res);
  251. }
  252. function testGetLangToSystemEncoding(){
  253. global $language, $name;
  254. $res=&get_lang_to_system_encoding(& $string, $language);
  255. ob_start();
  256. api_disp_html_area($name, $content ='', $height='', $width='100%', $optAttrib='');
  257. $res = ob_get_contents();
  258. $this->assertNotEqual($res,'');
  259. ob_end_clean();
  260. }
  261. function testApiGetInterfaceLanguage(){
  262. global $language_interface;
  263. $language_interface=false;
  264. ob_start();
  265. $res = api_get_interface_language();
  266. $res = ob_get_contents();
  267. $this->assertTrue(is_string($res));
  268. $this->assertTrue(isset($language_interface));
  269. ob_end_clean();
  270. //var_dump($res);
  271. }
  272. */
  273. function testApiIsPlatformAdmin(){
  274. ob_start();
  275. global $_user;
  276. $_user['status']=true;
  277. $allow_sessions_admins=true;
  278. $res= api_is_platform_admin($allow_sessions_admins=true);
  279. $this->assertTrue(is_bool($res));
  280. $this->assertTrue($_SESSION['is_platformAdmin']=true);
  281. $this->assertTrue(isset($_user['status']));
  282. ob_end_clean();
  283. //var_dump($res);
  284. }
  285. function testApiIsAllowedToCreateCourse() {
  286. $res=api_is_allowed_to_create_course();
  287. if(!is_bool($res)){
  288. $this->assertTrue(is_null($res));
  289. }
  290. }
  291. function testApiIsCourseAdmin() {
  292. $res=api_is_course_admin();
  293. if(!is_numeric($res)) {
  294. $this->assertTrue(is_null($res));
  295. }
  296. }
  297. function testApiIsCourseCoach() {
  298. $res=api_is_course_coach();
  299. if(!is_bool($res)){
  300. $this->assertTrue(is_null($res));
  301. }
  302. }
  303. function testApiIsCoach(){
  304. global $_user;
  305. global $sessionIsCoach;
  306. $_user['user_id']=2;
  307. $sessionIsCoach=Database::store_result($result=false);
  308. $res=api_is_coach();
  309. $this->assertTrue(is_bool($res));
  310. //var_dump($res);
  311. $this->assertTrue($_user['user_id']);
  312. $this->assertTrue(is_array($sessionIsCoach));
  313. //var_dump($sessionIsCoach);
  314. }
  315. function testApiIsSessionAdmin(){
  316. global $_user;
  317. $_user['status']=true;
  318. $res=api_is_session_admin();
  319. $this->assertTrue(is_bool($res));
  320. $this->assertTrue(is_array($_user));
  321. //var_dump($_user);
  322. }
  323. function testApiDisplayToolTitle(){
  324. $tit=true;
  325. $titleElement['mainTitle']=$tit;
  326. ob_start();
  327. api_display_tool_title($titleElement);
  328. $res = ob_get_contents();
  329. $this->assertEqual($res,'<h3>1</h3>');
  330. $this->assertTrue(isset($titleElement));
  331. $this->assertTrue($titleElement['mainTitle']);
  332. $this->assertPattern('/<h3>1<\/h3>/', $res);
  333. ob_end_clean();
  334. }
  335. function testApiDisplayToolViewOption(){
  336. ob_start();
  337. api_display_tool_view_option();
  338. $res = ob_get_contents();
  339. $this->assertNotEqual($res,'');
  340. ob_end_clean();
  341. }
  342. function testApiDisplayArray(){
  343. global $info_array;
  344. ob_start();
  345. api_display_array($info_array);
  346. $res = ob_get_contents();
  347. $this->assertNotEqual($res,'');
  348. ob_end_clean();
  349. }
  350. function testApiDisplayDebugInfo(){
  351. $message = "mensaje de error"; // siempre que puedas, te conviene probar con valores creados al azar
  352. ob_start();
  353. api_display_debug_info($message);
  354. $res = ob_get_contents();
  355. $this->assertNotEqual($res,'');
  356. ob_end_clean();
  357. }
  358. function testApiIsAllowedToEdit(){
  359. $is_courseAdmin=false;
  360. $res=api_is_allowed_to_edit($tutor=false,$scoach=false);
  361. $this->assertTrue(is_bool($res));
  362. $this->assertTrue(isset($is_courseAdmin));
  363. }
  364. function testApiIsAllowed(){
  365. global $_course, $_user;
  366. $tool= 'full';
  367. $action = 'delete';
  368. $res=api_is_allowed($tool, $action, $task_id=0);
  369. if(!is_bool($res)){
  370. $this->assertTrue(is_null($res));
  371. }
  372. $this->assertTrue($action);
  373. $this->assertTrue($_user['user_id']);
  374. }
  375. function testApiIsAnonymous(){
  376. global $_user, $use_anonymous;
  377. $_user['is_anonymous']=False;
  378. $res=api_is_anonymous($user_id=null, $db_check=false);
  379. $this->assertTrue(is_bool($res));
  380. $this->assertFalse(isset($user_id));
  381. $this->assertTrue(isset($_user['is_anonymous']));
  382. $this->assertTrue(is_null($use_anonymous));
  383. $this->assertTrue(is_bool($db_check));
  384. //var_dump($db_check);
  385. }
  386. function testApiNotAllowed(){
  387. ob_start();
  388. //api_not_allowed($print_headers = false);
  389. $res = ob_get_contents();
  390. $this->assertEqual($res,'');
  391. ob_end_clean();
  392. }
  393. function testConvertMysqlDate(){
  394. $last_post_datetime = array();
  395. $res=convert_mysql_date($last_post_datetime);
  396. $this->assertTrue($res);
  397. }
  398. function testApiGetDatetime(){
  399. $res=api_get_datetime($time=null);
  400. $this->assertTrue($res);
  401. $this->assertFalse(isset($time));
  402. }
  403. function testApiGetItemVisibility(){
  404. global $_course;
  405. $tool = 'document';
  406. $id=1;
  407. $_course['dbName']=false;
  408. $res =api_get_item_visibility($_course,$tool,$id);
  409. $this->assertTrue(is_numeric($res));
  410. $this->assertFalse(is_bool($res));
  411. }
  412. function testApiItemPropertyUpdate(){
  413. global $_course, $tool, $item_id, $lastedit_type, $user_id;
  414. $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);
  415. $this-> assertTrue($res);
  416. }
  417. function testApiGetLanguagesCombo(){
  418. $res=api_get_languages_combo($name="language");
  419. $this->assertTrue($res);
  420. }
  421. function testApiDisplayLanguageForm(){
  422. ob_start();
  423. api_display_language_form($hide_if_no_choice=false);
  424. $res = ob_get_contents();
  425. $this->assertNotEqual($res,'');
  426. ob_end_clean();
  427. }
  428. function testApiGetLanguages(){
  429. $res= api_get_languages();
  430. $this->assertTrue($res);
  431. }
  432. function testApiGetThemes(){
  433. $cssdir= api_get_path(SYS_PATH).'main/css/';
  434. $res=api_get_themes();
  435. $this->assertTrue($res);
  436. $this->assertTrue($cssdir);
  437. }
  438. function testApiDispHtmlArea(){
  439. $name = 'name';
  440. global $_configuration, $_course, $fck_attribute;
  441. ob_start();
  442. api_disp_html_area($name, $content ='', $height='', $width='100%', $optAttrib='');
  443. $res = ob_get_contents();
  444. $this->assertNotEqual($res,'');
  445. ob_end_clean();
  446. }
  447. function testApiReturnHtmlArea(){
  448. $name = true;
  449. global $_configuration, $_course, $fck_attribute;
  450. $res=api_return_html_area($name, $content='', $height='', $width='100%', $optAttrib='');
  451. $this->assertTrue($res);
  452. }
  453. function testApiSendMail(){
  454. $to= 'chamilotest@beeznest.com';
  455. $subject='Hello';
  456. $message='test message';
  457. $res=api_send_mail($to, $subject, $message, $additional_headers = null, $additional_parameters = null);
  458. $this->assertTrue(is_numeric($res));
  459. //var_dump($res);
  460. //var_dump($send_mail);
  461. }
  462. function testApiMaxSortValue(){
  463. $user_course_category=1;
  464. $user_id =1;
  465. $res= api_max_sort_value($user_course_category,$user_id);
  466. $this->assertTrue(is_null($res));
  467. //var_dump($res);
  468. }
  469. function testString2Boolean(){
  470. global $string;
  471. $res=string_2_boolean($string);
  472. $this->assertFalse($res);
  473. }
  474. function testApiNumberOfPlugins(){
  475. global $_plugins;
  476. $location=2;
  477. $_plugins[$location]=1;
  478. $res=api_number_of_plugins($location);
  479. $this->assertFalse($res);
  480. $this->assertTrue($_plugins[$location]);
  481. }
  482. function testApiPlugin(){
  483. global $_plugins;
  484. $location=2;
  485. $_plugins[$location]=1;
  486. $res1 = api_plugin($location);
  487. $this->assertFalse($res1);
  488. $this->assertTrue($_plugins[$location]);
  489. }
  490. function testApiIsPluginInstalled(){
  491. $plugin_name = false;
  492. $plugin_list = true;
  493. $res = api_is_plugin_installed($plugin_list, $plugin_name);
  494. $this->assertTrue(is_bool($res));
  495. }
  496. function testApiParseTex(){
  497. global $textext;
  498. $res = api_parse_tex($textext);
  499. $this->assertTrue(is_string($res));
  500. //var_dump($res);
  501. }
  502. function testApiTimeToHms(){
  503. $seconds = -1;
  504. ob_start();
  505. api_time_to_hms($seconds);
  506. $res = ob_get_contents();
  507. $this-> assertTrue(is_string($res));
  508. ob_end_clean();
  509. //var_dump($res);
  510. }
  511. function testCopyr(){
  512. $source = api_get_path(SYS_CODE_PATH).'app_share/DokeosAppShare.exe';
  513. $dest = '';
  514. $res = copyr($source, $dest, $exclude=array(), $copied_files=array());
  515. $this->assertTrue(is_null($res));
  516. //var_dump($res);
  517. }
  518. function testApiChmod_R(){
  519. $dirname = api_get_path(SYS_LANG_PATH);
  520. $perm_dir = substr(sprintf('%o', fileperms($dirname)), -4);
  521. if ($perm_dir != '0777') {
  522. $msg = "Error";
  523. $this->assertTrue(is_string($msg));
  524. } else {
  525. $path = $dirname.'upload';
  526. $filemode = '0777';
  527. $res = api_chmod_R($path, $filemode);
  528. unlink($path);
  529. $this->assertTrue($res);
  530. }
  531. }
  532. function testApiGetVersion(){
  533. global $_configuration;
  534. $res = api_get_version();
  535. $this->assertTrue($res);
  536. }
  537. function testApiStatusExists(){
  538. $status_asked = 'user';
  539. $res = api_status_exists($status_asked);
  540. $this->assertTrue(is_bool($res));
  541. }
  542. function testApiStatusKey(){
  543. $status = 'user';
  544. $res = api_status_key($status);
  545. $this->assertTrue(is_numeric($res));
  546. }
  547. function testApiGetStatusLangvars(){
  548. $res = api_get_status_langvars();
  549. $this->assertTrue(is_array($res));
  550. }
  551. function testApiSetSetting(){
  552. ob_start();
  553. $var = 0;
  554. $value = 2;
  555. $res = api_set_setting($var,$value,$subvar=null,$cat=null,$access_url=1);
  556. $this->assertTrue(is_bool($res));
  557. ob_end_clean();
  558. //var_dump($res);
  559. }
  560. function testApiSetSettingsCategory(){
  561. $category = $_GET['category'];
  562. $res = api_set_settings_category($category,$value=null,$access_url=1);
  563. $this->assertTrue(is_null($category));
  564. $this->assertTrue(is_bool($res));
  565. //var_dump($res);
  566. //var_dump($category);
  567. }
  568. function testApiGetAccessUrls(){
  569. $res = api_get_access_urls($from=0,$to=1000000,$order='url',$direction='ASC');
  570. $this->assertTrue(is_array($res));
  571. //var_dump($res);
  572. }
  573. function testApiGetAccessUrl(){
  574. $id=1;
  575. $res = api_get_access_url($id);
  576. $this->assertTrue(is_array($res));
  577. }
  578. function testApiAddAccessUrl(){
  579. $u = Database::escape_string($u);
  580. $d = Database::escape_string($d);
  581. $res = api_add_access_url($u,$d='',$a=1);
  582. $this->assertTrue(is_numeric($res));
  583. //var_dump($res);
  584. }
  585. function testApiGetSettings(){
  586. $res = api_get_settings($cat=null,$ordering='list',$access_url=1,$url_changeable=0);
  587. $this->assertTrue(is_array($res));
  588. //var_dump($res);
  589. }
  590. function testApiGetSettingsCategories(){
  591. $res = api_get_settings_categories($exceptions=array(),$access_url=1);
  592. $this->assertTrue(is_array($res));
  593. //var_dump($res);
  594. }
  595. function testApiDeleteSetting(){
  596. $v = false;
  597. $res = api_delete_setting($v, $s=NULL, $a=1);
  598. $this->assertTrue(is_bool($res));
  599. //var_dump($res);
  600. }
  601. function testApiDeleteCategorySettings(){
  602. $c= false;
  603. $res = api_delete_category_settings($c,$a=1);
  604. $this->assertTrue(is_bool($res));
  605. //var_dump($res);
  606. }
  607. function testApiAddSetting(){
  608. $sk=null;
  609. $type='textfield';
  610. $c=null;
  611. $title='';
  612. $com='';
  613. $sc=null;
  614. $skt=null;
  615. $a=1;
  616. $v=0;
  617. $va=array('val'=>10, 'var'=>'name');
  618. $res= api_add_setting($va['val'],$va['var'],null,null,null,null,null,null,null,null,null);
  619. $this->assertTrue(is_bool($res));
  620. //var_dump($res);
  621. }
  622. function testApiIsCourseVisibleForUser() {
  623. global $_user, $cidReq;
  624. $userid = $_user;
  625. $cid = $cidReq ;
  626. $res = api_is_course_visible_for_user($userid, $cid);
  627. $this->assertTrue(is_bool($res));
  628. //var_dump($res);
  629. }
  630. function testApiIsElementInTheSession(){
  631. ob_start();
  632. $_tool['tool'] = 'TOOL_SURVEY';
  633. $_id['element_id']=3;
  634. $res = api_is_element_in_the_session($_tool['tool'], $_id['element_id'], $session_id=null);
  635. $this->assertTrue(is_bool($res));
  636. $this->assertTrue((isset($_tool['tool'],$_id['element_id'])));
  637. ob_end_clean();
  638. //var_dump($res);
  639. }
  640. function testReplaceDangerousChar(){
  641. $filename =ereg_replace("\.+$", "", substr(strtr(ereg_replace(
  642. "[^!-~\x80-\xFF]", "_", trim($filename)), '\/:*?"<>|\'',
  643. /*Keep C1 controls for UTF-8 streams **/ '-----_---_'), 0, 250));
  644. $res = replace_dangerous_char($filename, $strict = 'loose');
  645. $this->assertEqual($res,$filename, $message = 'no se pudo');
  646. }
  647. function testApiRequestUri(){
  648. $res = api_request_uri();
  649. $this->assertTrue($res);
  650. }
  651. function testApiCreateIncludePathSetting(){
  652. $res=api_create_include_path_setting();
  653. $this->assertTrue($res);
  654. }
  655. function testApiGetCurrentAccessUrlId(){
  656. $res=api_get_current_access_url_id();
  657. $this->assertTrue($res);
  658. }
  659. function testApiGetAccessUrlFromUser(){
  660. $user_id=1;
  661. $res= api_get_access_url_from_user($user_id);
  662. $this->assertTrue(is_array($res));
  663. //var_dump($res);
  664. }
  665. function testApiGetStatusOfUserInCourse(){
  666. $id = array(
  667. 'course_code'=>'TEST',
  668. 'user_id'=>'1');
  669. $res=api_get_status_of_user_in_course($id['course_code'],$id['user_id']);
  670. $this->assertTrue(is_null($res));
  671. //var_dump($res);
  672. }
  673. function testApiIsInCourse(){
  674. $_SESSION['_course']['sysCode']=0;
  675. $res=api_is_in_course($course_code=null);
  676. $this->assertTrue(is_bool($res));
  677. $this->assertTrue(isset($_SESSION['_course']['sysCode']));
  678. //var_dump($res);
  679. }
  680. function testApiIsInGroup(){
  681. $res=api_is_in_group($group_id=null, $course_code=null);
  682. $this->assertTrue(is_bool($res));
  683. //var_dump($res);
  684. }
  685. function testApiIsXmlHttpRequest(){
  686. $res=api_is_xml_http_request();
  687. $this->assertTrue(isset($res));
  688. }
  689. function testApiGetEncryptedPassword(){
  690. global $userPasswordCrypted;
  691. $pass= array ('password'=> '2222');
  692. $res=api_get_encrypted_password($pass['password'],null);
  693. $this->assertTrue($res);
  694. $this->assertPattern('/\d/',$res);
  695. }
  696. function testApiIsValidSecretKey(){
  697. global $_configuration;
  698. $key = array(
  699. 'original_key_secret'=>'2121212',
  700. 'security_key'=>'2121212');
  701. $res = api_is_valid_secret_key($key['original_key_secret'],$key['security_key']);
  702. $this->assertTrue($_configuration);
  703. $this->assertFalse($res);
  704. $this->assertTrue($key);
  705. $this->assertEqual($key['original_key_secret'],$key['security_key'], $message ='%s');
  706. }
  707. function testApiIsUserOfCourse(){
  708. $course_id = 1;
  709. $user_id = 1;
  710. $tbl_course_rel_user =false;
  711. $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).'"';
  712. $res= api_is_user_of_course($course_id, $user_id);
  713. $this->assertFalse($res);
  714. $this->assertFalse($tbl_course_rel_user);
  715. $this->assertTrue($sql);
  716. }
  717. function testApiIsWindowsOs(){
  718. $res= api_is_windows_os();
  719. $this->assertTrue(is_bool($res));
  720. //var_dump($res);
  721. }
  722. function testApiResizeImage(){
  723. //global $image, $target_width, $target_height;
  724. $resize = array('image' =>'image.jpg', 'target_width'=>100, 'target_height'=>100);
  725. $res = api_resize_image($resize['image'],$resize['target_width'],$resize['target_height']);
  726. $this->assertTrue(is_array($res));
  727. $this->assertWithinMargin($first = 10, $second=20,$margin=200, $message = 'no se pudo redimensionar imagen');
  728. //var_dump($res);
  729. }
  730. function testApiCalculateImageSize(){
  731. global $image_width, $image_height, $target_width, $target_height;
  732. $result = array($image_width, $image_height);
  733. $res = api_calculate_image_size($image_width, $image_height, $target_width, $target_height);
  734. $this->assertTrue(is_array($res));
  735. $this->assertTrue($result);
  736. //var_dump($res);
  737. }
  738. function testApiGetToolsLists(){
  739. $tool_list = 'false';
  740. $res = api_get_tools_lists($my_tool =null);
  741. $this->assertTrue(is_array($res));
  742. $this->assertTrue($tool_list);
  743. //var_dump($res);
  744. }
  745. public function TestDeleteCourse() {
  746. $code = 'COURSEX';
  747. $res = CourseManager::delete_course($code);
  748. $path = api_get_path(SYS_PATH).'archive';
  749. if ($handle = opendir($path)) {
  750. while (false !== ($file = readdir($handle))) {
  751. if (strpos($file,$code)!==false) {
  752. if (is_dir($path.'/'.$file)) {
  753. rmdirr($path.'/'.$file);
  754. }
  755. }
  756. }
  757. closedir($handle);
  758. }
  759. }
  760. }
  761. ?>