From d4989c80379d4cac71ae76ec8df79090f2e4c25f Mon Sep 17 00:00:00 2001
From: Bjoern Schiessle <bjoern@schiessle.org>
Date: Mon, 27 Jun 2016 10:46:39 +0200
Subject: [PATCH] remove old hook, no longer needed

---
 lib/private/Share20/Manager.php   | 14 +------------
 tests/lib/Share20/ManagerTest.php | 35 ++++++++++++++-----------------
 2 files changed, 17 insertions(+), 32 deletions(-)

diff --git a/lib/private/Share20/Manager.php b/lib/private/Share20/Manager.php
index b337c3c7108..478643e939b 100644
--- a/lib/private/Share20/Manager.php
+++ b/lib/private/Share20/Manager.php
@@ -145,25 +145,13 @@ class Manager implements IManager {
 			return;
 		}
 
+		// Let others verify the password
 		try {
 			$event = new GenericEvent($password);
 			$this->eventDispatcher->dispatch('OCP\PasswordPolicy::validate', $event);
 		} catch (HintException $e) {
 			throw new \Exception($e->getHint());
 		}
-
-		// Let others verify the password
-		$accepted = true;
-		$message = '';
-		\OCP\Util::emitHook('\OC\Share', 'verifyPassword', [
-				'password' => $password,
-				'accepted' => &$accepted,
-				'message' => &$message
-		]);
-
-		if (!$accepted) {
-			throw new \Exception($message);
-		}
 	}
 
 	/**
diff --git a/tests/lib/Share20/ManagerTest.php b/tests/lib/Share20/ManagerTest.php
index 9f543e51592..5f7579474aa 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;
@@ -38,6 +39,7 @@ use OCP\Security\IHasher;
 use OCP\Files\Mount\IMountManager;
 use OCP\IGroupManager;
 use Symfony\Component\EventDispatcher\EventDispatcher;
+use Symfony\Component\EventDispatcher\GenericEvent;
 
 /**
  * Class ManagerTest
@@ -549,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);
@@ -573,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']);
 	}
 
@@ -2539,13 +2543,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 */
-- 
GitLab