You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2017/03/30 04:28:51 UTC

[2/3] james-project git commit: JAMES-1872 Add integration test for JMAP for downloading images with the same CID

JAMES-1872 Add integration test for JMAP for downloading images with the same CID


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/2c1ef3ba
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/2c1ef3ba
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/2c1ef3ba

Branch: refs/heads/master
Commit: 2c1ef3ba338c11e5fb6eed23e98b5d77dfa99b61
Parents: 9643615
Author: Quynh Nguyen <qn...@linagora.com>
Authored: Mon Mar 27 11:27:13 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Mar 30 11:28:03 2017 +0700

----------------------------------------------------------------------
 .../integration/cucumber/DownloadStepdefs.java  | 14 +++-
 .../resources/cucumber/DownloadEndpoint.feature | 12 ++-
 .../test/resources/eml/sameInlinedImages.eml    | 84 ++++++++++++++++++++
 3 files changed, 106 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/2c1ef3ba/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/DownloadStepdefs.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/DownloadStepdefs.java b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/DownloadStepdefs.java
index 829b21d..68ba2ae 100644
--- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/DownloadStepdefs.java
+++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/cucumber/DownloadStepdefs.java
@@ -92,7 +92,7 @@ public class DownloadStepdefs {
                 ClassLoader.getSystemResourceAsStream("eml/oneAttachment.eml"), new Date(), false, new Flags());
         
         attachmentsByMessageId.put(messageId, attachmentId);
-        blobIdByAttachmentId.put(attachmentId, "4000c5145f633410b80be368c44e1c394bff9437");
+        blobIdByAttachmentId.put(attachmentId, ONE_ATTACHMENT_EML_ATTACHMENT_BLOB_ID);
     }
 
     @Given("^\"([^\"]*)\" mailbox \"([^\"]*)\" contains a message \"([^\"]*)\" with an inlined attachment \"([^\"]*)\"$")
@@ -107,6 +107,18 @@ public class DownloadStepdefs {
         //blobIdByAttachmentId.put(attachmentId, "<correctComputedBlobId>");
     }
 
+    @Given("^\"([^\"]*)\" mailbox \"([^\"]*)\" contains a message \"([^\"]*)\" with multiple same inlined attachments \"([^\"]*)\"$")
+    public void appendMessageWithSameInlinedAttachmentsToMailbox(String user, String mailbox, String messageName, String attachmentId) throws Throwable {
+        MailboxPath mailboxPath = new MailboxPath(MailboxConstants.USER_NAMESPACE, user, mailbox);
+
+        mainStepdefs.jmapServer.getProbe(MailboxProbeImpl.class).appendMessage(user, mailboxPath,
+            ClassLoader.getSystemResourceAsStream("eml/sameInlinedImages.eml"), new Date(), false, new Flags());
+
+        attachmentsByMessageId.put(messageName, attachmentId);
+
+        blobIdByAttachmentId.put(attachmentId, ONE_ATTACHMENT_EML_ATTACHMENT_BLOB_ID);
+    }
+
     @When("^\"([^\"]*)\" checks for the availability of the attachment endpoint$")
     public void optionDownload(String username) throws Throwable {
         AccessToken accessToken = userStepdefs.tokenByUser.get(username);

http://git-wip-us.apache.org/repos/asf/james-project/blob/2c1ef3ba/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/resources/cucumber/DownloadEndpoint.feature
----------------------------------------------------------------------
diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/resources/cucumber/DownloadEndpoint.feature b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/resources/cucumber/DownloadEndpoint.feature
index e46a4fe..f4be86e 100644
--- a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/resources/cucumber/DownloadEndpoint.feature
+++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/resources/cucumber/DownloadEndpoint.feature
@@ -7,7 +7,7 @@ Feature: Download endpoint
     And some users "usera@domain.tld", "userb@domain.tld", "userc@domain.tld"
     And "usera@domain.tld" has a mailbox "INBOX"
     And "usera@domain.tld" mailbox "INBOX" contains a message "m1" with an attachment "a1"
-    
+
   Scenario: An authenticated user should initiate the access to the download endpoint
     Given "usera@domain.tld" is connected
     When "usera@domain.tld" checks for the availability of the attachment endpoint
@@ -74,9 +74,15 @@ Feature: Download endpoint
     When "userb@domain.tld" downloads "a1"
     Then the user should be authorized
 
-  @Ignore
-  Scenario: A user should have acess to an inlined attachment
+  Scenario: A user should have access to an inlined attachment
     Given "usera@domain.tld" is connected
     And "usera@domain.tld" mailbox "INBOX" contains a message "m2" with an inlined attachment "ia1"
     When "usera@domain.tld" downloads "ia1"
     Then the user should be authorized
+
+  Scenario: A user should have access to multiple same inlined attachments
+    Given "usera@domain.tld" is connected
+    And "usera@domain.tld" mailbox "INBOX" contains a message "m2" with multiple same inlined attachments "ia1"
+    When "usera@domain.tld" downloads "ia1"
+    And "usera@domain.tld" downloads "ia1"
+    Then the user should be authorized

http://git-wip-us.apache.org/repos/asf/james-project/blob/2c1ef3ba/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/resources/eml/sameInlinedImages.eml
----------------------------------------------------------------------
diff --git a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/resources/eml/sameInlinedImages.eml b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/resources/eml/sameInlinedImages.eml
new file mode 100644
index 0000000..2705094
--- /dev/null
+++ b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/resources/eml/sameInlinedImages.eml
@@ -0,0 +1,84 @@
+Return-Path: <te...@linagora.com>
+Received: from alderaan.linagora.com (smtp.linagora.dc1 [172.16.18.53])
+	 by imap (Cyrus v2.2.13-Debian-2.2.13-19+squeeze3) with LMTPA;
+	 Thu, 29 Dec 2016 04:19:28 +0100
+X-Sieve: CMU Sieve 2.2
+Received: from extranet.linagora.com (ldap.linagora.com [172.16.18.50])
+	by alderaan.linagora.com (Postfix) with ESMTP id F33174499
+	for <te...@linagora.com>; Thu, 29 Dec 2016 04:19:27 +0100 (CET)
+MIME-Version: 1.0
+Content-Type: multipart/alternative;
+ boundary="=_c0feb3c9f3d562fc7adebe39b63a7f62"
+Date: Thu, 29 Dec 2016 04:19:27 +0100
+From: Test <te...@linagora.com>
+To: test <te...@linagora.com>
+Subject: Send many inlined images
+Message-ID: <ba...@linagora.com>
+X-Sender: test@linagora.com
+User-Agent: Roundcube Webmail/1.1.4
+
+--=_c0feb3c9f3d562fc7adebe39b63a7f62
+Content-Transfer-Encoding: 7bit
+Content-Type: text/plain; charset=US-ASCII
+
+Add more images 
+
+  
+--=_c0feb3c9f3d562fc7adebe39b63a7f62
+Content-Type: multipart/related;
+ boundary="=_ebeed74b39dc10b43908b65b893b4ea4"
+
+--=_ebeed74b39dc10b43908b65b893b4ea4
+Content-Transfer-Encoding: quoted-printable
+Content-Type: text/html; charset=UTF-8
+
+<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; charset=
+=3DUTF-8" /></head><body style=3D'font-size: 10pt; font-family: Verdana,Gen=
+eva,sans-serif'>
+<p>Add more images <img src=3D"cid:1482981567586480bfca67b793175279@linagor=
+a.com" alt=3D"" width=3D"163" height=3D"71" /><img src=3D"cid:1482981567586=
+480bfca67b793175279@linagora.com" alt=3D"" width=3D"163" height=3D"71" /><i=
+mg src=3D"cid:1482981567586480bfca67b793175279@linagora.com" alt=3D"" width=
+=3D"163" height=3D"71" /></p>
+<div>&nbsp;</div>
+</body></html>
+
+--=_ebeed74b39dc10b43908b65b893b4ea4
+Content-Transfer-Encoding: base64
+Content-ID: <14...@linagora.com>
+Content-Type: image/png;
+ name="g3619(1).png"
+Content-Disposition: inline;
+ filename="g3619(1).png";
+ size=1510
+
+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
+0U38km3X+Aeuu0L8ysHGdwAAAABJRU5ErkJggg==
+--=_ebeed74b39dc10b43908b65b893b4ea4--
+
+--=_c0feb3c9f3d562fc7adebe39b63a7f62--


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