Introduce \OCP\IUser::getEMailAddress()

remotes/origin/fix-delete-homeidr-on-userdelete
Thomas Müller 2015-11-24 23:28:24 +07:00
parent c25a7cc4da
commit b799e42b4e
5 changed files with 45 additions and 40 deletions

@ -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;

@ -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',

@ -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');
}
}

@ -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();
}

@ -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.
}
}