UnitTestCase('Main API tests'); } /* function testApiProtectCourseScript(){ ob_start(); $res= api_protect_course_script($print_headers=null); ob_get_contents(); $this->assertTrue(is_string($res)); ob_end_clean(); } function testApiProtectAdminScript(){ ob_start(); $res = api_protect_admin_script($allow_sessions_admins=false); ob_end_clean(); //$this->assertTrue(is_string($res)); } function testApiBlockAnonymousUser(){ ob_start(); $res = api_block_anonymous_users(); $this->assertTrue(is_string($res)); ob_end_clean(); } */ function testApiGetNavigator(){ ob_start(); $res=api_get_navigator(); $this->assertTrue($res); ob_end_clean(); } function testApiIsSelfRegistrationAllowed(){ $res = api_is_self_registration_allowed(); $this->assertTrue(is_bool($res)); //var_dump($res); } function testApiGetPath() { $path_type = trim($path_type); $path = array( WEB_PATH => '', SYS_PATH => '', REL_PATH => '', REL_SYS_PATH => '', WEB_SERVER_ROOT_PATH => '', SYS_SERVER_ROOT_PATH => '', WEB_COURSE_PATH => '', SYS_COURSE_PATH => '', REL_COURSE_PATH => '', REL_CODE_PATH => '', WEB_CODE_PATH => '', SYS_CODE_PATH => '', SYS_LANG_PATH => 'lang/', WEB_IMG_PATH => 'img/', WEB_CSS_PATH => 'css/', GARBAGE_PATH => 'archive/', // Deprecated? SYS_PLUGIN_PATH => 'plugin/', WEB_PLUGIN_PATH => 'plugin/', SYS_ARCHIVE_PATH => 'archive/', WEB_ARCHIVE_PATH => 'archive/', INCLUDE_PATH => 'inc/', LIBRARY_PATH => 'inc/lib/', CONFIGURATION_PATH => 'inc/conf/', WEB_LIBRARY_PATH => 'inc/lib/', WEB_AJAX_PATH => 'inc/ajax/' );; $res=api_get_path($path_type, $path); $this->assertTrue(is_null($res)); //var_dump($res); } function testApiGetUserId(){ $res= api_get_user_id(); $this->assertPattern('/\d/',$res); } function testApiGetUserCoursesReturnTrueWhenOutOfCoursesContext(){ global $tbl_user; $userid=1; $fetch_session=true; $res = api_get_user_courses($userid,$fetch_session); if(!is_null($res)) : $this->assertTrue(is_array($res)); endif; //var_dump($res); } function testApiGetUserInfoReturnFalseWhenOutOfUserInfoContext(){ $user_id= 1; $res = api_get_user_info($user_id); $this->assertTrue(is_array($res)); //var_dump($res); } function testApiGetUserInfoUsernameReturnTrueWhenOutOfUserInfoUsernameContext(){ $res=api_get_user_info_from_username(); $this->assertTrue(is_bool($res)); //var_dump($res); } function testApiGetCourseIdReturnFalseWhenOutOfCourseIdContext(){ $res =api_get_course_id(); $this->assertTrue($res); } function testApiGetCoursePathReturnFalseWhenOutOfCoursePathContext(){ $res = api_get_course_path(); if(!is_null($res)) : $this->assertTrue(is_string($res)); endif; //var_dump($res); } function testApiGetCourseSettingReturnFalseWhenOutOfCourseSeetingContext(){ global $_course; $course_code = $_course; $setting_name = 1; $res = api_get_course_setting($setting_name, $course_code); $this->assertTrue($res); } function testApiGetAnonymousId(){ $res = api_get_anonymous_id(); $this->assertTrue(is_numeric($res)); } function testApiGetCidreq(){ $res=api_get_cidreq(); $this->assertTrue($res); } function testApiGetCourseInfo(){ ob_start(); $res=api_get_course_info(); $this->assertTrue($res); ob_end_clean(); } function testApiSessionStart(){ if (!headers_sent()) { $res = api_session_start($already_sintalled=true); } $this->assertTrue(is_null($res)); //var_dump($res); } function testApiSessionRegister(){ $$variable[session_register]=false; global $$variable; if (!headers_sent()) { $res=api_session_register($$variable); } $this->assertTrue(is_null($res)); $this->assertTrue(is_null($variable[session_register])); //var_dump($variable); } function testApiSessionUnregister() { $variable=strval($variable); $res=api_session_unregister($variable); $this->assertTrue(is_null($res)); $this->assertTrue(is_null($_SESSION[$variable]=null)); } function testApiSessionClear() { $variable = 'test'; if (!headers_sent()) { $res=api_session_clear($variable); } $this->assertTrue(is_null($res)); //var_dump($res); } function testApiSessionDestroy(){ if (!headers_sent()) { $res=api_session_destroy(); } $this->assertTrue(is_null($res)); //var_dump($res); } function testApiAddUrlParam() { global $url , $param ; $res=api_add_url_param($url, $param, $filter_xss=true); $this->assertTrue(is_null($res)); //var_dump($res); } function testApiGeneratePassword() { $res = api_generate_password($length = 8); $this->assertTrue(is_string($res)); //var_dump($res); } function testApiCheckPassword(){ $password = ''; $res = api_check_password($password); $this->assertTrue(is_bool($res)); //var_dump($res); } function testApiClearAnonymous(){ global $_user; $_user['user_id'] = 1; $res = api_clear_anonymous($db_check=false); $this->assertTrue(is_bool($res)); //var_dump($res); $this->assertTrue(isset($_user['user_id'] )); } function testApiTruncStr() { $text= 'test'; $res= api_trunc_str($text, $length = 30, $suffix = '...', $middle = false, $encoding = null); $this->assertTrue(is_string($res)); } function testDomesticate(){ $input= 'dome'; $res = domesticate($input); $this->assertTrue($res); } function testGetStatusFromCode(){ $status_code = 1; $res=get_status_from_code($status_code); $this->assertTrue($res); } function testApiSetFailure(){ global $api_failureList; $failureType=true; $res = api_set_failure($failureType); $this->assertTrue(is_bool($res)); $this->assertTrue($api_failureList); } function testApiSetAnonymous(){ $res = api_set_anonymous(); $this->assertTrue(is_bool($res)); } function testApiGetLastFailure(){ $res= api_Get_last_failure(); $this->assertTrue($res); } function testApiGetSessionId(){ $res = api_get_session_id(); $this->assertTrue(is_numeric($res)); //var_dump($res); } function testApiGetSessionName(){ $session_id=''; $res = api_get_session_name($session_id); //$this->assertTrue(is_string($res)); $this->assertTrue(is_null($res)); //var_dump($res); } function testAPiGetSetting(){ global $variable, $_setting; $res=api_get_setting($variable, $key= NULL); $this->assertTrue(is_null($res)); //var_dump($res); } function testApiGetSelf(){ $res = api_get_self(); $this->assertTrue(is_string($res)); //var_dump($res); } /* function deprecated function testGetLang(){ global $language_interface, $language_interface_initial_value, $language_file,$variable; $res = get_lang($variable, $notrans = 'DLTT', $language = null); $this->assertTrue(is_string($res)); //var_dump($res); } function testGetLangToSystemEncoding(){ global $language, $name; $res=&get_lang_to_system_encoding(& $string, $language); ob_start(); api_disp_html_area($name, $content ='', $height='', $width='100%', $optAttrib=''); $res = ob_get_contents(); $this->assertNotEqual($res,''); ob_end_clean(); } function testApiGetInterfaceLanguage(){ global $language_interface; $language_interface=false; ob_start(); $res = api_get_interface_language(); $res = ob_get_contents(); $this->assertTrue(is_string($res)); $this->assertTrue(isset($language_interface)); ob_end_clean(); //var_dump($res); } */ function testApiIsPlatformAdmin(){ ob_start(); global $_user; $_user['status']=true; $allow_sessions_admins=true; $res= api_is_platform_admin($allow_sessions_admins=true); $this->assertTrue(is_bool($res)); $this->assertTrue($_SESSION['is_platformAdmin']=true); $this->assertTrue(isset($_user['status'])); ob_end_clean(); //var_dump($res); } function testApiIsAllowedToCreateCourse() { $res=api_is_allowed_to_create_course(); if(!is_bool($res)){ $this->assertTrue(is_null($res)); } } function testApiIsCourseAdmin() { $res=api_is_course_admin(); if(!is_numeric($res)) { $this->assertTrue(is_null($res)); } } function testApiIsCourseCoach() { $res=api_is_course_coach(); if(!is_bool($res)){ $this->assertTrue(is_null($res)); } } function testApiIsCoach(){ global $_user; global $sessionIsCoach; $_user['user_id']=2; $sessionIsCoach=Database::store_result($result=false); $res=api_is_coach(); $this->assertTrue(is_bool($res)); //var_dump($res); $this->assertTrue($_user['user_id']); $this->assertTrue(is_array($sessionIsCoach)); //var_dump($sessionIsCoach); } function testApiIsSessionAdmin(){ global $_user; $_user['status']=true; $res=api_is_session_admin(); $this->assertTrue(is_bool($res)); $this->assertTrue(is_array($_user)); //var_dump($_user); } function testApiDisplayToolTitle(){ $tit=true; $titleElement['mainTitle']=$tit; ob_start(); api_display_tool_title($titleElement); $res = ob_get_contents(); $this->assertEqual($res,'

1

'); $this->assertTrue(isset($titleElement)); $this->assertTrue($titleElement['mainTitle']); $this->assertPattern('/

1<\/h3>/', $res); ob_end_clean(); } function testApiDisplayToolViewOption(){ ob_start(); api_display_tool_view_option(); $res = ob_get_contents(); $this->assertNotEqual($res,''); ob_end_clean(); } function testApiDisplayArray(){ global $info_array; ob_start(); api_display_array($info_array); $res = ob_get_contents(); $this->assertNotEqual($res,''); ob_end_clean(); } function testApiDisplayDebugInfo(){ $message = "mensaje de error"; // siempre que puedas, te conviene probar con valores creados al azar ob_start(); api_display_debug_info($message); $res = ob_get_contents(); $this->assertNotEqual($res,''); ob_end_clean(); } function testApiIsAllowedToEdit(){ $is_courseAdmin=false; $res=api_is_allowed_to_edit($tutor=false,$scoach=false); $this->assertTrue(is_bool($res)); $this->assertTrue(isset($is_courseAdmin)); } function testApiIsAllowed(){ global $_course, $_user; $tool= 'full'; $action = 'delete'; $res=api_is_allowed($tool, $action, $task_id=0); if(!is_bool($res)){ $this->assertTrue(is_null($res)); } $this->assertTrue($action); $this->assertTrue($_user['user_id']); } function testApiIsAnonymous(){ global $_user, $use_anonymous; $_user['is_anonymous']=False; $res=api_is_anonymous($user_id=null, $db_check=false); $this->assertTrue(is_bool($res)); $this->assertFalse(isset($user_id)); $this->assertTrue(isset($_user['is_anonymous'])); $this->assertTrue(is_null($use_anonymous)); $this->assertTrue(is_bool($db_check)); //var_dump($db_check); } function testApiNotAllowed(){ ob_start(); //api_not_allowed($print_headers = false); $res = ob_get_contents(); $this->assertEqual($res,''); ob_end_clean(); } function testConvertMysqlDate(){ $last_post_datetime = array(); $res=convert_mysql_date($last_post_datetime); $this->assertTrue($res); } function testApiGetDatetime(){ $res=api_get_datetime($time=null); $this->assertTrue($res); $this->assertFalse(isset($time)); } function testApiGetItemVisibility(){ global $_course; $tool = 'document'; $id=1; $_course['dbName']=false; $res =api_get_item_visibility($_course,$tool,$id); $this->assertTrue(is_numeric($res)); $this->assertFalse(is_bool($res)); } function testApiItemPropertyUpdate(){ global $_course, $tool, $item_id, $lastedit_type, $user_id; $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); $this-> assertTrue($res); } function testApiGetLanguagesCombo(){ $res=api_get_languages_combo($name="language"); $this->assertTrue($res); } function testApiDisplayLanguageForm(){ ob_start(); api_display_language_form($hide_if_no_choice=false); $res = ob_get_contents(); $this->assertNotEqual($res,''); ob_end_clean(); } function testApiGetLanguages(){ $res= api_get_languages(); $this->assertTrue($res); } function testApiGetThemes(){ $cssdir= api_get_path(SYS_PATH).'main/css/'; $res=api_get_themes(); $this->assertTrue($res); $this->assertTrue($cssdir); } function testApiDispHtmlArea(){ $name = 'name'; global $_configuration, $_course, $fck_attribute; ob_start(); api_disp_html_area($name, $content ='', $height='', $width='100%', $optAttrib=''); $res = ob_get_contents(); $this->assertNotEqual($res,''); ob_end_clean(); } function testApiReturnHtmlArea(){ $name = true; global $_configuration, $_course, $fck_attribute; $res=api_return_html_area($name, $content='', $height='', $width='100%', $optAttrib=''); $this->assertTrue($res); } function testApiSendMail(){ $to= 'chamilotest@beeznest.com'; $subject='Hello'; $message='test message'; $res=api_send_mail($to, $subject, $message, $additional_headers = null, $additional_parameters = null); $this->assertTrue(is_numeric($res)); //var_dump($res); //var_dump($send_mail); } function testApiMaxSortValue(){ $user_course_category=1; $user_id =1; $res= api_max_sort_value($user_course_category,$user_id); $this->assertTrue(is_null($res)); //var_dump($res); } function testString2Boolean(){ global $string; $res=string_2_boolean($string); $this->assertFalse($res); } function testApiNumberOfPlugins(){ global $_plugins; $location=2; $_plugins[$location]=1; $res=api_number_of_plugins($location); $this->assertFalse($res); $this->assertTrue($_plugins[$location]); } function testApiPlugin(){ global $_plugins; $location=2; $_plugins[$location]=1; $res1 = api_plugin($location); $this->assertFalse($res1); $this->assertTrue($_plugins[$location]); } function testApiIsPluginInstalled(){ $plugin_name = false; $plugin_list = true; $res = api_is_plugin_installed($plugin_list, $plugin_name); $this->assertTrue(is_bool($res)); } function testApiParseTex(){ global $textext; $res = api_parse_tex($textext); $this->assertTrue(is_string($res)); //var_dump($res); } function testApiTimeToHms(){ $seconds = -1; ob_start(); api_time_to_hms($seconds); $res = ob_get_contents(); $this-> assertTrue(is_string($res)); ob_end_clean(); //var_dump($res); } function testCopyr(){ $source = api_get_path(SYS_CODE_PATH).'app_share/DokeosAppShare.exe'; $dest = ''; $res = copyr($source, $dest, $exclude=array(), $copied_files=array()); $this->assertTrue(is_null($res)); //var_dump($res); } function testApiChmod_R(){ $dirname = api_get_path(SYS_LANG_PATH); $perm_dir = substr(sprintf('%o', fileperms($dirname)), -4); if ($perm_dir != '0777') { $msg = "Error"; $this->assertTrue(is_string($msg)); } else { $path = $dirname.'upload'; $filemode = '0777'; $res = api_chmod_R($path, $filemode); unlink($path); $this->assertTrue($res); } } function testApiGetVersion(){ global $_configuration; $res = api_get_version(); $this->assertTrue($res); } function testApiStatusExists(){ $status_asked = 'user'; $res = api_status_exists($status_asked); $this->assertTrue(is_bool($res)); } function testApiStatusKey(){ $status = 'user'; $res = api_status_key($status); $this->assertTrue(is_numeric($res)); } function testApiGetStatusLangvars(){ $res = api_get_status_langvars(); $this->assertTrue(is_array($res)); } function testApiSetSetting(){ ob_start(); $var = 0; $value = 2; $res = api_set_setting($var,$value,$subvar=null,$cat=null,$access_url=1); $this->assertTrue(is_bool($res)); ob_end_clean(); //var_dump($res); } function testApiSetSettingsCategory(){ $category = $_GET['category']; $res = api_set_settings_category($category,$value=null,$access_url=1); $this->assertTrue(is_null($category)); $this->assertTrue(is_bool($res)); //var_dump($res); //var_dump($category); } function testApiGetAccessUrls(){ $res = api_get_access_urls($from=0,$to=1000000,$order='url',$direction='ASC'); $this->assertTrue(is_array($res)); //var_dump($res); } function testApiGetAccessUrl(){ $id=1; $res = api_get_access_url($id); $this->assertTrue(is_array($res)); } function testApiAddAccessUrl(){ $u = Database::escape_string($u); $d = Database::escape_string($d); $res = api_add_access_url($u,$d='',$a=1); $this->assertTrue(is_numeric($res)); //var_dump($res); } function testApiGetSettings(){ $res = api_get_settings($cat=null,$ordering='list',$access_url=1,$url_changeable=0); $this->assertTrue(is_array($res)); //var_dump($res); } function testApiGetSettingsCategories(){ $res = api_get_settings_categories($exceptions=array(),$access_url=1); $this->assertTrue(is_array($res)); //var_dump($res); } function testApiDeleteSetting(){ $v = false; $res = api_delete_setting($v, $s=NULL, $a=1); $this->assertTrue(is_bool($res)); //var_dump($res); } function testApiDeleteCategorySettings(){ $c= false; $res = api_delete_category_settings($c,$a=1); $this->assertTrue(is_bool($res)); //var_dump($res); } function testApiAddSetting(){ $sk=null; $type='textfield'; $c=null; $title=''; $com=''; $sc=null; $skt=null; $a=1; $v=0; $va=array('val'=>10, 'var'=>'name'); $res= api_add_setting($va['val'],$va['var'],null,null,null,null,null,null,null,null,null); $this->assertTrue(is_bool($res)); //var_dump($res); } function testApiIsCourseVisibleForUser() { global $_user, $cidReq; $userid = $_user; $cid = $cidReq ; $res = api_is_course_visible_for_user($userid, $cid); $this->assertTrue(is_bool($res)); //var_dump($res); } function testApiIsElementInTheSession(){ ob_start(); $_tool['tool'] = 'TOOL_SURVEY'; $_id['element_id']=3; $res = api_is_element_in_the_session($_tool['tool'], $_id['element_id'], $session_id=null); $this->assertTrue(is_bool($res)); $this->assertTrue((isset($_tool['tool'],$_id['element_id']))); ob_end_clean(); //var_dump($res); } function testReplaceDangerousChar(){ $filename =ereg_replace("\.+$", "", substr(strtr(ereg_replace( "[^!-~\x80-\xFF]", "_", trim($filename)), '\/:*?"<>|\'', /*Keep C1 controls for UTF-8 streams **/ '-----_---_'), 0, 250)); $res = replace_dangerous_char($filename, $strict = 'loose'); $this->assertEqual($res,$filename, $message = 'no se pudo'); } function testApiRequestUri(){ $res = api_request_uri(); $this->assertTrue($res); } function testApiCreateIncludePathSetting(){ $res=api_create_include_path_setting(); $this->assertTrue($res); } function testApiGetCurrentAccessUrlId(){ $res=api_get_current_access_url_id(); $this->assertTrue($res); } function testApiGetAccessUrlFromUser(){ $user_id=1; $res= api_get_access_url_from_user($user_id); $this->assertTrue(is_array($res)); //var_dump($res); } function testApiGetStatusOfUserInCourse(){ $id = array( 'course_code'=>'TEST', 'user_id'=>'1'); $res=api_get_status_of_user_in_course($id['course_code'],$id['user_id']); $this->assertTrue(is_null($res)); //var_dump($res); } function testApiIsInCourse(){ $_SESSION['_course']['sysCode']=0; $res=api_is_in_course($course_code=null); $this->assertTrue(is_bool($res)); $this->assertTrue(isset($_SESSION['_course']['sysCode'])); //var_dump($res); } function testApiIsInGroup(){ $res=api_is_in_group($group_id=null, $course_code=null); $this->assertTrue(is_bool($res)); //var_dump($res); } function testApiIsXmlHttpRequest(){ $res=api_is_xml_http_request(); $this->assertTrue(isset($res)); } function testApiGetEncryptedPassword(){ global $userPasswordCrypted; $pass= array ('password'=> '2222'); $res=api_get_encrypted_password($pass['password'],null); $this->assertTrue($res); $this->assertPattern('/\d/',$res); } function testApiIsValidSecretKey(){ global $_configuration; $key = array( 'original_key_secret'=>'2121212', 'security_key'=>'2121212'); $res = api_is_valid_secret_key($key['original_key_secret'],$key['security_key']); $this->assertTrue($_configuration); $this->assertFalse($res); $this->assertTrue($key); $this->assertEqual($key['original_key_secret'],$key['security_key'], $message ='%s'); } function testApiIsUserOfCourse(){ $course_id = 1; $user_id = 1; $tbl_course_rel_user =false; $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).'"'; $res= api_is_user_of_course($course_id, $user_id); $this->assertFalse($res); $this->assertFalse($tbl_course_rel_user); $this->assertTrue($sql); } function testApiIsWindowsOs(){ $res= api_is_windows_os(); $this->assertTrue(is_bool($res)); //var_dump($res); } function testApiResizeImage(){ //global $image, $target_width, $target_height; $resize = array('image' =>'image.jpg', 'target_width'=>100, 'target_height'=>100); $res = api_resize_image($resize['image'],$resize['target_width'],$resize['target_height']); $this->assertTrue(is_array($res)); $this->assertWithinMargin($first = 10, $second=20,$margin=200, $message = 'no se pudo redimensionar imagen'); //var_dump($res); } function testApiCalculateImageSize(){ global $image_width, $image_height, $target_width, $target_height; $result = array($image_width, $image_height); $res = api_calculate_image_size($image_width, $image_height, $target_width, $target_height); $this->assertTrue(is_array($res)); $this->assertTrue($result); //var_dump($res); } function testApiGetToolsLists(){ $tool_list = 'false'; $res = api_get_tools_lists($my_tool =null); $this->assertTrue(is_array($res)); $this->assertTrue($tool_list); //var_dump($res); } public function TestDeleteCourse() { $code = 'COURSEX'; $res = CourseManager::delete_course($code); $path = api_get_path(SYS_PATH).'archive'; if ($handle = opendir($path)) { while (false !== ($file = readdir($handle))) { if (strpos($file,$code)!==false) { if (is_dir($path.'/'.$file)) { rmdirr($path.'/'.$file); } } } closedir($handle); } } } ?>