Merge pull request from ArthurHoaro/feature/download-params

Make max download size and timeout configurable
This commit is contained in:
ArthurHoaro 2018-03-13 18:02:49 +01:00 committed by GitHub
commit 4294bc7b98
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 96 additions and 1 deletions
tests/Updater

View file

@ -620,4 +620,68 @@ $GLOBALS[\'privateLinkByDefault\'] = true;';
$this->assertTrue($updater->updateMethodAtomDefault());
$this->assertTrue($this->conf->get('feed.show_atom'));
}
/**
* Test updateMethodDownloadSizeAndTimeoutConf, it should be set if none is already defined.
*/
public function testUpdateMethodDownloadSizeAndTimeoutConf()
{
$sandboxConf = 'sandbox/config';
copy(self::$configFile . '.json.php', $sandboxConf . '.json.php');
$this->conf = new ConfigManager($sandboxConf);
$updater = new Updater([], [], $this->conf, true);
$this->assertTrue($updater->updateMethodDownloadSizeAndTimeoutConf());
$this->assertEquals(4194304, $this->conf->get('general.download_max_size'));
$this->assertEquals(30, $this->conf->get('general.download_timeout'));
$this->conf = new ConfigManager($sandboxConf);
$this->assertEquals(4194304, $this->conf->get('general.download_max_size'));
$this->assertEquals(30, $this->conf->get('general.download_timeout'));
}
/**
* Test updateMethodDownloadSizeAndTimeoutConf, it shouldn't be set if it is already defined.
*/
public function testUpdateMethodDownloadSizeAndTimeoutConfIgnore()
{
$sandboxConf = 'sandbox/config';
copy(self::$configFile . '.json.php', $sandboxConf . '.json.php');
$this->conf = new ConfigManager($sandboxConf);
$this->conf->set('general.download_max_size', 38);
$this->conf->set('general.download_timeout', 70);
$updater = new Updater([], [], $this->conf, true);
$this->assertTrue($updater->updateMethodDownloadSizeAndTimeoutConf());
$this->assertEquals(38, $this->conf->get('general.download_max_size'));
$this->assertEquals(70, $this->conf->get('general.download_timeout'));
}
/**
* Test updateMethodDownloadSizeAndTimeoutConf, only the maz size should be set here.
*/
public function testUpdateMethodDownloadSizeAndTimeoutConfOnlySize()
{
$sandboxConf = 'sandbox/config';
copy(self::$configFile . '.json.php', $sandboxConf . '.json.php');
$this->conf = new ConfigManager($sandboxConf);
$this->conf->set('general.download_max_size', 38);
$updater = new Updater([], [], $this->conf, true);
$this->assertTrue($updater->updateMethodDownloadSizeAndTimeoutConf());
$this->assertEquals(38, $this->conf->get('general.download_max_size'));
$this->assertEquals(30, $this->conf->get('general.download_timeout'));
}
/**
* Test updateMethodDownloadSizeAndTimeoutConf, only the time out should be set here.
*/
public function testUpdateMethodDownloadSizeAndTimeoutConfOnlyTimeout()
{
$sandboxConf = 'sandbox/config';
copy(self::$configFile . '.json.php', $sandboxConf . '.json.php');
$this->conf = new ConfigManager($sandboxConf);
$this->conf->set('general.download_timeout', 3);
$updater = new Updater([], [], $this->conf, true);
$this->assertTrue($updater->updateMethodDownloadSizeAndTimeoutConf());
$this->assertEquals(4194304, $this->conf->get('general.download_max_size'));
$this->assertEquals(3, $this->conf->get('general.download_timeout'));
}
}