From e2ec641c7b4d45c1b6153110af01c2c5a97e4db2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Molakvo=C3=A6=20=28skjnldsv=29?= Date: Fri, 26 Oct 2018 19:01:38 +0200 Subject: Tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: John Molakvoæ (skjnldsv) --- tests/lib/Repair/SetVcardDatabaseUIDTest.php | 121 +++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 tests/lib/Repair/SetVcardDatabaseUIDTest.php (limited to 'tests') diff --git a/tests/lib/Repair/SetVcardDatabaseUIDTest.php b/tests/lib/Repair/SetVcardDatabaseUIDTest.php new file mode 100644 index 00000000000..59a115ba755 --- /dev/null +++ b/tests/lib/Repair/SetVcardDatabaseUIDTest.php @@ -0,0 +1,121 @@ + + * + * @author John Molakvoæ + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace Test\Repair; + +use OCP\IConfig; +use OC\Repair\NC15\SetVcardDatabaseUID; +use Test\TestCase; + +/** + * @group DB + */ +class SetVcardDatabaseUIDTest extends TestCase { + + /** @var SetVcardDatabaseUID */ + private $repair; + + /** @var IConfig */ + private $config; + + protected function setUp() { + parent::setUp(); + + $this->config = $this->createMock(IConfig::class); + $this->repair = new SetVcardDatabaseUID(\OC::$server->getDatabaseConnection(), $this->config); + } + + protected function tearDown() { + return parent::tearDown(); + } + + public function dataTestVcards() { + return [ + // classic vcard + ['BEGIN:VCARD + VERSION:3.0 + PRODID:-//Sabre//Sabre VObject 4.1.2//EN + UID:Test + FN:Test + N:Test;;;; + END:VCARD', 'Test'], + + // UID as url + ['BEGIN:VCARD + VERSION:3.0 + PRODID:-//Sabre//Sabre VObject 4.1.2//EN + UID:https://User@old.domain.com/remote.php/carddav/addressbooks/User/contacts/2EAF6525-17ADC861-38D6BB1D.vcf + FN:Test + N:Test;;;; + END:VCARD', 'https://User@old.domain.com/remote.php/carddav/addressbooks/User/contacts/2EAF6525-17ADC861-38D6BB1D.vcf'], + + // No uid + ['BEGIN:VCARD + VERSION:3.0 + PRODID:-//Sabre//Sabre VObject 4.1.2//EN + FN:Test + N:Test;;;; + END:VCARD', false] + ]; + } + + /** + * @dataProvider dataTestVcards + * + * @param string $from + * @param string|boolean $expected + */ + public function testExtractUIDFromVcard($from, $expected) { + $uid = $this->invokePrivate($this->repair, 'getUid', ['carddata' => $from]); + $this->assertEquals($expected, $uid); + } + + public function shouldRunDataProvider() { + return [ + ['11.0.0.0', true], + ['15.0.0.3', false], + ['13.0.5.2', true], + ['12.0.0.0', true], + ['16.0.0.1', false], + ['15.0.0.2', true], + ['13.0.0.0', true], + ['13.0.0.1', true] + ]; + } + + /** + * @dataProvider shouldRunDataProvider + * + * @param string $from + * @param boolean $expected + */ + public function testShouldRun($from, $expected) { + $this->config->expects($this->any()) + ->method('getSystemValue') + ->with('version', '0.0.0.0') + ->willReturn($from); + + $this->assertEquals($expected, $this->invokePrivate($this->repair, 'shouldRun')); + } + +} \ No newline at end of file -- cgit v1.2.3 From 06b3ade9ee3ee1c384cc5061a63fcc5e3c405721 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Molakvo=C3=A6=20=28skjnldsv=29?= Date: Fri, 26 Oct 2018 19:01:38 +0200 Subject: Tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: John Molakvoæ (skjnldsv) --- tests/lib/Repair/SetVcardDatabaseUIDTest.php | 121 +++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 tests/lib/Repair/SetVcardDatabaseUIDTest.php (limited to 'tests') diff --git a/tests/lib/Repair/SetVcardDatabaseUIDTest.php b/tests/lib/Repair/SetVcardDatabaseUIDTest.php new file mode 100644 index 00000000000..59a115ba755 --- /dev/null +++ b/tests/lib/Repair/SetVcardDatabaseUIDTest.php @@ -0,0 +1,121 @@ + + * + * @author John Molakvoæ + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace Test\Repair; + +use OCP\IConfig; +use OC\Repair\NC15\SetVcardDatabaseUID; +use Test\TestCase; + +/** + * @group DB + */ +class SetVcardDatabaseUIDTest extends TestCase { + + /** @var SetVcardDatabaseUID */ + private $repair; + + /** @var IConfig */ + private $config; + + protected function setUp() { + parent::setUp(); + + $this->config = $this->createMock(IConfig::class); + $this->repair = new SetVcardDatabaseUID(\OC::$server->getDatabaseConnection(), $this->config); + } + + protected function tearDown() { + return parent::tearDown(); + } + + public function dataTestVcards() { + return [ + // classic vcard + ['BEGIN:VCARD + VERSION:3.0 + PRODID:-//Sabre//Sabre VObject 4.1.2//EN + UID:Test + FN:Test + N:Test;;;; + END:VCARD', 'Test'], + + // UID as url + ['BEGIN:VCARD + VERSION:3.0 + PRODID:-//Sabre//Sabre VObject 4.1.2//EN + UID:https://User@old.domain.com/remote.php/carddav/addressbooks/User/contacts/2EAF6525-17ADC861-38D6BB1D.vcf + FN:Test + N:Test;;;; + END:VCARD', 'https://User@old.domain.com/remote.php/carddav/addressbooks/User/contacts/2EAF6525-17ADC861-38D6BB1D.vcf'], + + // No uid + ['BEGIN:VCARD + VERSION:3.0 + PRODID:-//Sabre//Sabre VObject 4.1.2//EN + FN:Test + N:Test;;;; + END:VCARD', false] + ]; + } + + /** + * @dataProvider dataTestVcards + * + * @param string $from + * @param string|boolean $expected + */ + public function testExtractUIDFromVcard($from, $expected) { + $uid = $this->invokePrivate($this->repair, 'getUid', ['carddata' => $from]); + $this->assertEquals($expected, $uid); + } + + public function shouldRunDataProvider() { + return [ + ['11.0.0.0', true], + ['15.0.0.3', false], + ['13.0.5.2', true], + ['12.0.0.0', true], + ['16.0.0.1', false], + ['15.0.0.2', true], + ['13.0.0.0', true], + ['13.0.0.1', true] + ]; + } + + /** + * @dataProvider shouldRunDataProvider + * + * @param string $from + * @param boolean $expected + */ + public function testShouldRun($from, $expected) { + $this->config->expects($this->any()) + ->method('getSystemValue') + ->with('version', '0.0.0.0') + ->willReturn($from); + + $this->assertEquals($expected, $this->invokePrivate($this->repair, 'shouldRun')); + } + +} \ No newline at end of file -- cgit v1.2.3 From abed75e5cbd200169a236f3b586553e5d9ed0452 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Molakvo=C3=A6=20=28skjnldsv=29?= Date: Thu, 1 Nov 2018 17:32:21 +0100 Subject: Fix phpunit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: John Molakvoæ (skjnldsv) --- tests/lib/Repair/SetVcardDatabaseUIDTest.php | 40 ++++++++++++++-------------- 1 file changed, 20 insertions(+), 20 deletions(-) (limited to 'tests') diff --git a/tests/lib/Repair/SetVcardDatabaseUIDTest.php b/tests/lib/Repair/SetVcardDatabaseUIDTest.php index 59a115ba755..fe1a7481d7b 100644 --- a/tests/lib/Repair/SetVcardDatabaseUIDTest.php +++ b/tests/lib/Repair/SetVcardDatabaseUIDTest.php @@ -52,30 +52,30 @@ class SetVcardDatabaseUIDTest extends TestCase { public function dataTestVcards() { return [ // classic vcard - ['BEGIN:VCARD - VERSION:3.0 - PRODID:-//Sabre//Sabre VObject 4.1.2//EN - UID:Test - FN:Test - N:Test;;;; - END:VCARD', 'Test'], + ['BEGIN:VCARD'.PHP_EOL. + 'VERSION:3.0'.PHP_EOL. + 'PRODID:-//Sabre//Sabre VObject 4.1.2//EN'.PHP_EOL. + 'UID:Test'.PHP_EOL. + 'FN:Test'.PHP_EOL. + 'N:Test;;;;'.PHP_EOL. + 'END:VCARD', 'Test'], // UID as url - ['BEGIN:VCARD - VERSION:3.0 - PRODID:-//Sabre//Sabre VObject 4.1.2//EN - UID:https://User@old.domain.com/remote.php/carddav/addressbooks/User/contacts/2EAF6525-17ADC861-38D6BB1D.vcf - FN:Test - N:Test;;;; - END:VCARD', 'https://User@old.domain.com/remote.php/carddav/addressbooks/User/contacts/2EAF6525-17ADC861-38D6BB1D.vcf'], + ['BEGIN:VCARD'.PHP_EOL. + 'VERSION:3.0'.PHP_EOL. + 'PRODID:-//Sabre//Sabre VObject 4.1.2//EN'.PHP_EOL. + 'UID:https://User@old.domain.com/remote.php/carddav/addressbooks/User/contacts/2EAF6525-17ADC861-38D6BB1D.vcf'.PHP_EOL. + 'FN:Test'.PHP_EOL. + 'N:Test;;;;'.PHP_EOL. + 'END:VCARD', 'https://User@old.domain.com/remote.php/carddav/addressbooks/User/contacts/2EAF6525-17ADC861-38D6BB1D.vcf'], // No uid - ['BEGIN:VCARD - VERSION:3.0 - PRODID:-//Sabre//Sabre VObject 4.1.2//EN - FN:Test - N:Test;;;; - END:VCARD', false] + ['BEGIN:VCARD'.PHP_EOL. + 'VERSION:3.0'.PHP_EOL. + 'PRODID:-//Sabre//Sabre VObject 4.1.2//EN'.PHP_EOL. + 'FN:Test'.PHP_EOL. + 'N:Test;;;;'.PHP_EOL. + 'END:VCARD', false] ]; } -- cgit v1.2.3