1
2
3
4
5
6
7
8
9
10 package org.mule.module.atom.config;
11
12 import org.mule.api.endpoint.InboundEndpoint;
13 import org.mule.api.processor.MessageProcessor;
14 import org.mule.api.transformer.Transformer;
15 import org.mule.construct.Flow;
16 import org.mule.module.atom.routing.EntryLastUpdatedFilter;
17 import org.mule.module.atom.routing.FeedLastUpdatedFilter;
18 import org.mule.module.atom.routing.FeedSplitter;
19 import org.mule.module.atom.transformers.ObjectToFeed;
20 import org.mule.routing.MessageFilter;
21 import org.mule.tck.junit4.FunctionalTestCase;
22
23 import java.text.SimpleDateFormat;
24
25 import org.junit.Test;
26
27 import static org.junit.Assert.assertEquals;
28 import static org.junit.Assert.assertFalse;
29 import static org.junit.Assert.assertNotNull;
30 import static org.junit.Assert.assertTrue;
31
32 public class AtomNamespaceHandlerTestCase extends FunctionalTestCase
33 {
34 @Override
35 protected String getConfigResources()
36 {
37 return "namespace-config.xml";
38 }
39
40 @Test
41 public void testFlowConfig() throws Exception
42 {
43 Flow flowConstruct = muleContext.getRegistry().lookupObject("flowTest");
44 assertNotNull(flowConstruct);
45 assertTrue(flowConstruct.getMessageSource() instanceof InboundEndpoint);
46 InboundEndpoint ep = ((InboundEndpoint)flowConstruct.getMessageSource());
47 assertEquals(3, ep.getMessageProcessors().size());
48 MessageProcessor mp = ep.getMessageProcessors().get(0);
49 assertTrue(mp instanceof FeedSplitter);
50 mp = ep.getMessageProcessors().get(1);
51 assertTrue(mp instanceof MessageFilter);
52
53 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
54
55 assertEquals(sdf.parse("2009-10-01"), ((EntryLastUpdatedFilter)((MessageFilter)mp).getFilter()).getLastUpdate());
56 }
57
58 @Test
59 public void testGlobalFilterConfig() throws Exception
60 {
61 FeedLastUpdatedFilter filter = muleContext.getRegistry().lookupObject("feedFilter");
62 assertNotNull(filter);
63
64 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
65
66 assertEquals(sdf.parse("2009-10-01 13:00:00"), filter.getLastUpdate());
67 assertFalse(filter.isAcceptWithoutUpdateDate());
68 }
69
70 @Test
71 public void testObjectToFeedTransformer() throws Exception
72 {
73 Transformer transformer = muleContext.getRegistry().lookupTransformer("ObjectToFeed");
74 assertNotNull(transformer);
75 assertTrue(transformer instanceof ObjectToFeed);
76 }
77 }