diff options
author | Morris Jobke <hey@morrisjobke.de> | 2016-07-07 11:29:46 +0200 |
---|---|---|
committer | Morris Jobke <hey@morrisjobke.de> | 2016-07-07 11:29:46 +0200 |
commit | ba16fd0d337fa26114f55086198979d147a298c1 (patch) | |
tree | 39111cec77d17d5eeb60bd1b609e7a8419310459 /tests | |
parent | 5ace43f43895cba4b398367e10731f92450d7da2 (diff) | |
parent | ed28885d73181e61c06802639910014e8a265e42 (diff) | |
download | nextcloud-server-ba16fd0d337fa26114f55086198979d147a298c1.tar.gz nextcloud-server-ba16fd0d337fa26114f55086198979d147a298c1.zip |
Merge branch 'master' into sync-master
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Core/Command/Log/OwnCloudTest.php | 4 | ||||
-rw-r--r-- | tests/Settings/Controller/LogSettingsControllerTest.php | 3 | ||||
-rw-r--r-- | tests/lib/App/DependencyAnalyzerTest.php | 6 | ||||
-rw-r--r-- | tests/lib/Files/Cache/CacheTest.php | 8 | ||||
-rw-r--r-- | tests/lib/FilesTest.php | 2 | ||||
-rw-r--r-- | tests/lib/Share20/ManagerTest.php | 56 | ||||
-rw-r--r-- | tests/lib/TempManagerTest.php | 2 | ||||
-rw-r--r-- | tests/lib/TestCase.php | 2 | ||||
-rw-r--r-- | tests/lib/User/DatabaseTest.php | 47 | ||||
-rw-r--r-- | tests/lib/UtilCheckServerTest.php | 1 | ||||
-rwxr-xr-x | tests/travis/install.sh | 6 |
11 files changed, 100 insertions, 37 deletions
diff --git a/tests/Core/Command/Log/OwnCloudTest.php b/tests/Core/Command/Log/OwnCloudTest.php index 3cb05221c37..e0445a5cfda 100644 --- a/tests/Core/Command/Log/OwnCloudTest.php +++ b/tests/Core/Command/Log/OwnCloudTest.php @@ -101,7 +101,7 @@ class OwnCloudTest extends TestCase { ->will($this->returnValueMap([ ['log_type', 'owncloud', 'log_type_value'], ['datadirectory', \OC::$SERVERROOT.'/data', '/data/directory/'], - ['logfile', '/data/directory/owncloud.log', '/var/log/owncloud.log'], + ['logfile', '/data/directory/nextcloud.log', '/var/log/nextcloud.log'], ['log_rotate_size', 0, 5 * 1024 * 1024], ])); @@ -110,7 +110,7 @@ class OwnCloudTest extends TestCase { ->with('Log backend ownCloud: disabled'); $this->consoleOutput->expects($this->at(1)) ->method('writeln') - ->with('Log file: /var/log/owncloud.log'); + ->with('Log file: /var/log/nextcloud.log'); $this->consoleOutput->expects($this->at(2)) ->method('writeln') ->with('Rotate at: 5 MB'); diff --git a/tests/Settings/Controller/LogSettingsControllerTest.php b/tests/Settings/Controller/LogSettingsControllerTest.php index 1660369fafe..f296df9903c 100644 --- a/tests/Settings/Controller/LogSettingsControllerTest.php +++ b/tests/Settings/Controller/LogSettingsControllerTest.php @@ -12,6 +12,7 @@ namespace Tests\Settings\Controller; use \OC\Settings\Application; use OC\Settings\Controller\LogSettingsController; +use OCP\AppFramework\Http\StreamResponse; /** * @package Tests\Settings\Controller @@ -73,6 +74,6 @@ class LogSettingsControllerTest extends \Test\TestCase { $this->assertInstanceOf('\OCP\AppFramework\Http\StreamResponse', $response); $headers = $response->getHeaders(); $this->assertEquals('application/octet-stream', $headers['Content-Type']); - $this->assertEquals('attachment; filename="owncloud.log"', $headers['Content-Disposition']); + $this->assertEquals('attachment; filename="nextcloud.log"', $headers['Content-Disposition']); } } diff --git a/tests/lib/App/DependencyAnalyzerTest.php b/tests/lib/App/DependencyAnalyzerTest.php index 7882f6dd031..3f410444f47 100644 --- a/tests/lib/App/DependencyAnalyzerTest.php +++ b/tests/lib/App/DependencyAnalyzerTest.php @@ -204,9 +204,9 @@ class DependencyAnalyzerTest extends TestCase { array(array(), array('@attributes' => array('min-version' => '8', 'max-version' => '8'))), array(array(), array('@attributes' => array('min-version' => '8.0', 'max-version' => '8.0'))), array(array(), array('@attributes' => array('min-version' => '8.0.2', 'max-version' => '8.0.2'))), - array(array('ownCloud 8.0.3 or higher is required.'), array('@attributes' => array('min-version' => '8.0.3'))), - array(array('ownCloud 9 or higher is required.'), array('@attributes' => array('min-version' => '9'))), - [['ownCloud 8.0.1 or lower is required.'], ['@attributes' => ['max-version' => '8.0.1']]], + array(array('Server version 8.0.3 or higher is required.'), array('@attributes' => array('min-version' => '8.0.3'))), + array(array('Server version 9 or higher is required.'), array('@attributes' => array('min-version' => '9'))), + [['Server version 8.0.1 or lower is required.'], ['@attributes' => ['max-version' => '8.0.1']]], ); } diff --git a/tests/lib/Files/Cache/CacheTest.php b/tests/lib/Files/Cache/CacheTest.php index 615bb32f62c..bfc3c1be7b8 100644 --- a/tests/lib/Files/Cache/CacheTest.php +++ b/tests/lib/Files/Cache/CacheTest.php @@ -9,6 +9,8 @@ namespace Test\Files\Cache; +use Doctrine\DBAL\Platforms\MySqlPlatform; + class LongId extends \OC\Files\Storage\Temporary { public function getId() { return 'long:' . str_repeat('foo', 50) . parent::getId(); @@ -108,6 +110,12 @@ class CacheTest extends \Test\TestCase { * @dataProvider folderDataProvider */ public function testFolder($folder) { + if(strpos($folder, 'F09F9890')) { + // 4 byte UTF doesn't work on mysql + if(\OC::$server->getDatabaseConnection()->getDatabasePlatform() instanceof MySqlPlatform) { + $this->markTestSkipped('MySQL doesn\'t support 4 byte UTF-8'); + } + } $file2 = $folder.'/bar'; $file3 = $folder.'/foo'; $data1 = array('size' => 100, 'mtime' => 50, 'mimetype' => 'httpd/unix-directory'); diff --git a/tests/lib/FilesTest.php b/tests/lib/FilesTest.php index b2a68c2a31b..496312708bc 100644 --- a/tests/lib/FilesTest.php +++ b/tests/lib/FilesTest.php @@ -102,6 +102,8 @@ class FilesTest extends \Test\TestCase { $setSize, $expectedSize, $htaccessStr, $userIniStr ) { + $this->markTestSkipped('TODO: Disable because fails on drone'); + $files = $this->getUploadLimitTestFiles(); chmod($files['.htaccess'], ($htaccessWritable ? 0644 : 0444)); chmod($files['.user.ini'], ($userIniWritable ? 0644 : 0444)); diff --git a/tests/lib/Share20/ManagerTest.php b/tests/lib/Share20/ManagerTest.php index d2539f8577c..689e47d8c52 100644 --- a/tests/lib/Share20/ManagerTest.php +++ b/tests/lib/Share20/ManagerTest.php @@ -20,6 +20,7 @@ */ namespace Test\Share20; +use OC\HintException; use OCP\Files\IRootFolder; use OCP\IUserManager; use OCP\Share\Exceptions\ShareNotFound; @@ -37,6 +38,8 @@ use OCP\Security\ISecureRandom; use OCP\Security\IHasher; use OCP\Files\Mount\IMountManager; use OCP\IGroupManager; +use Symfony\Component\EventDispatcher\EventDispatcher; +use Symfony\Component\EventDispatcher\GenericEvent; /** * Class ManagerTest @@ -70,9 +73,11 @@ class ManagerTest extends \Test\TestCase { protected $userManager; /** @var IRootFolder | \PHPUnit_Framework_MockObject_MockObject */ protected $rootFolder; + /** @var EventDispatcher | \PHPUnit_Framework_MockObject_MockObject */ + protected $eventDispatcher; public function setUp() { - + $this->logger = $this->getMock('\OCP\ILogger'); $this->config = $this->getMock('\OCP\IConfig'); $this->secureRandom = $this->getMock('\OCP\Security\ISecureRandom'); @@ -81,6 +86,7 @@ class ManagerTest extends \Test\TestCase { $this->groupManager = $this->getMock('\OCP\IGroupManager'); $this->userManager = $this->getMock('\OCP\IUserManager'); $this->rootFolder = $this->getMock('\OCP\Files\IRootFolder'); + $this->eventDispatcher = $this->getMock('Symfony\Component\EventDispatcher\EventDispatcher'); $this->l = $this->getMock('\OCP\IL10N'); $this->l->method('t') @@ -100,7 +106,8 @@ class ManagerTest extends \Test\TestCase { $this->l, $this->factory, $this->userManager, - $this->rootFolder + $this->rootFolder, + $this->eventDispatcher ); $this->defaultProvider = $this->getMockBuilder('\OC\Share20\DefaultShareProvider') @@ -127,7 +134,8 @@ class ManagerTest extends \Test\TestCase { $this->l, $this->factory, $this->userManager, - $this->rootFolder + $this->rootFolder, + $this->eventDispatcher ]); } @@ -146,7 +154,7 @@ class ManagerTest extends \Test\TestCase { $group = $this->getMock('\OCP\IGroup'); $group->method('getGID')->willReturn('sharedWithGroup'); - + return [ [\OCP\Share::SHARE_TYPE_USER, 'sharedWithUser'], [\OCP\Share::SHARE_TYPE_GROUP, 'sharedWithGroup'], @@ -543,16 +551,12 @@ class ManagerTest extends \Test\TestCase { ['core', 'shareapi_enforce_links_password', 'no', 'no'], ])); - $hookListner = $this->getMockBuilder('Dummy')->setMethods(['listner'])->getMock(); - \OCP\Util::connectHook('\OC\Share', 'verifyPassword', $hookListner, 'listner'); - - $hookListner->expects($this->once()) - ->method('listner') - ->with([ - 'password' => 'password', - 'accepted' => true, - 'message' => '' - ]); + $this->eventDispatcher->expects($this->once())->method('dispatch') + ->willReturnCallback(function($eventName, GenericEvent $event) { + $this->assertSame('OCP\PasswordPolicy::validate', $eventName); + $this->assertSame('password', $event->getSubject()); + } + ); $result = $this->invokePrivate($this->manager, 'verifyPassword', ['password']); $this->assertNull($result); @@ -567,8 +571,14 @@ class ManagerTest extends \Test\TestCase { ['core', 'shareapi_enforce_links_password', 'no', 'no'], ])); - $dummy = new DummyPassword(); - \OCP\Util::connectHook('\OC\Share', 'verifyPassword', $dummy, 'listner'); + $this->eventDispatcher->expects($this->once())->method('dispatch') + ->willReturnCallback(function($eventName, GenericEvent $event) { + $this->assertSame('OCP\PasswordPolicy::validate', $eventName); + $this->assertSame('password', $event->getSubject()); + throw new HintException('message', 'password not accepted'); + } + ); + $this->invokePrivate($this->manager, 'verifyPassword', ['password']); } @@ -670,7 +680,6 @@ class ManagerTest extends \Test\TestCase { $data[] = [$this->createShare(null, \OCP\Share::SHARE_TYPE_USER, $allPermssions, $user2, $user0, $user0, 30, null, null), 'Shares need at least read permissions', true]; $data[] = [$this->createShare(null, \OCP\Share::SHARE_TYPE_GROUP, $allPermssions, $group0, $user0, $user0, 2, null, null), 'Shares need at least read permissions', true]; - $data[] = [$this->createShare(null, \OCP\Share::SHARE_TYPE_LINK, $allPermssions, null, $user0, $user0, 16, null, null), 'Shares need at least read permissions', true]; $data[] = [$this->createShare(null, \OCP\Share::SHARE_TYPE_USER, $allPermssions, $user2, $user0, $user0, 31, null, null), null, false]; $data[] = [$this->createShare(null, \OCP\Share::SHARE_TYPE_GROUP, $allPermssions, $group0, $user0, $user0, 3, null, null), null, false]; @@ -2005,7 +2014,8 @@ class ManagerTest extends \Test\TestCase { $this->l, $factory, $this->userManager, - $this->rootFolder + $this->rootFolder, + $this->eventDispatcher ); $share = $this->getMock('\OCP\Share\IShare'); @@ -2037,7 +2047,8 @@ class ManagerTest extends \Test\TestCase { $this->l, $factory, $this->userManager, - $this->rootFolder + $this->rootFolder, + $this->eventDispatcher ); $share = $this->getMock('\OCP\Share\IShare'); @@ -2514,13 +2525,6 @@ class ManagerTest extends \Test\TestCase { } } -class DummyPassword { - public function listner($array) { - $array['accepted'] = false; - $array['message'] = 'password not accepted'; - } -} - class DummyFactory implements IProviderFactory { /** @var IShareProvider */ diff --git a/tests/lib/TempManagerTest.php b/tests/lib/TempManagerTest.php index 0eaca464c74..c4b88469b89 100644 --- a/tests/lib/TempManagerTest.php +++ b/tests/lib/TempManagerTest.php @@ -141,6 +141,7 @@ class TempManagerTest extends \Test\TestCase { if (\OC_Util::runningOnWindows()) { $this->markTestSkipped('[Windows] chmod() does not work as intended on Windows.'); } + $this->markTestSkipped('TODO: Disable because fails on drone'); $logger = $this->getMock('\Test\NullLogger'); $manager = $this->getManager($logger); @@ -155,6 +156,7 @@ class TempManagerTest extends \Test\TestCase { if (\OC_Util::runningOnWindows()) { $this->markTestSkipped('[Windows] chmod() does not work as intended on Windows.'); } + $this->markTestSkipped('TODO: Disable because fails on drone'); $logger = $this->getMock('\Test\NullLogger'); $manager = $this->getManager($logger); diff --git a/tests/lib/TestCase.php b/tests/lib/TestCase.php index a1f65f8ac82..514cb6ea3a5 100644 --- a/tests/lib/TestCase.php +++ b/tests/lib/TestCase.php @@ -269,7 +269,7 @@ abstract class TestCase extends \PHPUnit_Framework_TestCase { */ static protected function tearDownAfterClassCleanStrayDataFiles($dataDir) { $knownEntries = array( - 'owncloud.log' => true, + 'nextcloud.log' => true, 'owncloud.db' => true, '.ocdata' => true, '..' => true, diff --git a/tests/lib/User/DatabaseTest.php b/tests/lib/User/DatabaseTest.php index 270d90b35bc..16275f3b6c5 100644 --- a/tests/lib/User/DatabaseTest.php +++ b/tests/lib/User/DatabaseTest.php @@ -21,6 +21,9 @@ */ namespace Test\User; +use OC\HintException; +use Symfony\Component\EventDispatcher\EventDispatcher; +use Symfony\Component\EventDispatcher\GenericEvent; /** * Class DatabaseTest @@ -30,6 +33,8 @@ namespace Test\User; class DatabaseTest extends Backend { /** @var array */ private $users; + /** @var EventDispatcher | \PHPUnit_Framework_MockObject_MockObject */ + private $eventDispatcher; public function getUser() { $user = parent::getUser(); @@ -39,7 +44,10 @@ class DatabaseTest extends Backend { protected function setUp() { parent::setUp(); - $this->backend=new \OC\User\Database(); + + $this->eventDispatcher = $this->getMock('Symfony\Component\EventDispatcher\EventDispatcher'); + + $this->backend=new \OC\User\Database($this->eventDispatcher); } protected function tearDown() { @@ -51,4 +59,41 @@ class DatabaseTest extends Backend { } parent::tearDown(); } + + public function testVerifyPasswordEvent() { + $user = $this->getUser(); + $this->backend->createUser($user, 'pass1'); + + $this->eventDispatcher->expects($this->once())->method('dispatch') + ->willReturnCallback( + function ($eventName, GenericEvent $event) { + $this->assertSame('OCP\PasswordPolicy::validate', $eventName); + $this->assertSame('newpass', $event->getSubject()); + } + ); + + $this->backend->setPassword($user, 'newpass'); + $this->assertSame($user, $this->backend->checkPassword($user, 'newpass')); + } + + /** + * @expectedException \OC\HintException + * @expectedExceptionMessage password change failed + */ + public function testVerifyPasswordEventFail() { + $user = $this->getUser(); + $this->backend->createUser($user, 'pass1'); + + $this->eventDispatcher->expects($this->once())->method('dispatch') + ->willReturnCallback( + function ($eventName, GenericEvent $event) { + $this->assertSame('OCP\PasswordPolicy::validate', $eventName); + $this->assertSame('newpass', $event->getSubject()); + throw new HintException('password change failed', 'password change failed'); + } + ); + + $this->backend->setPassword($user, 'newpass'); + $this->assertSame($user, $this->backend->checkPassword($user, 'newpass')); + } } diff --git a/tests/lib/UtilCheckServerTest.php b/tests/lib/UtilCheckServerTest.php index b864af6888a..6465f8dd42b 100644 --- a/tests/lib/UtilCheckServerTest.php +++ b/tests/lib/UtilCheckServerTest.php @@ -148,6 +148,7 @@ class UtilCheckServerTest extends \Test\TestCase { if (\OC_Util::runningOnWindows()) { $this->markTestSkipped('[Windows] chmod() does not work as intended on Windows.'); } + $this->markTestSkipped('TODO: Disable because fails on drone'); chmod($this->datadir, 0300); $result = \OC_Util::checkServer($this->getConfig(array( diff --git a/tests/travis/install.sh b/tests/travis/install.sh index fe7907f798c..180e0c634da 100755 --- a/tests/travis/install.sh +++ b/tests/travis/install.sh @@ -173,8 +173,8 @@ cat $BASEDIR/config/config.php echo "data directory:" ls -ll $DATADIR -echo "owncloud.log:" -[ -f "$DATADIR/owncloud.log" ] && cat $DATADIR/owncloud.log -[ -f "$BASEDIR/data/owncloud.log" ] && cat $BASEDIR/data/owncloud.log +echo "nextcloud.log:" +[ -f "$DATADIR/nextcloud.log" ] && cat $DATADIR/nextcloud.log +[ -f "$BASEDIR/data/nextcloud.log" ] && cat $BASEDIR/data/nextcloud.log cd $BASEDIR |