You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by bt...@apache.org on 2021/10/29 15:25:22 UTC

[james-project] branch master updated (bbd4c9b -> 3bc056c)

This is an automated email from the ASF dual-hosted git repository.

btellier pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git.


    from bbd4c9b  JAMES-3539 - WebPushClient (#711)
     new a146ac9  mock email DELETE returning cleared emails
     new 7438614  http GET for mock email count
     new 3bc056c  report mock email count directly instead of copy+count

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../mock/smtp/server/HTTPConfigurationServer.java  | 27 ++++++++++++++++++++--
 .../mock/smtp/server/ReceivedMailRepository.java   | 14 +++++++++--
 .../smtp/server/HTTPConfigurationServerTest.java   |  7 +++---
 3 files changed, 41 insertions(+), 7 deletions(-)

---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org


[james-project] 02/03: http GET for mock email count

Posted by bt...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 7438614a114442459a73b1bf1a30871da8054de6
Author: Szabolcs Szucs <sz...@patientsknowbest.com>
AuthorDate: Wed Oct 27 22:57:16 2021 +0200

    http GET for mock email count
---
 .../james/mock/smtp/server/HTTPConfigurationServer.java   | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/server/mailet/mock-smtp-server/src/main/java/org/apache/james/mock/smtp/server/HTTPConfigurationServer.java b/server/mailet/mock-smtp-server/src/main/java/org/apache/james/mock/smtp/server/HTTPConfigurationServer.java
index 957332c..330d617 100644
--- a/server/mailet/mock-smtp-server/src/main/java/org/apache/james/mock/smtp/server/HTTPConfigurationServer.java
+++ b/server/mailet/mock-smtp-server/src/main/java/org/apache/james/mock/smtp/server/HTTPConfigurationServer.java
@@ -98,6 +98,7 @@ public class HTTPConfigurationServer {
     static final String SMTP_EXTENSIONS = "/smtpExtensions";
     static final String VERSION = "/version";
     static final String SMTP_MAILS = "/smtpMails";
+    static final String SMTP_MAILS_COUNT = "/smtpMailsCount";
 
     private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper()
         .registerModule(new Jdk8Module())
@@ -140,6 +141,7 @@ public class HTTPConfigurationServer {
                 .delete(SMTP_BEHAVIORS, this::deleteBehaviors)
                 .delete(SMTP_EXTENSIONS, this::deleteExtensions)
                 .get(SMTP_MAILS, this::getMails)
+                .get(SMTP_MAILS_COUNT, this::getMailsCount)
                 .delete(SMTP_MAILS, this::deleteMails))
             .bindNow());
     }
@@ -240,4 +242,17 @@ public class HTTPConfigurationServer {
             return res.status(INTERNAL_SERVER_ERROR).send();
         }
     }
+
+    private Publisher<Void> getMailsCount(HttpServerRequest req, HttpServerResponse res) {
+        var count = receivedMailRepository.list().stream().count();
+
+        try {
+            return res.status(OK)
+                    .header(CONTENT_TYPE, APPLICATION_JSON)
+                    .sendString(Mono.just(OBJECT_MAPPER.writeValueAsString(count)));
+        } catch (JsonProcessingException e) {
+            LOGGER.error("Could not serialize JSON", e);
+            return res.status(INTERNAL_SERVER_ERROR).send();
+        }
+    }
 }

---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org


[james-project] 03/03: report mock email count directly instead of copy+count

Posted by bt...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 3bc056c763ee96ab5eecaa9a6f237f7f84caa7d1
Author: Szabolcs Szucs <sz...@patientsknowbest.com>
AuthorDate: Thu Oct 28 11:12:29 2021 +0200

    report mock email count directly instead of copy+count
---
 .../org/apache/james/mock/smtp/server/HTTPConfigurationServer.java    | 2 +-
 .../org/apache/james/mock/smtp/server/ReceivedMailRepository.java     | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/server/mailet/mock-smtp-server/src/main/java/org/apache/james/mock/smtp/server/HTTPConfigurationServer.java b/server/mailet/mock-smtp-server/src/main/java/org/apache/james/mock/smtp/server/HTTPConfigurationServer.java
index 330d617..de7aba1 100644
--- a/server/mailet/mock-smtp-server/src/main/java/org/apache/james/mock/smtp/server/HTTPConfigurationServer.java
+++ b/server/mailet/mock-smtp-server/src/main/java/org/apache/james/mock/smtp/server/HTTPConfigurationServer.java
@@ -244,7 +244,7 @@ public class HTTPConfigurationServer {
     }
 
     private Publisher<Void> getMailsCount(HttpServerRequest req, HttpServerResponse res) {
-        var count = receivedMailRepository.list().stream().count();
+        int count = receivedMailRepository.count();
 
         try {
             return res.status(OK)
diff --git a/server/mailet/mock-smtp-server/src/main/java/org/apache/james/mock/smtp/server/ReceivedMailRepository.java b/server/mailet/mock-smtp-server/src/main/java/org/apache/james/mock/smtp/server/ReceivedMailRepository.java
index 2010529..84b647d 100644
--- a/server/mailet/mock-smtp-server/src/main/java/org/apache/james/mock/smtp/server/ReceivedMailRepository.java
+++ b/server/mailet/mock-smtp-server/src/main/java/org/apache/james/mock/smtp/server/ReceivedMailRepository.java
@@ -42,6 +42,10 @@ public class ReceivedMailRepository {
         return ImmutableList.copyOf(mails);
     }
 
+    public int count() {
+        return mails.size();
+    }
+
     public List<Mail> clear() {
         Mail mail;
         ArrayList<Mail> result = new ArrayList<>();

---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org


[james-project] 01/03: mock email DELETE returning cleared emails

Posted by bt...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit a146ac9126a40485a0682f6f4b2ff6c50da06844
Author: Szabolcs Szucs <sz...@patientsknowbest.com>
AuthorDate: Wed Oct 27 22:54:01 2021 +0200

    mock email DELETE returning cleared emails
---
 .../james/mock/smtp/server/HTTPConfigurationServer.java      | 12 ++++++++++--
 .../james/mock/smtp/server/ReceivedMailRepository.java       | 10 ++++++++--
 .../james/mock/smtp/server/HTTPConfigurationServerTest.java  |  7 ++++---
 3 files changed, 22 insertions(+), 7 deletions(-)

diff --git a/server/mailet/mock-smtp-server/src/main/java/org/apache/james/mock/smtp/server/HTTPConfigurationServer.java b/server/mailet/mock-smtp-server/src/main/java/org/apache/james/mock/smtp/server/HTTPConfigurationServer.java
index 2d7eed8..957332c 100644
--- a/server/mailet/mock-smtp-server/src/main/java/org/apache/james/mock/smtp/server/HTTPConfigurationServer.java
+++ b/server/mailet/mock-smtp-server/src/main/java/org/apache/james/mock/smtp/server/HTTPConfigurationServer.java
@@ -216,8 +216,16 @@ public class HTTPConfigurationServer {
     }
 
     private Publisher<Void> deleteMails(HttpServerRequest req, HttpServerResponse res) {
-        receivedMailRepository.clear();
-        return res.status(NO_CONTENT).send();
+        Mails mailsRemoved = new Mails(receivedMailRepository.clear());
+
+        try {
+            return res.status(OK)
+                    .header(CONTENT_TYPE, APPLICATION_JSON)
+                    .sendString(Mono.just(OBJECT_MAPPER.writeValueAsString(mailsRemoved)));
+        } catch (JsonProcessingException e) {
+            LOGGER.error("Could not serialize JSON", e);
+            return res.status(INTERNAL_SERVER_ERROR).send();
+        }
     }
 
     private Publisher<Void> getMails(HttpServerRequest req, HttpServerResponse res) {
diff --git a/server/mailet/mock-smtp-server/src/main/java/org/apache/james/mock/smtp/server/ReceivedMailRepository.java b/server/mailet/mock-smtp-server/src/main/java/org/apache/james/mock/smtp/server/ReceivedMailRepository.java
index b2faec2..2010529 100644
--- a/server/mailet/mock-smtp-server/src/main/java/org/apache/james/mock/smtp/server/ReceivedMailRepository.java
+++ b/server/mailet/mock-smtp-server/src/main/java/org/apache/james/mock/smtp/server/ReceivedMailRepository.java
@@ -19,6 +19,7 @@
 
 package org.apache.james.mock.smtp.server;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.ConcurrentLinkedQueue;
 
@@ -41,7 +42,12 @@ public class ReceivedMailRepository {
         return ImmutableList.copyOf(mails);
     }
 
-    public void clear() {
-        mails.clear();
+    public List<Mail> clear() {
+        Mail mail;
+        ArrayList<Mail> result = new ArrayList<>();
+        while ((mail = mails.poll()) != null) {
+            result.add(mail);
+        }
+        return result;
     }
 }
diff --git a/server/mailet/mock-smtp-server/src/test/java/org/apache/james/mock/smtp/server/HTTPConfigurationServerTest.java b/server/mailet/mock-smtp-server/src/test/java/org/apache/james/mock/smtp/server/HTTPConfigurationServerTest.java
index 6d4ddef..52da104 100644
--- a/server/mailet/mock-smtp-server/src/test/java/org/apache/james/mock/smtp/server/HTTPConfigurationServerTest.java
+++ b/server/mailet/mock-smtp-server/src/test/java/org/apache/james/mock/smtp/server/HTTPConfigurationServerTest.java
@@ -20,6 +20,7 @@
 package org.apache.james.mock.smtp.server;
 
 import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT;
+import static io.netty.handler.codec.http.HttpResponseStatus.OK;
 import static io.restassured.RestAssured.given;
 import static io.restassured.RestAssured.when;
 import static io.restassured.RestAssured.with;
@@ -257,11 +258,11 @@ class HTTPConfigurationServerTest {
         }
 
         @Test
-        void deleteShouldReturnNoContent() {
+        void deleteShouldReturnContent() {
             when()
                 .delete()
             .then()
-                .statusCode(NO_CONTENT.code());
+                .statusCode(OK.code());
         }
 
         @Test
@@ -277,4 +278,4 @@ class HTTPConfigurationServerTest {
                 .body(".", hasSize(0));
         }
     }
-}
\ No newline at end of file
+}

---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org