From 1695a620580c1734da1de0e864ae6691cd03d05a Mon Sep 17 00:00:00 2001 From: Arthur Portugal Date: Fri, 4 Dec 2009 16:50:47 -0500 Subject: [PATCH] Fixed the file install and added a new parameter for the function load mainCT#191 --- main/install/install_upgrade.lib.php | 15 ++- .../main/install/install_upgrade.lib.test.php | 127 +++++++++--------- 2 files changed, 73 insertions(+), 69 deletions(-) diff --git a/main/install/install_upgrade.lib.php b/main/install/install_upgrade.lib.php index 1a5643c1b6..bd92b6a748 100755 --- a/main/install/install_upgrade.lib.php +++ b/main/install/install_upgrade.lib.php @@ -20,7 +20,6 @@ ============================================================================== */ define("DOKEOS_MAIN_DATABASE_FILE", "dokeos_main.sql"); - define("LANGUAGE_DATA_FILENAME", "language_data.csv"); define("COUNTRY_DATA_FILENAME", "country_data.csv"); define("SETTING_OPTION_DATA_FILENAME", "setting_option_data.csv"); @@ -223,11 +222,17 @@ function write_dokeos_config_file($path) * have to be replaced by the settings entered by the user during installation. * * @param array $installation_settings list of settings entered by the user +* @param string optional path about the script for database +* @return void */ -function load_main_database($installation_settings) -{ - $dokeos_main_sql_file_string = file_get_contents(DOKEOS_MAIN_DATABASE_FILE); - +function load_main_database($installation_settings,$db_script='') +{ + if (!empty($db_script)) { + $dokeos_main_sql_file_string = file_get_contents($db_script); + } else { + $dokeos_main_sql_file_string = file_get_contents(DOKEOS_MAIN_DATABASE_FILE); + } + //replace symbolic parameters with user-specified values foreach ($installation_settings as $key => $value) { diff --git a/tests/main/install/install_upgrade.lib.test.php b/tests/main/install/install_upgrade.lib.test.php index a391e43c42..ff35499132 100755 --- a/tests/main/install/install_upgrade.lib.test.php +++ b/tests/main/install/install_upgrade.lib.test.php @@ -8,14 +8,14 @@ class TestInstallUpgrade extends UnitTestCase{ 'the install and upgrade scripts'); } - public function testSetFileFolderPermissions(){ + public function testSetFileFolderPermissions() { $res = set_file_folder_permissions(); $this->assertTrue(is_null($res)); $this->assertNull($res); //var_dump($res); } - public function testFillLanguageTable(){ + public function testFillLanguageTable() { $language_table='en'; $res = fill_language_table($language_table); $this->assertTrue(is_null($res)); @@ -33,78 +33,52 @@ class TestInstallUpgrade extends UnitTestCase{ var_dump($res); }*/ - public function testFillSettingsTable(){ + public function testFillSettingsTable() { $settings_options_table=''; $res = fill_settings_options_table($settings_options_table); $this->assertTrue(is_null($res)); //var_dump($res); } - public function testFillTrackCountriesTable(){ + public function testFillTrackCountriesTable() { $track_countries_table=''; $res = fill_track_countries_table($track_countries_table); $this->assertEqual(null,$res); //var_dump($res); } - public function testWriteCoursesHtaccessFile(){ - $url_append='/var/www/dokeos1861/main/install/'; + public function testWriteCoursesHtaccessFile() { + $chamilo_path_folder = api_get_path(SYS_PATH); + $url_append=$chamilo_path_folder.'main/install/'; $res = write_courses_htaccess_file($url_append); if(is_bool($res)){ $this->assertTrue(is_bool($res)); $this->assertTrue($res === true || $res === false); }else - $this->assertEqual('/var/www/dokeos1861/main/install/',$res); + $this->assertEqual($chamilo_path_folder.'main/install/',$res); //var_dump($res); } - /** - * Call to undefined function trueFalse() in - * /var/www/dokeos1861/main/install/install_upgrade.lib.php on line 192 - */ - /* public function testWriteDokeosConfigFile(){ - global $dbHostForm; - global $dbUsernameForm; - global $dbPassForm; - global $enableTrackingForm; - global $singleDbForm; - global $dbPrefixForm; - global $dbNameForm; - global $dbStatsForm; - global $dbScormForm; - global $dbUserForm; - global $urlForm; - global $pathForm; - global $urlAppendPath; - global $languageForm; - global $encryptPassForm; - global $installType; - global $updatePath; - global $session_lifetime; - global $new_version; - global $new_version_stable; - $path=''; - $res = write_dokeos_config_file($path); - $this->assertTrue($res); - var_dump($res); - }*/ - - public function testLoadMainDatabase(){ + public function testLoadMainDatabase() { + $chamilo_path_folder= api_get_path(SYS_PATH); $installation_settings=array(); - $res = load_main_database($installation_settings); + $db_script = $chamilo_path_folder.'main/install/dokeos_main.sql'; + $res = load_main_database($installation_settings,$db_script); $this->assertTrue(is_null($res)); $this->assertNull($res); - //var_dump($res); + } - public function testLoadDatabaseScript(){ - $db_script='install_db'; + public function testLoadDatabaseScript() { + $chamilo_path_folder= api_get_path(SYS_PATH); + $db_script= $chamilo_path_folder.'main/install/dokeos_stats.sql'; + $res = load_database_script($db_script); $this->assertTrue(is_null($res)); //var_dump($res); } - public function testSplitSqlFile(){ + public function testSplitSqlFile() { $ret=''; $sql=''; $res = split_sql_file($ret, $sql); @@ -114,7 +88,7 @@ class TestInstallUpgrade extends UnitTestCase{ //var_dump($res); } - public function testGetSqlFileContents(){ + public function testGetSqlFileContents() { ob_start(); $file='txt'; $section='course'; @@ -127,28 +101,53 @@ class TestInstallUpgrade extends UnitTestCase{ //var_dump($res); } - public function testMyDirectoryToArray(){ - $directory=array('aaa','bbb','ccc'); + public function testMyDirectoryToArray() { + $chamilo_path_folder= api_get_path(SYS_PATH); + $directory= $chamilo_path_folder.'home'; $res = my_directory_to_array($directory); - $this->assertTrue(is_array($res)); - //var_dump($res); + $this->assertTrue(is_array($res)); } - public function testAddDocument180(){ - $_course='testing'; - $path='http://dokeos186.net/courses/001/?id_session=0'; - $filetype='doc'; - $filesize='10'; - $title='testing'; - $comment=NULL; - $res = add_document_180($res); - if(is_bool($res)){ - $this->assertTrue(is_bool($res)); - $this->assertTrue($res === false); - }else - $this->assertTrue($res); - //var_dump($res); - } + public function testAddDocument180() { + global $_configuration; + + require_once api_get_path(SYS_PATH).'tests/main/inc/lib/add_course.lib.inc.test.php'; + + // create a course + + $course_datos = array( + 'wanted_code'=> 'COD21', + 'title'=>'metodologia de calculo diferencial', + 'tutor_name'=>'R. J. Wolfagan', + 'category_code'=>'2121', + 'course_language'=>'english', + 'course_admin_id'=>'1211', + 'db_prefix'=> $_configuration['db_prefix'].'COD21', + 'db_prefix'=> $_configuration['db_prefix'].'COD21', + 'firstExpirationDelay'=>'112' + ); + $res = create_course($course_datos['wanted_code'], $course_datos['title'], + $course_datos['tutor_name'], $course_datos['category_code'], + $course_datos['course_language'],$course_datos['course_admin_id'], + $course_datos['db_prefix'], $course_datos['firstExpirationDelay']); + if ($res) { + $_course = 'COD21'; + $chamilo_path_folder_web = api_get_path(WEB_PATH); + $path = $chamilo_path_folder_web.'/courses/COD21/?id_session=0'; + $filetype='doc'; + $filesize='10'; + $title='metodologia de calculo diferencial'; + $res = add_document_180($_course,$path,$filetype,$filesize,$title); + $resu = CourseManager::delete_course($_course); + } + if(is_bool($res)) { + $this->assertTrue(is_bool($res)); + $this->assertTrue($res === false); + } else { + $this->assertTrue($res); + //var_dump($res); + } + } }