Generate a valid URL for link notification
fixes #23197 * Updated unit test
This commit is contained in:
parent
f8180579d0
commit
1db82073a4
|
@ -70,7 +70,8 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo
|
||||||
\OC::$server->getL10N('lib'),
|
\OC::$server->getL10N('lib'),
|
||||||
\OC::$server->getMailer(),
|
\OC::$server->getMailer(),
|
||||||
\OC::$server->getLogger(),
|
\OC::$server->getLogger(),
|
||||||
$defaults
|
$defaults,
|
||||||
|
\OC::$server->getURLGenerator()
|
||||||
);
|
);
|
||||||
$result = $mailNotification->sendInternalShareMail($recipientList, $itemSource, $itemType);
|
$result = $mailNotification->sendInternalShareMail($recipientList, $itemSource, $itemType);
|
||||||
|
|
||||||
|
@ -108,7 +109,8 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo
|
||||||
\OC::$server->getL10N('lib'),
|
\OC::$server->getL10N('lib'),
|
||||||
\OC::$server->getMailer(),
|
\OC::$server->getMailer(),
|
||||||
\OC::$server->getLogger(),
|
\OC::$server->getLogger(),
|
||||||
$defaults
|
$defaults,
|
||||||
|
\OC::$server->getURLGenerator()
|
||||||
);
|
);
|
||||||
|
|
||||||
$expiration = null;
|
$expiration = null;
|
||||||
|
|
|
@ -30,6 +30,7 @@ namespace OC\Share;
|
||||||
|
|
||||||
use DateTime;
|
use DateTime;
|
||||||
use OCP\IL10N;
|
use OCP\IL10N;
|
||||||
|
use OCP\IURLGenerator;
|
||||||
use OCP\IUser;
|
use OCP\IUser;
|
||||||
use OCP\Mail\IMailer;
|
use OCP\Mail\IMailer;
|
||||||
use OCP\ILogger;
|
use OCP\ILogger;
|
||||||
|
@ -57,6 +58,8 @@ class MailNotifications {
|
||||||
private $defaults;
|
private $defaults;
|
||||||
/** @var ILogger */
|
/** @var ILogger */
|
||||||
private $logger;
|
private $logger;
|
||||||
|
/** @var IURLGenerator */
|
||||||
|
private $urlGenerator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param IUser $user
|
* @param IUser $user
|
||||||
|
@ -64,17 +67,20 @@ class MailNotifications {
|
||||||
* @param IMailer $mailer
|
* @param IMailer $mailer
|
||||||
* @param ILogger $logger
|
* @param ILogger $logger
|
||||||
* @param Defaults $defaults
|
* @param Defaults $defaults
|
||||||
|
* @param IURLGenerator $urlGenerator
|
||||||
*/
|
*/
|
||||||
public function __construct(IUser $user,
|
public function __construct(IUser $user,
|
||||||
IL10N $l10n,
|
IL10N $l10n,
|
||||||
IMailer $mailer,
|
IMailer $mailer,
|
||||||
ILogger $logger,
|
ILogger $logger,
|
||||||
Defaults $defaults) {
|
Defaults $defaults,
|
||||||
|
IURLGenerator $urlGenerator) {
|
||||||
$this->l = $l10n;
|
$this->l = $l10n;
|
||||||
$this->user = $user;
|
$this->user = $user;
|
||||||
$this->mailer = $mailer;
|
$this->mailer = $mailer;
|
||||||
$this->logger = $logger;
|
$this->logger = $logger;
|
||||||
$this->defaults = $defaults;
|
$this->defaults = $defaults;
|
||||||
|
$this->urlGenerator = $urlGenerator;
|
||||||
|
|
||||||
$this->replyTo = $this->user->getEMailAddress();
|
$this->replyTo = $this->user->getEMailAddress();
|
||||||
$this->senderDisplayName = $this->user->getDisplayName();
|
$this->senderDisplayName = $this->user->getDisplayName();
|
||||||
|
@ -131,7 +137,10 @@ class MailNotifications {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
$link = Util::linkToAbsolute('files', 'index.php', $args);
|
$link = $this->urlGenerator->linkToRouteAbsolute(
|
||||||
|
'files.view.index',
|
||||||
|
$args
|
||||||
|
);
|
||||||
|
|
||||||
list($htmlBody, $textBody) = $this->createMailBody($filename, $link, $expiration, 'internal');
|
list($htmlBody, $textBody) = $this->createMailBody($filename, $link, $expiration, 'internal');
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,7 @@ use OCP\IUser;
|
||||||
use OCP\Mail\IMailer;
|
use OCP\Mail\IMailer;
|
||||||
use OCP\ILogger;
|
use OCP\ILogger;
|
||||||
use OCP\Defaults;
|
use OCP\Defaults;
|
||||||
|
use OCP\IURLGenerator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class MailNotificationsTest
|
* Class MailNotificationsTest
|
||||||
|
@ -40,6 +41,8 @@ class MailNotificationsTest extends \Test\TestCase {
|
||||||
private $defaults;
|
private $defaults;
|
||||||
/** @var IUser | PHPUnit_Framework_MockObject_MockObject */
|
/** @var IUser | PHPUnit_Framework_MockObject_MockObject */
|
||||||
private $user;
|
private $user;
|
||||||
|
/** @var IURLGenerator | PHPUnit_Framework_MockObject_MockObject */
|
||||||
|
private $urlGenerator;
|
||||||
|
|
||||||
|
|
||||||
public function setUp() {
|
public function setUp() {
|
||||||
|
@ -55,6 +58,7 @@ class MailNotificationsTest extends \Test\TestCase {
|
||||||
->disableOriginalConstructor()->getMock();
|
->disableOriginalConstructor()->getMock();
|
||||||
$this->user = $this->getMockBuilder('\OCP\IUser')
|
$this->user = $this->getMockBuilder('\OCP\IUser')
|
||||||
->disableOriginalConstructor()->getMock();
|
->disableOriginalConstructor()->getMock();
|
||||||
|
$this->urlGenerator = $this->getMock('\OCP\IURLGenerator');
|
||||||
|
|
||||||
$this->l10n->expects($this->any())
|
$this->l10n->expects($this->any())
|
||||||
->method('t')
|
->method('t')
|
||||||
|
@ -116,7 +120,8 @@ class MailNotificationsTest extends \Test\TestCase {
|
||||||
$this->l10n,
|
$this->l10n,
|
||||||
$this->mailer,
|
$this->mailer,
|
||||||
$this->logger,
|
$this->logger,
|
||||||
$this->defaults
|
$this->defaults,
|
||||||
|
$this->urlGenerator
|
||||||
);
|
);
|
||||||
|
|
||||||
$this->assertSame([], $mailNotifications->sendLinkShareMail('lukas@owncloud.com', 'MyFile', 'https://owncloud.com/file/?foo=bar', 3600));
|
$this->assertSame([], $mailNotifications->sendLinkShareMail('lukas@owncloud.com', 'MyFile', 'https://owncloud.com/file/?foo=bar', 3600));
|
||||||
|
@ -180,7 +185,8 @@ class MailNotificationsTest extends \Test\TestCase {
|
||||||
$this->l10n,
|
$this->l10n,
|
||||||
$this->mailer,
|
$this->mailer,
|
||||||
$this->logger,
|
$this->logger,
|
||||||
$this->defaults
|
$this->defaults,
|
||||||
|
$this->urlGenerator
|
||||||
);
|
);
|
||||||
$this->assertSame([], $mailNotifications->sendLinkShareMail($to, 'MyFile', 'https://owncloud.com/file/?foo=bar', 3600));
|
$this->assertSame([], $mailNotifications->sendLinkShareMail($to, 'MyFile', 'https://owncloud.com/file/?foo=bar', 3600));
|
||||||
}
|
}
|
||||||
|
@ -193,7 +199,8 @@ class MailNotificationsTest extends \Test\TestCase {
|
||||||
$this->l10n,
|
$this->l10n,
|
||||||
$this->mailer,
|
$this->mailer,
|
||||||
$this->logger,
|
$this->logger,
|
||||||
$this->defaults
|
$this->defaults,
|
||||||
|
$this->urlGenerator
|
||||||
);
|
);
|
||||||
|
|
||||||
$this->assertSame(['lukas@owncloud.com'], $mailNotifications->sendLinkShareMail('lukas@owncloud.com', 'MyFile', 'https://owncloud.com/file/?foo=bar', 3600));
|
$this->assertSame(['lukas@owncloud.com'], $mailNotifications->sendLinkShareMail('lukas@owncloud.com', 'MyFile', 'https://owncloud.com/file/?foo=bar', 3600));
|
||||||
|
@ -208,7 +215,9 @@ class MailNotificationsTest extends \Test\TestCase {
|
||||||
$this->l10n,
|
$this->l10n,
|
||||||
$this->mailer,
|
$this->mailer,
|
||||||
$this->logger,
|
$this->logger,
|
||||||
$this->defaults]);
|
$this->defaults,
|
||||||
|
$this->urlGenerator
|
||||||
|
]);
|
||||||
|
|
||||||
$mailNotifications->method('getItemSharedWithUser')
|
$mailNotifications->method('getItemSharedWithUser')
|
||||||
->withAnyParameters()
|
->withAnyParameters()
|
||||||
|
@ -227,6 +236,16 @@ class MailNotificationsTest extends \Test\TestCase {
|
||||||
->method('getDisplayName')
|
->method('getDisplayName')
|
||||||
->willReturn('Recipient');
|
->willReturn('Recipient');
|
||||||
|
|
||||||
|
$this->urlGenerator->expects($this->once())
|
||||||
|
->method('linkToRouteAbsolute')
|
||||||
|
->with(
|
||||||
|
$this->equalTo('files.view.index'),
|
||||||
|
$this->equalTo([
|
||||||
|
'dir' => '/',
|
||||||
|
'scrollto' => 'welcome.txt'
|
||||||
|
])
|
||||||
|
);
|
||||||
|
|
||||||
$recipientList = [$recipient];
|
$recipientList = [$recipient];
|
||||||
$result = $mailNotifications->sendInternalShareMail($recipientList, '3', 'file');
|
$result = $mailNotifications->sendInternalShareMail($recipientList, '3', 'file');
|
||||||
$this->assertSame([], $result);
|
$this->assertSame([], $result);
|
||||||
|
|
Loading…
Reference in New Issue