From 87431605b86674ec23c464c5a27b84c7771a2306 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Tue, 10 Mar 2015 09:26:45 +0100 Subject: [PATCH] Add test for UniqueConstraintViolationException on wrong key --- tests/lib/db.php | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/tests/lib/db.php b/tests/lib/db.php index 056ce535436..1fb384ca9c6 100644 --- a/tests/lib/db.php +++ b/tests/lib/db.php @@ -217,6 +217,38 @@ class Test_DB extends \Test\TestCase { $this->assertEquals(0, $result); } + public function insertIfNotExistsViolatingThrows() { + return [ + [null], + [['etag']], + ]; + } + + /** + * @dataProvider insertIfNotExistsViolatingThrows + * @expectedException \Doctrine\DBAL\Exception\UniqueConstraintViolationException + * + * @param array $compareKeys + */ + public function testInsertIfNotExistsViolatingThrows($compareKeys) { + $result = \OCP\DB::insertIfNotExist('*PREFIX*'.$this->table5, + array( + 'storage' => 1, + 'path_hash' => md5('welcome.txt'), + 'etag' => $this->getUniqueID() + )); + $this->assertEquals(1, $result); + + $result = \OCP\DB::insertIfNotExist('*PREFIX*'.$this->table5, + array( + 'storage' => 1, + 'path_hash' => md5('welcome.txt'), + 'etag' => $this->getUniqueID() + ), $compareKeys); + + $this->assertEquals(0, $result); + } + public function testUtf8Data() { $table = "*PREFIX*{$this->table2}"; $expected = "Ћö雙喜\xE2\x80\xA2"; -- 2.39.5