diff options
author | Morris Jobke <hey@morrisjobke.de> | 2015-08-25 08:43:01 +0200 |
---|---|---|
committer | Morris Jobke <hey@morrisjobke.de> | 2015-08-25 08:43:01 +0200 |
commit | 424759908d044866c8d686e9f321df1d1e609fa9 (patch) | |
tree | de1b72e0806ad660491e95e9aad279638853b6a0 /apps/files_external/tests | |
parent | 09808a9007511c2d06da31daed7a9e2061646401 (diff) | |
parent | 643e3a5b6db19b9ba0210fef89f6ee163bc0edef (diff) | |
download | nextcloud-server-424759908d044866c8d686e9f321df1d1e609fa9.tar.gz nextcloud-server-424759908d044866c8d686e9f321df1d1e609fa9.zip |
Merge pull request #18445 from owncloud/ext-only-setuservars-string
setUserVars() should only attempt substitution with strings
Diffstat (limited to 'apps/files_external/tests')
3 files changed, 50 insertions, 4 deletions
diff --git a/apps/files_external/tests/definitionparameterttest.php b/apps/files_external/tests/definitionparameterttest.php index 6be00508698..22e0b842254 100644 --- a/apps/files_external/tests/definitionparameterttest.php +++ b/apps/files_external/tests/definitionparameterttest.php @@ -49,6 +49,9 @@ class DefinitionParameterTest extends \Test\TestCase { [Param::VALUE_BOOLEAN, Param::FLAG_NONE, false, true], [Param::VALUE_BOOLEAN, Param::FLAG_NONE, 123, false], + // conversion from string to boolean + [Param::VALUE_BOOLEAN, Param::FLAG_NONE, 'false', true, false], + [Param::VALUE_BOOLEAN, Param::FLAG_NONE, 'true', true, true], [Param::VALUE_PASSWORD, Param::FLAG_NONE, 'foobar', true], [Param::VALUE_PASSWORD, Param::FLAG_NONE, '', false], @@ -60,11 +63,14 @@ class DefinitionParameterTest extends \Test\TestCase { /** * @dataProvider validateValueProvider */ - public function testValidateValue($type, $flags, $value, $success) { + public function testValidateValue($type, $flags, $value, $success, $expectedValue = null) { $param = new Param('foo', 'bar'); $param->setType($type); $param->setFlags($flags); $this->assertEquals($success, $param->validateValue($value)); + if (isset($expectedValue)) { + $this->assertEquals($expectedValue, $value); + } } } diff --git a/apps/files_external/tests/frontenddefinitiontraittest.php b/apps/files_external/tests/frontenddefinitiontraittest.php index 871a87d4c52..d92d02b9854 100644 --- a/apps/files_external/tests/frontenddefinitiontraittest.php +++ b/apps/files_external/tests/frontenddefinitiontraittest.php @@ -70,9 +70,11 @@ class FrontendDefinitionTraitTest extends \Test\TestCase { $storageConfig = $this->getMockBuilder('\OCA\Files_External\Lib\StorageConfig') ->disableOriginalConstructor() ->getMock(); - $storageConfig->expects($this->once()) - ->method('getBackendOptions') - ->willReturn([]); + $storageConfig->expects($this->any()) + ->method('getBackendOption') + ->willReturn(null); + $storageConfig->expects($this->any()) + ->method('setBackendOption'); $trait = $this->getMockForTrait('\OCA\Files_External\Lib\FrontendDefinitionTrait'); $trait->setText('test'); @@ -80,4 +82,35 @@ class FrontendDefinitionTraitTest extends \Test\TestCase { $this->assertEquals($expectedSuccess, $trait->validateStorageDefinition($storageConfig)); } + + public function testValidateStorageSet() { + $param = $this->getMockBuilder('\OCA\Files_External\Lib\DefinitionParameter') + ->disableOriginalConstructor() + ->getMock(); + $param->method('getName') + ->willReturn('param'); + $param->expects($this->once()) + ->method('validateValue') + ->will($this->returnCallback(function(&$value) { + $value = 'foobar'; + return true; + })); + + $storageConfig = $this->getMockBuilder('\OCA\Files_External\Lib\StorageConfig') + ->disableOriginalConstructor() + ->getMock(); + $storageConfig->expects($this->once()) + ->method('getBackendOption') + ->with('param') + ->willReturn('barfoo'); + $storageConfig->expects($this->once()) + ->method('setBackendOption') + ->with('param', 'foobar'); + + $trait = $this->getMockForTrait('\OCA\Files_External\Lib\FrontendDefinitionTrait'); + $trait->setText('test'); + $trait->addParameter($param); + + $this->assertEquals(true, $trait->validateStorageDefinition($storageConfig)); + } } diff --git a/apps/files_external/tests/service/globalstoragesservicetest.php b/apps/files_external/tests/service/globalstoragesservicetest.php index 05585d2c065..2bc480ca312 100644 --- a/apps/files_external/tests/service/globalstoragesservicetest.php +++ b/apps/files_external/tests/service/globalstoragesservicetest.php @@ -789,6 +789,13 @@ class GlobalStoragesServiceTest extends StoragesServiceTest { file_put_contents($configFile, json_encode($json)); + $this->backendService->getBackend('identifier:\OCA\Files_External\Lib\Backend\SMB') + ->expects($this->exactly(4)) + ->method('validateStorageDefinition'); + $this->backendService->getAuthMechanism('identifier:\Auth\Mechanism') + ->expects($this->exactly(4)) + ->method('validateStorageDefinition'); + $allStorages = $this->service->getAllStorages(); $this->assertCount(4, $allStorages); |