You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by dm...@apache.org on 2018/06/06 21:36:32 UTC

[camel] branch master updated (df6c1cc -> 0bfd727)

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

dmvolod pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git.


    from df6c1cc  Fixed dead-letter-channel.adoc
     new 0b072eb  [CAMEL-11257] Updated api for sending asynchronous MDNs
     new 8c37e12  [CAMEL-11257] Added flexible port selection to testing
     new 0bfd727  CAMEL-11257: Fix TARGET_PORT in test

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:
 .../as2/api/AS2AsynchronousMDNManager.java         |  88 +++++------
 .../as2/api/protocol/RequestAsynchronousMDN.java   |  27 ----
 .../camel/component/as2/api/AS2MessageTest.java    | 167 ++++++++++++---------
 3 files changed, 138 insertions(+), 144 deletions(-)

-- 
To stop receiving notification emails like this one, please contact
dmvolod@apache.org.

[camel] 02/03: [CAMEL-11257] Added flexible port selection to testing

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

dmvolod pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 8c37e12a2ffae6f4e3604b64b6d6fe17ff088ca5
Author: William Collins <pu...@gmail.com>
AuthorDate: Wed Jun 6 13:27:22 2018 -0400

    [CAMEL-11257] Added flexible port selection to testing
---
 .../test/java/org/apache/camel/component/as2/api/AS2MessageTest.java | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/AS2MessageTest.java b/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/AS2MessageTest.java
index 61461d1..48f6a4b 100644
--- a/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/AS2MessageTest.java
+++ b/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/AS2MessageTest.java
@@ -43,6 +43,7 @@ import org.apache.camel.component.as2.api.util.EntityUtils;
 import org.apache.camel.component.as2.api.util.HttpMessageUtils;
 import org.apache.camel.component.as2.api.util.MicUtils;
 import org.apache.camel.component.as2.api.util.MicUtils.ReceivedContentMic;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.http.HttpEntity;
 import org.apache.http.HttpEntityEnclosingRequest;
 import org.apache.http.HttpException;
@@ -114,9 +115,9 @@ public class AS2MessageTest {
     private static final Logger LOG = LoggerFactory.getLogger(AS2MessageTest.class);
 
     private static final String METHOD = "POST";
-    private static final String RECIPIENT_DELIVERY_ADDRESS = "http://localhost:8080/handle-receipts";
     private static final String TARGET_HOST = "localhost";
-    private static final int TARGET_PORT = 8080;
+    private static final int TARGET_PORT = AvailablePortFinder.getNextAvailable(8080);
+    private static final String RECIPIENT_DELIVERY_ADDRESS = "http://localhost:" + TARGET_PORT + "/handle-receipts";
     private static final String AS2_VERSION = "1.1";
     private static final String USER_AGENT = "Camel AS2 Endpoint";
     private static final String REQUEST_URI = "/";

-- 
To stop receiving notification emails like this one, please contact
dmvolod@apache.org.

[camel] 01/03: [CAMEL-11257] Updated api for sending asynchronous MDNs

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

dmvolod pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 0b072eb06bdaa8081b0a287768b8ed9b65366e9c
Author: William Collins <pu...@gmail.com>
AuthorDate: Wed Jun 6 12:57:24 2018 -0400

    [CAMEL-11257] Updated api for sending asynchronous MDNs
---
 .../as2/api/AS2AsynchronousMDNManager.java         |  88 +++++------
 .../as2/api/protocol/RequestAsynchronousMDN.java   |  27 ----
 .../camel/component/as2/api/AS2MessageTest.java    | 164 ++++++++++++---------
 3 files changed, 136 insertions(+), 143 deletions(-)

diff --git a/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2AsynchronousMDNManager.java b/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2AsynchronousMDNManager.java
index 4318af4..6c9f2e7 100644
--- a/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2AsynchronousMDNManager.java
+++ b/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/AS2AsynchronousMDNManager.java
@@ -18,6 +18,8 @@ package org.apache.camel.component.as2.api;
 
 import java.io.IOException;
 import java.net.Socket;
+import java.net.URI;
+import java.net.URISyntaxException;
 import java.security.PrivateKey;
 import java.security.cert.Certificate;
 
@@ -30,6 +32,7 @@ import org.apache.http.HttpException;
 import org.apache.http.HttpHost;
 import org.apache.http.HttpRequest;
 import org.apache.http.HttpResponse;
+import org.apache.http.client.utils.URIBuilder;
 import org.apache.http.impl.DefaultBHttpClientConnection;
 import org.apache.http.message.BasicHttpEntityEnclosingRequest;
 import org.apache.http.protocol.HttpCoreContext;
@@ -42,6 +45,7 @@ import org.apache.http.protocol.RequestDate;
 import org.apache.http.protocol.RequestExpectContinue;
 import org.apache.http.protocol.RequestTargetHost;
 import org.apache.http.protocol.RequestUserAgent;
+import org.apache.http.util.Args;
 
 public class AS2AsynchronousMDNManager {
 
@@ -74,37 +78,6 @@ public class AS2AsynchronousMDNManager {
     public static final String AS2_CONNECTION = CAMEL_AS2_ASYNC_MDN_PREFIX + "as2-connection";
 
     /**
-     * The HTTP Context Attribute indicating the target host MDN sent to.
-     */
-    public static final String TARGET_HOST = CAMEL_AS2_ASYNC_MDN_PREFIX + "target-host";
-
-    /**
-     * The HTTP Context Attribute indicating the target port MDN sent to.
-     */
-    public static final String TARGET_PORT = CAMEL_AS2_ASYNC_MDN_PREFIX + "target-port";
-
-    /**
-     * The HTTP Context Attribute containing the subject header sent in MDN.
-     */
-    public static final String SUBJECT = CAMEL_AS2_ASYNC_MDN_PREFIX + "subject";
-
-    /**
-     * The HTTP Context Attribute containing the internet e-mail address of this
-     * responding system
-     */
-    public static final String FROM = CAMEL_AS2_ASYNC_MDN_PREFIX + "from";
-
-    /**
-     * The HTTP Context Attribute indicating the AS2 name of MDN recipient.
-     */
-    public static final String AS2_TO = CAMEL_AS2_ASYNC_MDN_PREFIX + "as2-to";
-
-    /**
-     * The HTTP Context Attribute indicating the AS2 name of MDN sender.
-     */
-    public static final String AS2_FROM = CAMEL_AS2_ASYNC_MDN_PREFIX + "as2-from";
-
-    /**
      * The HTTP Context Attribute indicating the AS2 name of MDN sender.
      */
     public static final String RECIPIENT_ADDRESS = CAMEL_AS2_ASYNC_MDN_PREFIX + "recipient-address";
@@ -130,38 +103,37 @@ public class AS2AsynchronousMDNManager {
                 .build();
     }
 
-    public HttpCoreContext send(DispositionNotificationMultipartReportEntity mdn,
-                                String targetHostName,
-                                Integer targetPortNumber,
-                                String requestUri,
-                                String subject,
-                                String from,
-                                String as2From,
-                                String as2To)
+    public HttpCoreContext send(DispositionNotificationMultipartReportEntity mdn, 
+                                String recipientDeliveryAddress)
             throws HttpException {
-        if (targetHostName == null || targetHostName.length() == 0) {
-            targetHostName = "localhost";
-        }
-        if (targetPortNumber == null || targetPortNumber < 0) {
-            targetPortNumber = 80;
+        Args.notNull(mdn, "mdn");
+        Args.notNull(recipientDeliveryAddress, "recipientDeliveryAddress");
+        
+        URI uri = null;
+        try {
+            URIBuilder uriBuilder = new URIBuilder(recipientDeliveryAddress);
+            uri = uriBuilder.build();
+            
+        } catch (URISyntaxException e) {
+            throw new HttpException("Invalid recipient delivery address URL", e);
         }
         
+        String requestUri = buildRequestURI(uri);
+        
         AS2BHttpClientConnection httpConnection = new AS2BHttpClientConnection(8 * 1024);
         
         try {
-            HttpHost targetHost = new HttpHost(targetHostName, targetPortNumber);
+            
+            HttpHost targetHost = new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme());
 
             // Create socket and bind to connection;
             Socket socket = new Socket(targetHost.getHostName(), targetHost.getPort());
             httpConnection.bind(socket);
-
+            
             // Add Context attributes
             HttpCoreContext httpContext = HttpCoreContext.create();
             httpContext.setTargetHost(targetHost);
-            httpContext.setAttribute(AS2AsynchronousMDNManager.SUBJECT, subject);
-            httpContext.setAttribute(AS2AsynchronousMDNManager.FROM, from);
-            httpContext.setAttribute(AS2AsynchronousMDNManager.AS2_FROM, as2From);
-            httpContext.setAttribute(AS2AsynchronousMDNManager.AS2_TO, as2To);
+            httpContext.setAttribute(RECIPIENT_ADDRESS, recipientDeliveryAddress);
 
             BasicHttpEntityEnclosingRequest request = new BasicHttpEntityEnclosingRequest("POST", requestUri);
             request.setHeader(AS2Header.CONTENT_TYPE, mdn.getMainMessageContentType());
@@ -202,4 +174,20 @@ public class AS2AsynchronousMDNManager {
 
         return response;
     }
+    
+    private String buildRequestURI(URI uri) {
+        StringBuilder sb = new StringBuilder();
+        if (uri.getPath() != null) {
+            sb.append(uri.getPath());
+        }
+        if (uri.getQuery() != null) {
+            sb.append('?');
+            sb.append(uri.getQuery());
+        }
+        if (uri.getFragment() != null) {
+            sb.append('#');
+            sb.append(uri.getFragment());
+        }
+        return sb.toString();
+    }
 }
diff --git a/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/protocol/RequestAsynchronousMDN.java b/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/protocol/RequestAsynchronousMDN.java
index 1b599ca..c427628 100644
--- a/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/protocol/RequestAsynchronousMDN.java
+++ b/components/camel-as2/camel-as2-api/src/main/java/org/apache/camel/component/as2/api/protocol/RequestAsynchronousMDN.java
@@ -21,7 +21,6 @@ import java.io.IOException;
 import org.apache.camel.component.as2.api.AS2AsynchronousMDNManager;
 import org.apache.camel.component.as2.api.AS2Constants;
 import org.apache.camel.component.as2.api.AS2Header;
-import org.apache.camel.component.as2.api.InvalidAS2NameException;
 import org.apache.camel.component.as2.api.Util;
 import org.apache.http.HttpException;
 import org.apache.http.HttpRequest;
@@ -47,35 +46,9 @@ public class RequestAsynchronousMDN implements HttpRequestInterceptor {
         /* MIME header */
         request.addHeader(AS2Header.MIME_VERSION, AS2Constants.MIME_VERSION);
 
-        /* Subject header */
-        String subject = coreContext.getAttribute(AS2AsynchronousMDNManager.SUBJECT, String.class);
-        request.addHeader(AS2Header.SUBJECT, subject);
-
-        /* From header */
-        String from = coreContext.getAttribute(AS2AsynchronousMDNManager.FROM, String.class);
-        request.addHeader(AS2Header.FROM, from);
-
         /* AS2-Version header */
         request.addHeader(AS2Header.AS2_VERSION, as2Version);
 
-        /* AS2-From header */
-        String as2From = coreContext.getAttribute(AS2AsynchronousMDNManager.AS2_FROM, String.class);
-        try {
-            Util.validateAS2Name(as2From);
-        } catch (InvalidAS2NameException e) {
-            throw new HttpException("Invalid AS-From name", e);
-        }
-        request.addHeader(AS2Header.AS2_FROM, as2From);
-
-        /* AS2-To header */
-        String as2To = coreContext.getAttribute(AS2AsynchronousMDNManager.AS2_TO, String.class);
-        try {
-            Util.validateAS2Name(as2To);
-        } catch (InvalidAS2NameException e) {
-            throw new HttpException("Invalid AS-To name", e);
-        }
-        request.addHeader(AS2Header.AS2_TO, as2To);
-
         /* Message-Id header */
         // SHOULD be set to aid in message reconciliation
         request.addHeader(AS2Header.MESSAGE_ID, Util.createMessageId(senderFQDN));
diff --git a/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/AS2MessageTest.java b/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/AS2MessageTest.java
index 533018f..61461d1 100644
--- a/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/AS2MessageTest.java
+++ b/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/AS2MessageTest.java
@@ -54,7 +54,6 @@ import org.apache.http.entity.ContentType;
 import org.apache.http.impl.EnglishReasonPhraseCatalog;
 import org.apache.http.message.BasicHttpEntityEnclosingRequest;
 import org.apache.http.message.BasicHttpResponse;
-import org.apache.http.protocol.HTTP;
 import org.apache.http.protocol.HttpContext;
 import org.apache.http.protocol.HttpCoreContext;
 import org.apache.http.protocol.HttpDateGenerator;
@@ -115,6 +114,7 @@ public class AS2MessageTest {
     private static final Logger LOG = LoggerFactory.getLogger(AS2MessageTest.class);
 
     private static final String METHOD = "POST";
+    private static final String RECIPIENT_DELIVERY_ADDRESS = "http://localhost:8080/handle-receipts";
     private static final String TARGET_HOST = "localhost";
     private static final int TARGET_PORT = 8080;
     private static final String AS2_VERSION = "1.1";
@@ -131,7 +131,7 @@ public class AS2MessageTest {
     private static final String[] SIGNED_RECEIPT_MIC_ALGORITHMS = new String[] {"sha1", "md5"};
 
     private static final HttpDateGenerator DATE_GENERATOR = new HttpDateGenerator();
-    
+
     private static AS2ServerConnection testServer;
 
     private AS2SignedDataGenerator gen;
@@ -147,22 +147,20 @@ public class AS2MessageTest {
         //
         // set up our certificates
         //
-        KeyPairGenerator    kpg  = KeyPairGenerator.getInstance("RSA", "BC");
+        KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA", "BC");
 
         kpg.initialize(1024, new SecureRandom());
 
         String issueDN = "O=Punkhorn Software, C=US";
         issueKP = kpg.generateKeyPair();
-        issueCert = Utils.makeCertificate(
-                                        issueKP, issueDN, issueKP, issueDN);
+        issueCert = Utils.makeCertificate(issueKP, issueDN, issueKP, issueDN);
 
         //
         // certificate we sign against
         //
         String signingDN = "CN=William J. Collins, E=punkhornsw@gmail.com, O=Punkhorn Software, C=US";
         signingKP = kpg.generateKeyPair();
-        signingCert = Utils.makeCertificate(
-                                        signingKP, signingDN, issueKP, issueDN);
+        signingCert = Utils.makeCertificate(signingKP, signingDN, issueKP, issueDN);
 
         certList = new ArrayList<X509Certificate>();
 
@@ -178,30 +176,28 @@ public class AS2MessageTest {
         //
         // set up our certificates
         //
-        KeyPairGenerator    kpg  = KeyPairGenerator.getInstance("RSA", "BC");
+        KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA", "BC");
 
         kpg.initialize(1024, new SecureRandom());
 
         String issueDN = "O=Punkhorn Software, C=US";
         KeyPair issueKP = kpg.generateKeyPair();
-        X509Certificate issueCert = Utils.makeCertificate(
-                                        issueKP, issueDN, issueKP, issueDN);
+        X509Certificate issueCert = Utils.makeCertificate(issueKP, issueDN, issueKP, issueDN);
 
         //
         // certificate we sign against
         //
         String signingDN = "CN=William J. Collins, E=punkhornsw@gmail.com, O=Punkhorn Software, C=US";
         KeyPair signingKP = kpg.generateKeyPair();
-        X509Certificate signingCert = Utils.makeCertificate(
-                                        signingKP, signingDN, issueKP, issueDN);
+        X509Certificate signingCert = Utils.makeCertificate(signingKP, signingDN, issueKP, issueDN);
 
         List<X509Certificate> certList = new ArrayList<X509Certificate>();
 
         certList.add(signingCert);
         certList.add(issueCert);
 
-
-        testServer = new AS2ServerConnection(AS2_VERSION, "MyServer-HTTP/1.1", SERVER_FQDN, 8080, certList.toArray(new Certificate[0]), signingKP.getPrivate());
+        testServer = new AS2ServerConnection(AS2_VERSION, "MyServer-HTTP/1.1", SERVER_FQDN, 8080,
+                certList.toArray(new Certificate[0]), signingKP.getPrivate());
         testServer.listen("*", new HttpRequestHandler() {
             @Override
             public void handle(HttpRequest request, HttpResponse response, HttpContext context)
@@ -218,7 +214,6 @@ public class AS2MessageTest {
         });
     }
 
-
     @AfterClass
     public static void tearDownOnce() throws Exception {
         testServer.close();
@@ -241,7 +236,8 @@ public class AS2MessageTest {
 
         // Create signing attributes
         ASN1EncodableVector attributes = new ASN1EncodableVector();
-        attributes.add(new SMIMEEncryptionKeyPreferenceAttribute(new IssuerAndSerialNumber(new X500Name(signingCert.getIssuerDN().getName()), signingCert.getSerialNumber())));
+        attributes.add(new SMIMEEncryptionKeyPreferenceAttribute(new IssuerAndSerialNumber(
+                new X500Name(signingCert.getIssuerDN().getName()), signingCert.getSerialNumber())));
         attributes.add(new SMIMECapabilitiesAttribute(capabilities));
 
         for (String signingAlgorithmName : AS2SignedDataGenerator
@@ -266,7 +262,8 @@ public class AS2MessageTest {
 
     @Test
     public void plainEDIMessageTest() throws Exception {
-        AS2ClientConnection clientConnection = new AS2ClientConnection(AS2_VERSION, USER_AGENT, CLIENT_FQDN, TARGET_HOST, TARGET_PORT);
+        AS2ClientConnection clientConnection = new AS2ClientConnection(AS2_VERSION, USER_AGENT, CLIENT_FQDN,
+                TARGET_HOST, TARGET_PORT);
         AS2ClientManager clientManager = new AS2ClientManager(clientConnection);
 
         HttpCoreContext httpContext = clientManager.send(EDI_MESSAGE, REQUEST_URI, SUBJECT, FROM, AS2_NAME, AS2_NAME,
@@ -276,32 +273,40 @@ public class AS2MessageTest {
         HttpRequest request = httpContext.getRequest();
         assertEquals("Unexpected method value", METHOD, request.getRequestLine().getMethod());
         assertEquals("Unexpected request URI value", REQUEST_URI, request.getRequestLine().getUri());
-        assertEquals("Unexpected HTTP version value", HttpVersion.HTTP_1_1, request.getRequestLine().getProtocolVersion());
+        assertEquals("Unexpected HTTP version value", HttpVersion.HTTP_1_1,
+                request.getRequestLine().getProtocolVersion());
 
         assertEquals("Unexpected subject value", SUBJECT, request.getFirstHeader(AS2Header.SUBJECT).getValue());
         assertEquals("Unexpected from value", FROM, request.getFirstHeader(AS2Header.FROM).getValue());
-        assertEquals("Unexpected AS2 version value", AS2_VERSION, request.getFirstHeader(AS2Header.AS2_VERSION).getValue());
+        assertEquals("Unexpected AS2 version value", AS2_VERSION,
+                request.getFirstHeader(AS2Header.AS2_VERSION).getValue());
         assertEquals("Unexpected AS2 from value", AS2_NAME, request.getFirstHeader(AS2Header.AS2_FROM).getValue());
         assertEquals("Unexpected AS2 to value", AS2_NAME, request.getFirstHeader(AS2Header.AS2_TO).getValue());
-        assertTrue("Unexpected message id value", request.getFirstHeader(AS2Header.MESSAGE_ID).getValue().endsWith(CLIENT_FQDN + ">"));
-        assertEquals("Unexpected target host value", TARGET_HOST + ":" + TARGET_PORT, request.getFirstHeader(AS2Header.TARGET_HOST).getValue());
-        assertEquals("Unexpected user agent value", USER_AGENT, request.getFirstHeader(AS2Header.USER_AGENT).getValue());
+        assertTrue("Unexpected message id value",
+                request.getFirstHeader(AS2Header.MESSAGE_ID).getValue().endsWith(CLIENT_FQDN + ">"));
+        assertEquals("Unexpected target host value", TARGET_HOST + ":" + TARGET_PORT,
+                request.getFirstHeader(AS2Header.TARGET_HOST).getValue());
+        assertEquals("Unexpected user agent value", USER_AGENT,
+                request.getFirstHeader(AS2Header.USER_AGENT).getValue());
         assertNotNull("Date value missing", request.getFirstHeader(AS2Header.DATE));
         assertNotNull("Content length value missing", request.getFirstHeader(AS2Header.CONTENT_LENGTH));
-        assertTrue("Unexpected content type for message", request.getFirstHeader(AS2Header.CONTENT_TYPE).getValue().startsWith(AS2MediaType.APPLICATION_EDIFACT));
+        assertTrue("Unexpected content type for message",
+                request.getFirstHeader(AS2Header.CONTENT_TYPE).getValue().startsWith(AS2MediaType.APPLICATION_EDIFACT));
 
         assertTrue("Request does not contain entity", request instanceof BasicHttpEntityEnclosingRequest);
-        HttpEntity entity = ((BasicHttpEntityEnclosingRequest)request).getEntity();
+        HttpEntity entity = ((BasicHttpEntityEnclosingRequest) request).getEntity();
         assertNotNull("Request does not contain entity", entity);
         assertTrue("Unexpected request entity type", entity instanceof ApplicationEDIFACTEntity);
         ApplicationEDIFACTEntity ediEntity = (ApplicationEDIFACTEntity) entity;
-        assertTrue("Unexpected content type for entity", ediEntity.getContentType().getValue().startsWith(AS2MediaType.APPLICATION_EDIFACT));
+        assertTrue("Unexpected content type for entity",
+                ediEntity.getContentType().getValue().startsWith(AS2MediaType.APPLICATION_EDIFACT));
         assertTrue("Entity not set as main body of request", ediEntity.isMainBody());
     }
 
     @Test
     public void multipartSignedMessageTest() throws Exception {
-        AS2ClientConnection clientConnection = new AS2ClientConnection(AS2_VERSION, USER_AGENT, CLIENT_FQDN, TARGET_HOST, TARGET_PORT);
+        AS2ClientConnection clientConnection = new AS2ClientConnection(AS2_VERSION, USER_AGENT, CLIENT_FQDN,
+                TARGET_HOST, TARGET_PORT);
         AS2ClientManager clientManager = new AS2ClientManager(clientConnection);
 
         HttpCoreContext httpContext = clientManager.send(EDI_MESSAGE, REQUEST_URI, SUBJECT, FROM, AS2_NAME, AS2_NAME,
@@ -312,45 +317,55 @@ public class AS2MessageTest {
         HttpRequest request = httpContext.getRequest();
         assertEquals("Unexpected method value", METHOD, request.getRequestLine().getMethod());
         assertEquals("Unexpected request URI value", REQUEST_URI, request.getRequestLine().getUri());
-        assertEquals("Unexpected HTTP version value", HttpVersion.HTTP_1_1, request.getRequestLine().getProtocolVersion());
+        assertEquals("Unexpected HTTP version value", HttpVersion.HTTP_1_1,
+                request.getRequestLine().getProtocolVersion());
 
         assertEquals("Unexpected subject value", SUBJECT, request.getFirstHeader(AS2Header.SUBJECT).getValue());
         assertEquals("Unexpected from value", FROM, request.getFirstHeader(AS2Header.FROM).getValue());
-        assertEquals("Unexpected AS2 version value", AS2_VERSION, request.getFirstHeader(AS2Header.AS2_VERSION).getValue());
+        assertEquals("Unexpected AS2 version value", AS2_VERSION,
+                request.getFirstHeader(AS2Header.AS2_VERSION).getValue());
         assertEquals("Unexpected AS2 from value", AS2_NAME, request.getFirstHeader(AS2Header.AS2_FROM).getValue());
         assertEquals("Unexpected AS2 to value", AS2_NAME, request.getFirstHeader(AS2Header.AS2_TO).getValue());
-        assertTrue("Unexpected message id value", request.getFirstHeader(AS2Header.MESSAGE_ID).getValue().endsWith(CLIENT_FQDN + ">"));
-        assertEquals("Unexpected target host value", TARGET_HOST + ":" + TARGET_PORT, request.getFirstHeader(AS2Header.TARGET_HOST).getValue());
-        assertEquals("Unexpected user agent value", USER_AGENT, request.getFirstHeader(AS2Header.USER_AGENT).getValue());
+        assertTrue("Unexpected message id value",
+                request.getFirstHeader(AS2Header.MESSAGE_ID).getValue().endsWith(CLIENT_FQDN + ">"));
+        assertEquals("Unexpected target host value", TARGET_HOST + ":" + TARGET_PORT,
+                request.getFirstHeader(AS2Header.TARGET_HOST).getValue());
+        assertEquals("Unexpected user agent value", USER_AGENT,
+                request.getFirstHeader(AS2Header.USER_AGENT).getValue());
         assertNotNull("Date value missing", request.getFirstHeader(AS2Header.DATE));
         assertNotNull("Content length value missing", request.getFirstHeader(AS2Header.CONTENT_LENGTH));
-        assertTrue("Unexpected content type for message", request.getFirstHeader(AS2Header.CONTENT_TYPE).getValue().startsWith(AS2MediaType.MULTIPART_SIGNED));
+        assertTrue("Unexpected content type for message",
+                request.getFirstHeader(AS2Header.CONTENT_TYPE).getValue().startsWith(AS2MediaType.MULTIPART_SIGNED));
 
         assertTrue("Request does not contain entity", request instanceof BasicHttpEntityEnclosingRequest);
-        HttpEntity entity = ((BasicHttpEntityEnclosingRequest)request).getEntity();
+        HttpEntity entity = ((BasicHttpEntityEnclosingRequest) request).getEntity();
         assertNotNull("Request does not contain entity", entity);
         assertTrue("Unexpected request entity type", entity instanceof MultipartSignedEntity);
-        MultipartSignedEntity signedEntity = (MultipartSignedEntity)entity;
+        MultipartSignedEntity signedEntity = (MultipartSignedEntity) entity;
         assertTrue("Entity not set as main body of request", signedEntity.isMainBody());
         assertTrue("Request contains invalid number of mime parts", signedEntity.getPartCount() == 2);
 
         // Validated first mime part.
         assertTrue("First mime part incorrect type ", signedEntity.getPart(0) instanceof ApplicationEDIFACTEntity);
         ApplicationEDIFACTEntity ediEntity = (ApplicationEDIFACTEntity) signedEntity.getPart(0);
-        assertTrue("Unexpected content type for first mime part", ediEntity.getContentType().getValue().startsWith(AS2MediaType.APPLICATION_EDIFACT));
+        assertTrue("Unexpected content type for first mime part",
+                ediEntity.getContentType().getValue().startsWith(AS2MediaType.APPLICATION_EDIFACT));
         assertFalse("First mime type set as main body of request", ediEntity.isMainBody());
 
         // Validate second mime part.
-        assertTrue("Second mime part incorrect type ", signedEntity.getPart(1) instanceof ApplicationPkcs7SignatureEntity);
+        assertTrue("Second mime part incorrect type ",
+                signedEntity.getPart(1) instanceof ApplicationPkcs7SignatureEntity);
         ApplicationPkcs7SignatureEntity signatureEntity = (ApplicationPkcs7SignatureEntity) signedEntity.getPart(1);
-        assertTrue("Unexpected content type for second mime part", signatureEntity.getContentType().getValue().startsWith(AS2MediaType.APPLICATION_PKCS7_SIGNATURE));
+        assertTrue("Unexpected content type for second mime part",
+                signatureEntity.getContentType().getValue().startsWith(AS2MediaType.APPLICATION_PKCS7_SIGNATURE));
         assertFalse("First mime type set as main body of request", signatureEntity.isMainBody());
 
     }
 
     @Test
     public void signatureVerificationTest() throws Exception {
-        AS2ClientConnection clientConnection = new AS2ClientConnection(AS2_VERSION, USER_AGENT, CLIENT_FQDN, TARGET_HOST, TARGET_PORT);
+        AS2ClientConnection clientConnection = new AS2ClientConnection(AS2_VERSION, USER_AGENT, CLIENT_FQDN,
+                TARGET_HOST, TARGET_PORT);
         AS2ClientManager clientManager = new AS2ClientManager(clientConnection);
 
         HttpCoreContext httpContext = clientManager.send(EDI_MESSAGE, REQUEST_URI, SUBJECT, FROM, AS2_NAME, AS2_NAME,
@@ -360,10 +375,10 @@ public class AS2MessageTest {
 
         HttpRequest request = httpContext.getRequest();
         assertTrue("Request does not contain entity", request instanceof BasicHttpEntityEnclosingRequest);
-        HttpEntity entity = ((BasicHttpEntityEnclosingRequest)request).getEntity();
+        HttpEntity entity = ((BasicHttpEntityEnclosingRequest) request).getEntity();
         assertNotNull("Request does not contain entity", entity);
         assertTrue("Unexpected request entity type", entity instanceof MultipartSignedEntity);
-        MultipartSignedEntity multipartSignedEntity = (MultipartSignedEntity)entity;
+        MultipartSignedEntity multipartSignedEntity = (MultipartSignedEntity) entity;
         MimeEntity signedEntity = multipartSignedEntity.getSignedDataEntity();
         assertTrue("Signed entity wrong type", signedEntity instanceof ApplicationEDIEntity);
         ApplicationEDIEntity ediMessageEntity = (ApplicationEDIEntity) signedEntity;
@@ -378,39 +393,44 @@ public class AS2MessageTest {
 
     @Test
     public void mdnMessageTest() throws Exception {
-        AS2ClientConnection clientConnection = new AS2ClientConnection(AS2_VERSION, USER_AGENT, CLIENT_FQDN, TARGET_HOST, TARGET_PORT);
+        AS2ClientConnection clientConnection = new AS2ClientConnection(AS2_VERSION, USER_AGENT, CLIENT_FQDN,
+                TARGET_HOST, TARGET_PORT);
         AS2ClientManager clientManager = new AS2ClientManager(clientConnection);
 
         HttpCoreContext httpContext = clientManager.send(EDI_MESSAGE, REQUEST_URI, SUBJECT, FROM, AS2_NAME, AS2_NAME,
                 AS2MessageStructure.PLAIN, ContentType.create(AS2MediaType.APPLICATION_EDIFACT, AS2Charset.US_ASCII),
                 null, null, null, DISPOSITION_NOTIFICATION_TO, SIGNED_RECEIPT_MIC_ALGORITHMS);
-        
+
         HttpResponse response = httpContext.getResponse();
         assertEquals("Unexpected method value", HttpVersion.HTTP_1_1, response.getStatusLine().getProtocolVersion());
         assertEquals("Unexpected method value", HttpStatus.SC_OK, response.getStatusLine().getStatusCode());
-        assertEquals("Unexpected method value", EnglishReasonPhraseCatalog.INSTANCE.getReason(200, null), response.getStatusLine().getReasonPhrase());
-      
+        assertEquals("Unexpected method value", EnglishReasonPhraseCatalog.INSTANCE.getReason(200, null),
+                response.getStatusLine().getReasonPhrase());
+
         HttpEntity responseEntity = response.getEntity();
         assertNotNull("Response entity", responseEntity);
         assertTrue("Unexpected response entity type", responseEntity instanceof MultipartSignedEntity);
         MultipartSignedEntity responseSignedEntity = (MultipartSignedEntity) responseEntity;
         MimeEntity responseSignedDataEntity = responseSignedEntity.getSignedDataEntity();
-        assertTrue("Signed entity wrong type", responseSignedDataEntity instanceof DispositionNotificationMultipartReportEntity);
-        DispositionNotificationMultipartReportEntity reportEntity = (DispositionNotificationMultipartReportEntity)responseSignedDataEntity;
+        assertTrue("Signed entity wrong type",
+                responseSignedDataEntity instanceof DispositionNotificationMultipartReportEntity);
+        DispositionNotificationMultipartReportEntity reportEntity = (DispositionNotificationMultipartReportEntity) responseSignedDataEntity;
         assertEquals("Unexpected number of body parts in report", 2, reportEntity.getPartCount());
         MimeEntity firstPart = reportEntity.getPart(0);
-        assertEquals("Unexpected content type in first body part of report", ContentType.create(AS2MimeType.TEXT_PLAIN, AS2Charset.US_ASCII).toString(), firstPart.getContentTypeValue());
+        assertEquals("Unexpected content type in first body part of report",
+                ContentType.create(AS2MimeType.TEXT_PLAIN, AS2Charset.US_ASCII).toString(),
+                firstPart.getContentTypeValue());
         MimeEntity secondPart = reportEntity.getPart(1);
         assertEquals("Unexpected content type in second body part of report",
                 ContentType.create(AS2MimeType.MESSAGE_DISPOSITION_NOTIFICATION, AS2Charset.US_ASCII).toString(),
                 secondPart.getContentTypeValue());
         ApplicationPkcs7SignatureEntity signatureEntity = responseSignedEntity.getSignatureEntity();
         assertNotNull("Signature Entity", signatureEntity);
-        
+
         // Validate Signature
         assertTrue("Signature is invalid", responseSignedEntity.isValid());
     }
-    
+
     @Test
     public void synchronousMdnMessageTest() throws Exception {
 
@@ -421,53 +441,65 @@ public class AS2MessageTest {
         ApplicationEDIEntity ediEntity = EntityUtils.createEDIEntity(EDI_MESSAGE,
                 ContentType.create(AS2MediaType.APPLICATION_EDIFACT, AS2Charset.US_ASCII), null, false);
         HttpEntityEnclosingRequest request = new BasicHttpEntityEnclosingRequest("POST", REQUEST_URI);
+        HttpMessageUtils.setHeaderValue(request, AS2Header.SUBJECT, SUBJECT);
+        String httpdate = DATE_GENERATOR.getCurrentDate();
+        HttpMessageUtils.setHeaderValue(request, AS2Header.DATE, httpdate);
         HttpMessageUtils.setHeaderValue(request, AS2Header.AS2_TO, AS2_NAME);
+        HttpMessageUtils.setHeaderValue(request, AS2Header.AS2_FROM, AS2_NAME);
         String originalMessageId = Util.createMessageId(SERVER_FQDN);
         HttpMessageUtils.setHeaderValue(request, AS2Header.MESSAGE_ID, originalMessageId);
-        HttpMessageUtils.setHeaderValue(request, AS2Header.DISPOSITION_NOTIFICATION_OPTIONS, DISPOSITION_NOTIFICATION_OPTIONS);
+        HttpMessageUtils.setHeaderValue(request, AS2Header.DISPOSITION_NOTIFICATION_OPTIONS,
+                DISPOSITION_NOTIFICATION_OPTIONS);
         EntityUtils.setMessageEntity(request, ediEntity);
 
         // Create response for MDN creation.
         HttpResponse response = new BasicHttpResponse(HttpVersion.HTTP_1_1, 200, "OK");
-        String httpdate = DATE_GENERATOR.getCurrentDate();
-        response.setHeader(HTTP.DATE_HEADER, httpdate);
+        httpdate = DATE_GENERATOR.getCurrentDate();
+        response.setHeader(AS2Header.DATE, httpdate);
         response.setHeader(AS2Header.SERVER, REPORTING_UA);
 
         // Create a receipt for edi message
         Map<String, String> extensionFields = new HashMap<String, String>();
         extensionFields.put("Original-Recipient", "rfc822;" + AS2_NAME);
         AS2DispositionModifier dispositionModifier = AS2DispositionModifier.createWarning("AS2 is cool!");
-        String[] failureFields = new String[] {"failure-field-1" };
+        String[] failureFields = new String[] {"failure-field-1"};
         String[] errorFields = new String[] {"error-field-1"};
         String[] warningFields = new String[] {"warning-field-1"};
         DispositionNotificationMultipartReportEntity mdn = new DispositionNotificationMultipartReportEntity(request,
-                response, DispositionMode.AUTOMATIC_ACTION_MDN_SENT_AUTOMATICALLY, AS2DispositionType.PROCESSED, dispositionModifier,
-                failureFields, errorFields, warningFields, 
-                extensionFields, null, "boundary", true);
+                response, DispositionMode.AUTOMATIC_ACTION_MDN_SENT_AUTOMATICALLY, AS2DispositionType.PROCESSED,
+                dispositionModifier, failureFields, errorFields, warningFields, extensionFields, null, "boundary",
+                true);
 
         // Send MDN
-        HttpCoreContext httpContext = mdnManager.send(mdn, TARGET_HOST, TARGET_PORT, REQUEST_URI, SUBJECT, FROM, AS2_NAME, AS2_NAME);
+        HttpCoreContext httpContext = mdnManager.send(mdn, RECIPIENT_DELIVERY_ADDRESS);
         HttpRequest mndRequest = httpContext.getRequest();
-        DispositionNotificationMultipartReportEntity reportEntity = HttpMessageUtils.getEntity(mndRequest, DispositionNotificationMultipartReportEntity.class);
+        DispositionNotificationMultipartReportEntity reportEntity = HttpMessageUtils.getEntity(mndRequest,
+                DispositionNotificationMultipartReportEntity.class);
         assertNotNull("Request does not contain resport", reportEntity);
         assertEquals("Report entity contains invalid number of parts", 2, reportEntity.getPartCount());
         assertTrue("Report first part is not text entity", reportEntity.getPart(0) instanceof TextPlainEntity);
-        assertTrue("Report second part is not MDN entity", reportEntity.getPart(1) instanceof AS2MessageDispositionNotificationEntity);
-        AS2MessageDispositionNotificationEntity mdnEntity = (AS2MessageDispositionNotificationEntity) reportEntity.getPart(1);
+        assertTrue("Report second part is not MDN entity",
+                reportEntity.getPart(1) instanceof AS2MessageDispositionNotificationEntity);
+        AS2MessageDispositionNotificationEntity mdnEntity = (AS2MessageDispositionNotificationEntity) reportEntity
+                .getPart(1);
         assertEquals("Unexpected value for Reporting UA", REPORTING_UA, mdnEntity.getReportingUA());
         assertEquals("Unexpected value for Final Recipient", AS2_NAME, mdnEntity.getFinalRecipient());
         assertEquals("Unexpected value for Original Message ID", originalMessageId, mdnEntity.getOriginalMessageId());
-        assertEquals("Unexpected value for Disposition Mode", DispositionMode.AUTOMATIC_ACTION_MDN_SENT_AUTOMATICALLY, mdnEntity.getDispositionMode());
-        assertEquals("Unexpected value for Disposition Type", AS2DispositionType.PROCESSED, mdnEntity.getDispositionType());
-        assertEquals("Unexpected value for Disposition Modifier", dispositionModifier, mdnEntity.getDispositionModifier());
+        assertEquals("Unexpected value for Disposition Mode", DispositionMode.AUTOMATIC_ACTION_MDN_SENT_AUTOMATICALLY,
+                mdnEntity.getDispositionMode());
+        assertEquals("Unexpected value for Disposition Type", AS2DispositionType.PROCESSED,
+                mdnEntity.getDispositionType());
+        assertEquals("Unexpected value for Disposition Modifier", dispositionModifier,
+                mdnEntity.getDispositionModifier());
         assertArrayEquals("Unexpected value for Failure Fields", failureFields, mdnEntity.getFailureFields());
         assertArrayEquals("Unexpected value for Error Fields", errorFields, mdnEntity.getErrorFields());
         assertArrayEquals("Unexpected value for Warning Fields", warningFields, mdnEntity.getWarningFields());
         assertEquals("Unexpected value for Extension Fields", extensionFields, mdnEntity.getExtensionFields());
         ReceivedContentMic expectedMic = MicUtils.createReceivedContentMic(request);
         ReceivedContentMic mdnMic = mdnEntity.getReceivedContentMic();
-        assertEquals("Unexpected value for Recieved Content Mic", expectedMic.getEncodedMessageDigest(), mdnMic.getEncodedMessageDigest());
-        LOG.debug(Util.printMessage(mndRequest));
+        assertEquals("Unexpected value for Recieved Content Mic", expectedMic.getEncodedMessageDigest(),
+                mdnMic.getEncodedMessageDigest());
+        LOG.debug("\r\n" + Util.printMessage(mndRequest));
     }
-    
+
 }

-- 
To stop receiving notification emails like this one, please contact
dmvolod@apache.org.

[camel] 03/03: CAMEL-11257: Fix TARGET_PORT in test

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

dmvolod pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 0bfd72764284c5cdbf92187c398c0942afded893
Author: Dmitry Volodin <dm...@gmail.com>
AuthorDate: Thu Jun 7 00:34:19 2018 +0300

    CAMEL-11257: Fix TARGET_PORT in test
---
 .../test/java/org/apache/camel/component/as2/api/AS2MessageTest.java    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/AS2MessageTest.java b/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/AS2MessageTest.java
index 48f6a4b..8ec8a54 100644
--- a/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/AS2MessageTest.java
+++ b/components/camel-as2/camel-as2-api/src/test/java/org/apache/camel/component/as2/api/AS2MessageTest.java
@@ -197,7 +197,7 @@ public class AS2MessageTest {
         certList.add(signingCert);
         certList.add(issueCert);
 
-        testServer = new AS2ServerConnection(AS2_VERSION, "MyServer-HTTP/1.1", SERVER_FQDN, 8080,
+        testServer = new AS2ServerConnection(AS2_VERSION, "MyServer-HTTP/1.1", SERVER_FQDN, TARGET_PORT,
                 certList.toArray(new Certificate[0]), signingKP.getPrivate());
         testServer.listen("*", new HttpRequestHandler() {
             @Override

-- 
To stop receiving notification emails like this one, please contact
dmvolod@apache.org.