Added unit test to test getCapabilities for files_sharing
This commit is contained in:
parent
0452fde212
commit
083ebca812
|
@ -0,0 +1,113 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Copyright (c) Roeland Jago Douma <roeland@famdouma.nl>
|
||||||
|
* This file is licensed under the Affero General Public License version 3 or
|
||||||
|
* later.
|
||||||
|
* See the COPYING-README file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
use OCA\Files\Share;
|
||||||
|
use OCA\Files_sharing\Tests\TestCase;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class Test_Files_Sharing_Capabilties
|
||||||
|
*/
|
||||||
|
class Test_Files_Sharing_Capabilities extends \PHPUnit_Framework_TestCase {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test for the general part in each return statement and assert
|
||||||
|
*/
|
||||||
|
function getFilesPart($data) {
|
||||||
|
$this->assertArrayHasKey('capabilities', $data);
|
||||||
|
$this->assertArrayHasKey('files', $data['capabilities']);
|
||||||
|
return $data['capabilities']['files'];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Extract the sharing part and some asserts
|
||||||
|
*/
|
||||||
|
function getSharing($data) {
|
||||||
|
$this->assertCount(1, $data);
|
||||||
|
$this->assertArrayHasKey('sharing', $data);
|
||||||
|
return $data['sharing'];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a mock config object and insert the values in $map tot the getAppValue
|
||||||
|
* function. Then obtain the capabilities and extract the first few
|
||||||
|
* levels in the array
|
||||||
|
*/
|
||||||
|
function getResults($map) {
|
||||||
|
$stub = $this->getMockBuilder('\OCP\IConfig')->disableOriginalConstructor()->getMock();
|
||||||
|
$stub->method('getAppValue')->will($this->returnValueMap($map));
|
||||||
|
$cap = new \OCA\Files_Sharing\Capabilities($stub);
|
||||||
|
$result = $this->getFilesPart($cap->getCaps()->getData());
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @covers OCA\Files_Sharing\Capabilities::getCaps
|
||||||
|
*/
|
||||||
|
public function testCapabilities() {
|
||||||
|
/*
|
||||||
|
* Test for no link sharing
|
||||||
|
*/
|
||||||
|
$map = array(
|
||||||
|
array('core', 'shareapi_allow_links', 'yes', 'no')
|
||||||
|
);
|
||||||
|
$result = $this->getResults($map);
|
||||||
|
$this->assertEmpty($result);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Test only link sharing
|
||||||
|
*/
|
||||||
|
$map = array(
|
||||||
|
array('core', 'shareapi_allow_links', 'yes', 'yes'),
|
||||||
|
array('core', 'shareapi_enforce_links_password', 'yes', 'no'),
|
||||||
|
array('core', 'shareapi_allow_public_upload', 'yes', 'no')
|
||||||
|
);
|
||||||
|
$result = $this->getSharing($this->getResults($map));
|
||||||
|
$this->assertCount(1, $result);
|
||||||
|
$this->assertArrayHasKey('allow_links', $result);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Test link sharing with enforced passwords
|
||||||
|
*/
|
||||||
|
$map = array(
|
||||||
|
array('core', 'shareapi_allow_links', 'yes', 'yes'),
|
||||||
|
array('core', 'shareapi_enforce_links_password', 'yes', 'yes'),
|
||||||
|
array('core', 'shareapi_allow_public_upload', 'yes', 'no')
|
||||||
|
);
|
||||||
|
$result = $this->getSharing($this->getResults($map));
|
||||||
|
$this->assertCount(2, $result);
|
||||||
|
$this->assertArrayHasKey('allow_links', $result);
|
||||||
|
$this->assertArrayHasKey('enforce_links_password', $result);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Test link sharing with public upload
|
||||||
|
*/
|
||||||
|
$map = array(
|
||||||
|
array('core', 'shareapi_allow_links', 'yes', 'yes'),
|
||||||
|
array('core', 'shareapi_enforce_links_password', 'yes', 'no'),
|
||||||
|
array('core', 'shareapi_allow_public_upload', 'yes', 'yes')
|
||||||
|
);
|
||||||
|
$result = $this->getSharing($this->getResults($map));
|
||||||
|
$this->assertCount(2, $result);
|
||||||
|
$this->assertArrayHasKey('allow_links', $result);
|
||||||
|
$this->assertArrayHasKey('allow_public_upload', $result);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Test link sharing with all options on
|
||||||
|
*/
|
||||||
|
$map = array(
|
||||||
|
array('core', 'shareapi_allow_links', 'yes', 'yes'),
|
||||||
|
array('core', 'shareapi_enforce_links_password', 'yes', 'yes'),
|
||||||
|
array('core', 'shareapi_allow_public_upload', 'yes', 'yes')
|
||||||
|
);
|
||||||
|
$result = $this->getSharing($this->getResults($map));
|
||||||
|
$this->assertCount(3, $result);
|
||||||
|
$this->assertArrayHasKey('allow_links', $result);
|
||||||
|
$this->assertArrayHasKey('enforce_links_password', $result);
|
||||||
|
$this->assertArrayHasKey('allow_public_upload', $result);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue