View Javadoc
1   /*
2    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
3    * The software in this package is published under the terms of the CPAL v1.0
4    * license, a copy of which has been included with this distribution in the
5    * LICENSE.txt file.
6    */
7   package org.mule.transport.http;
8   
9   import org.mule.api.endpoint.InboundEndpoint;
10  import org.mule.api.routing.filter.Filter;
11  import org.mule.transport.http.filters.HttpRequestWildcardFilter;
12  import org.mule.transport.http.transformers.HttpClientMethodResponseToObject;
13  import org.mule.transport.http.transformers.HttpResponseToString;
14  import org.mule.transport.http.transformers.MuleMessageToHttpResponse;
15  import org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest;
16  
17  import org.junit.Test;
18  
19  import static org.junit.Assert.assertEquals;
20  import static org.junit.Assert.assertFalse;
21  import static org.junit.Assert.assertNotNull;
22  
23  public class HttpNamespaceHandlerTestCase extends AbstractNamespaceHandlerTestCase
24  {
25  
26      public HttpNamespaceHandlerTestCase()
27      {
28          super("http");
29      }
30  
31      @Test
32      public void testConnectorProperties()
33      {
34          HttpConnector connector =
35                  (HttpConnector) muleContext.getRegistry().lookupConnector("httpConnector");
36          testBasicProperties(connector);
37      }
38  
39      @Test
40      public void testPollingProperties()
41      {
42           HttpPollingConnector connector =
43                  (HttpPollingConnector) muleContext.getRegistry().lookupConnector("polling");
44          assertNotNull(connector);
45          assertEquals(3456, connector.getPollingFrequency());
46          assertFalse(connector.isCheckEtag());
47          assertFalse(connector.isDiscardEmptyContent());
48      }
49      
50      @Test
51      public void testTransformersOnEndpoints() throws Exception
52      {
53          Object transformer1 = lookupInboundEndpoint("ep1").getTransformers().get(0);
54          assertNotNull(transformer1);
55          assertEquals(HttpClientMethodResponseToObject.class, transformer1.getClass());
56  
57          Object transformer2 = lookupInboundEndpoint("ep2").getTransformers().get(0);
58          assertNotNull(transformer2);
59          assertEquals(HttpResponseToString.class, transformer2.getClass());
60          
61          Object transformer3 = lookupInboundEndpoint("ep3").getTransformers().get(0);
62          assertNotNull(transformer3);
63          assertEquals(MuleMessageToHttpResponse.class, transformer3.getClass());
64          
65          Object transformer4 = lookupInboundEndpoint("ep4").getTransformers().get(0);
66          assertNotNull(transformer4);
67          assertEquals(ObjectToHttpClientMethodRequest.class, transformer4.getClass());
68      }
69  
70      @Test
71      public void testFiltersOnEndpoints() throws Exception
72      {
73          Filter filter = lookupInboundEndpoint("ep5").getFilter();
74          assertNotNull(filter);
75          assertEquals(HttpRequestWildcardFilter.class, filter.getClass());
76          HttpRequestWildcardFilter requestWildcardFilter = (HttpRequestWildcardFilter) filter;
77          assertEquals("foo*", requestWildcardFilter.getPattern());
78      }
79      
80      private InboundEndpoint lookupInboundEndpoint(String endpointName) throws Exception
81      {
82          InboundEndpoint endpoint = muleContext.getEndpointFactory().getInboundEndpoint(endpointName);
83          assertNotNull(endpoint);
84          return endpoint;
85      }
86  }