From bf02687ea4c4bbd274a832f6c7378a4b7c2e01dd Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Fri, 17 Mar 2023 06:37:16 +0000 Subject: [PATCH] fix type and test reset --- app/controllers/shared/api.php | 14 +++++++------- .../Projects/ProjectsConsoleClientTest.php | 13 +++++++++++++ 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/app/controllers/shared/api.php b/app/controllers/shared/api.php index 8cb8029fb8..f240431553 100644 --- a/app/controllers/shared/api.php +++ b/app/controllers/shared/api.php @@ -194,15 +194,15 @@ App::init() ->setParam('project.{scope}.network.outbound', 0); $smtp = $project->getAttribute('smtp', []); - if (!empty($smtp)) { + if (!empty($smtp) && ($smtp['enabled'] ?? false)) { $mails ->setSmtpHost($smtp['host'] ?? '') - ->setSmtpHost($smtp['port'] ?? 25) - ->setSmtpHost($smtp['username'] ?? '') - ->setSmtpHost($smtp['password'] ?? '') - ->setSmtpHost($smtp['senderEmail'] ?? '') - ->setSmtpHost($smtp['senderName'] ?? '') - ->setSmtpPort($smtp['replyTo'] ?? ''); + ->setSmtpPort($smtp['port'] ?? 25) + ->setSmtpUsername($smtp['username'] ?? '') + ->setSmtpPassword($smtp['password'] ?? '') + ->setSmtpSenderEmail($smtp['senderEmail'] ?? '') + ->setSmtpSenderName($smtp['senderName'] ?? '') + ->setSmtpReplyTo($smtp['replyTo'] ?? ''); } $deletes->setProject($project); diff --git a/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php b/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php index 3a9cbccfb4..0df7ea3fe4 100644 --- a/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php +++ b/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php @@ -474,6 +474,19 @@ class ProjectsConsoleClientTest extends Scope $this->assertEquals('emailuser', $response['body']['smtpUsername']); $this->assertEquals('securepassword', $response['body']['smtpPassword']); $this->assertEquals('', $response['body']['smtpSecure']); + + /** Reset */ + $response = $this->client->call(Client::METHOD_PATCH, '/projects/' . $id . '/smtp', array_merge([ + 'content-type' => 'application/json', + 'x-appwrite-project' => $this->getProject()['$id'], + ], $this->getHeaders()), [ + 'enabled' => false, + 'sender' => 'mailer@appwrite.io', + 'host' => 'mail.appwrite.io', + 'port' => 25, + 'username' => 'emailuser', + 'password' => 'securepassword', + ]); return $data; }