summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2015-11-24 23:28:24 +0100
committerThomas Müller <thomas.mueller@tmit.eu>2015-11-25 22:23:34 +0100
commitb799e42b4e4f9ec1dd1fa9b93dd036581fbf2e92 (patch)
treec5fae8ae4dc2bd6959b2d423e859fbcdb3241fb8
parentc25a7cc4daf486b7ad8e50a5209acda061734d6c (diff)
downloadnextcloud-server-b799e42b4e4f9ec1dd1fa9b93dd036581fbf2e92.tar.gz
nextcloud-server-b799e42b4e4f9ec1dd1fa9b93dd036581fbf2e92.zip
Introduce \OCP\IUser::getEMailAddress()
-rw-r--r--apps/dav/lib/connector/sabre/principal.php2
-rw-r--r--apps/dav/tests/unit/connector/sabre/principal.php58
-rw-r--r--lib/private/user/user.php10
-rw-r--r--lib/public/iuser.php8
-rw-r--r--tests/lib/contacts/localadressbook.php7
5 files changed, 45 insertions, 40 deletions
diff --git a/apps/dav/lib/connector/sabre/principal.php b/apps/dav/lib/connector/sabre/principal.php
index cd3b14b6841..cc9c1c40d59 100644
--- a/apps/dav/lib/connector/sabre/principal.php
+++ b/apps/dav/lib/connector/sabre/principal.php
@@ -203,7 +203,7 @@ class Principal implements \Sabre\DAVACL\PrincipalBackend\BackendInterface {
'{DAV:}displayname' => is_null($displayName) ? $userId : $displayName,
];
- $email = $this->config->getUserValue($user->getUID(), 'settings', 'email');
+ $email = $user->getEMailAddress();
if (!empty($email)) {
$principal['{http://sabredav.org/ns}email-address'] = $email;
return $principal;
diff --git a/apps/dav/tests/unit/connector/sabre/principal.php b/apps/dav/tests/unit/connector/sabre/principal.php
index 1d7721c546d..9a6ae545b58 100644
--- a/apps/dav/tests/unit/connector/sabre/principal.php
+++ b/apps/dav/tests/unit/connector/sabre/principal.php
@@ -41,34 +41,32 @@ class Principal extends \Test\TestCase {
$fooUser = $this->getMockBuilder('\OC\User\User')
->disableOriginalConstructor()->getMock();
$fooUser
- ->expects($this->exactly(2))
+ ->expects($this->exactly(1))
->method('getUID')
->will($this->returnValue('foo'));
$fooUser
->expects($this->exactly(1))
->method('getDisplayName')
->will($this->returnValue('Dr. Foo-Bar'));
+ $fooUser
+ ->expects($this->exactly(1))
+ ->method('getEMailAddress')
+ ->will($this->returnValue(''));
$barUser = $this->getMockBuilder('\OC\User\User')
->disableOriginalConstructor()->getMock();
$barUser
- ->expects($this->exactly(2))
+ ->expects($this->exactly(1))
->method('getUID')
->will($this->returnValue('bar'));
+ $barUser
+ ->expects($this->exactly(1))
+ ->method('getEMailAddress')
+ ->will($this->returnValue('bar@owncloud.org'));
$this->userManager
->expects($this->once())
->method('search')
->with('')
->will($this->returnValue([$fooUser, $barUser]));
- $this->config
- ->expects($this->at(0))
- ->method('getUserValue')
- ->with('foo', 'settings', 'email')
- ->will($this->returnValue(''));
- $this->config
- ->expects($this->at(1))
- ->method('getUserValue')
- ->with('bar', 'settings', 'email')
- ->will($this->returnValue('bar@owncloud.org'));
$expectedResponse = [
0 => [
@@ -100,7 +98,7 @@ class Principal extends \Test\TestCase {
$fooUser = $this->getMockBuilder('\OC\User\User')
->disableOriginalConstructor()->getMock();
$fooUser
- ->expects($this->exactly(2))
+ ->expects($this->exactly(1))
->method('getUID')
->will($this->returnValue('foo'));
$this->userManager
@@ -108,11 +106,6 @@ class Principal extends \Test\TestCase {
->method('get')
->with('foo')
->will($this->returnValue($fooUser));
- $this->config
- ->expects($this->once())
- ->method('getUserValue')
- ->with('foo', 'settings', 'email')
- ->will($this->returnValue(''));
$expectedResponse = [
'uri' => 'principals/users/foo',
@@ -126,19 +119,18 @@ class Principal extends \Test\TestCase {
$fooUser = $this->getMockBuilder('\OC\User\User')
->disableOriginalConstructor()->getMock();
$fooUser
- ->expects($this->exactly(2))
- ->method('getUID')
- ->will($this->returnValue('foo'));
+ ->expects($this->exactly(1))
+ ->method('getEMailAddress')
+ ->will($this->returnValue('foo@owncloud.org'));
+ $fooUser
+ ->expects($this->exactly(1))
+ ->method('getUID')
+ ->will($this->returnValue('foo'));
$this->userManager
->expects($this->once())
->method('get')
->with('foo')
->will($this->returnValue($fooUser));
- $this->config
- ->expects($this->once())
- ->method('getUserValue')
- ->with('foo', 'settings', 'email')
- ->will($this->returnValue('foo@owncloud.org'));
$expectedResponse = [
'uri' => 'principals/users/foo',
@@ -164,7 +156,7 @@ class Principal extends \Test\TestCase {
$fooUser = $this->getMockBuilder('\OC\User\User')
->disableOriginalConstructor()->getMock();
$fooUser
- ->expects($this->exactly(2))
+ ->expects($this->exactly(1))
->method('getUID')
->will($this->returnValue('foo'));
$this->userManager
@@ -172,11 +164,6 @@ class Principal extends \Test\TestCase {
->method('get')
->with('foo')
->will($this->returnValue($fooUser));
- $this->config
- ->expects($this->once())
- ->method('getUserValue')
- ->with('foo', 'settings', 'email')
- ->will($this->returnValue('foo@owncloud.org'));
$response = $this->connector->getGroupMemberSet('principals/users/foo');
$this->assertSame(['principals/users/foo'], $response);
@@ -200,7 +187,7 @@ class Principal extends \Test\TestCase {
$fooUser = $this->getMockBuilder('\OC\User\User')
->disableOriginalConstructor()->getMock();
$fooUser
- ->expects($this->exactly(2))
+ ->expects($this->exactly(1))
->method('getUID')
->will($this->returnValue('foo'));
$this->userManager
@@ -208,11 +195,6 @@ class Principal extends \Test\TestCase {
->method('get')
->with('foo')
->will($this->returnValue($fooUser));
- $this->config
- ->expects($this->once())
- ->method('getUserValue')
- ->with('foo', 'settings', 'email')
- ->will($this->returnValue('foo@owncloud.org'));
$expectedResponse = [
'principals/users/foo/calendar-proxy-read',
diff --git a/lib/private/user/user.php b/lib/private/user/user.php
index 28b66d7f5ba..2740b25d5d3 100644
--- a/lib/private/user/user.php
+++ b/lib/private/user/user.php
@@ -306,4 +306,14 @@ class User implements IUser {
$this->config->setUserValue($this->uid, 'core', 'enabled', $enabled);
}
}
+
+ /**
+ * get the users email address
+ *
+ * @return string|null
+ * @since 9.0.0
+ */
+ public function getEMailAddress() {
+ return $this->config->getUserValue($this->uid, 'settings', 'email');
+ }
}
diff --git a/lib/public/iuser.php b/lib/public/iuser.php
index 6cbcfbf2312..1e52cd59036 100644
--- a/lib/public/iuser.php
+++ b/lib/public/iuser.php
@@ -144,4 +144,12 @@ interface IUser {
* @since 8.0.0
*/
public function setEnabled($enabled);
+
+ /**
+ * get the users email address
+ *
+ * @return string|null
+ * @since 9.0.0
+ */
+ public function getEMailAddress();
}
diff --git a/tests/lib/contacts/localadressbook.php b/tests/lib/contacts/localadressbook.php
index a34d45bf3d0..6bfcf3d890a 100644
--- a/tests/lib/contacts/localadressbook.php
+++ b/tests/lib/contacts/localadressbook.php
@@ -1,5 +1,6 @@
<?php
use OC\Contacts\LocalAddressBook;
+use OCP\IUser;
/**
* ownCloud
@@ -44,7 +45,7 @@ class Test_LocalAddressBook extends \Test\TestCase
}
-class SimpleUserForTesting implements \OCP\IUser {
+class SimpleUserForTesting implements IUser {
public function __construct($uid, $displayName) {
@@ -95,4 +96,8 @@ class SimpleUserForTesting implements \OCP\IUser {
public function setEnabled($enabled) {
}
+
+ public function getEMailAddress() {
+ // TODO: Implement getEMailAddress() method.
+ }
}