/** * Constructor * @return AppUpgraderClient */ public function __construct() { $config = Config::getInstance(); $is_in_beta = $config->getValue('is_subscribed_to_beta'); $is_in_beta = isset($is_in_beta) ? $is_in_beta : false; if ($is_in_beta) { self::$UPDATE_URL = self::$UPDATE_BETA_URL; } }
public function testUpdate() { $upgrade_controller = new UpgradeApplicationController(true); $valid_url = AppUpgraderClient::$UPDATE_URL; error_reporting(E_ERROR | E_USER_ERROR); // turn off warning messages $config = Config::getInstance(); $proper_version = $config->getValue('THINKUP_VERSION'); $config->setValue('THINKUP_VERSION', 1.0); //set a low version num // delete index.pho $this->assertTrue(unlink($this->test_web_dir . '/index.php')); // create a file in out data dir touch($this->test_web_dir . '/data/dont_delete_me'); AppUpgraderClient::$UPDATE_URL = $this->test_web_dir . '/data/valid_json'; file_put_contents(AppUpgraderClient::$UPDATE_URL, '{"version":"100.1", "url":"' . THINKUP_WEBAPP_PATH . 'test_installer/thinkup.zip"}'); $update_info = $upgrade_controller->runUpdate($this->test_web_dir); $this->assertPattern('/data\\/\\d+\\-v1\\-config\\.inc\\.backup\\.php/', $update_info['config']); $this->assertPattern('/data\\/\\d+\\-v1\\-backup\\.zip/', $update_info['backup']); $this->assertTrue(file_exists($this->test_web_dir . '/index.php'), "we should have our index file back"); $data_path = FileDataManager::getDataPath(); $this->assertFalse(is_dir($data_path . '/data/thinkup'), "our unzipped update deleted"); $this->assertTrue(file_exists($this->test_web_dir . '/data/dont_delete_me'), "/data/* not deleted"); unlink(AppUpgraderClient::$UPDATE_URL); // reset AppUpgraderClient::$UPDATE_URL = $valid_url; error_reporting(E_STRICT); // reset error reporting $config->setValue('THINKUP_VERSION', $proper_version); }