1
2
3
4
5
6
7
8
9
10 package org.mule.module.ibeans;
11
12 import org.mule.ibeans.flickr.FlickrIBean;
13 import org.mule.ibeans.flickr.FlickrTransformers;
14 import org.mule.tck.AbstractMuleTestCase;
15
16 import java.net.URL;
17 import java.util.ArrayList;
18 import java.util.List;
19
20 import org.ibeans.annotation.IntegrationBean;
21 import org.ibeans.api.CallException;
22 import org.w3c.dom.Document;
23 import org.w3c.dom.Node;
24
25 import static org.ibeans.impl.IBeansSupport.prettyPrintXml;
26 import static org.ibeans.impl.IBeansSupport.select;
27
28 public class FlickrTestCase extends AbstractMuleTestCase
29 {
30 public static final String SEARCH_TERM = "food";
31 public static final String BAD_SEARCH_TERM = "bad";
32
33 @IntegrationBean
34 private FlickrIBean flickr;
35
36 public FlickrTestCase()
37 {
38 setStartContext(true);
39 }
40
41 @Override
42 protected void doSetUp() throws Exception
43 {
44
45 muleContext.getRegistry().registerObject("test", this);
46
47 muleContext.getRegistry().registerObject("flickrTransformers", new FlickrTransformers());
48
49 getFlickr().init("3a690a103c6eabf55de5b10623021a34","1d3d4a305cc369fc", FlickrIBean.FORMAT.XML, Document.class);
50 }
51
52 protected FlickrIBean getFlickr()
53 {
54 return flickr;
55 }
56
57 public void testFlickrSearch() throws Exception
58 {
59 Document doc = getFlickr().search(SEARCH_TERM);
60 assertNotNull(doc);
61 List<URL> photoUrls = new ArrayList<URL>();
62
63 for (Node n : select("//photo", doc))
64 {
65 photoUrls.add(getFlickr().getPhotoURL(n));
66 }
67
68 assertEquals(10, photoUrls.size());
69 }
70
71
72 public void testFlickrError() throws Exception
73 {
74 getFlickr().init("badkey", FlickrIBean.FORMAT.XML, Document.class);
75
76 try
77 {
78 getFlickr().search(BAD_SEARCH_TERM);
79 }
80 catch (CallException e)
81 {
82
83 assertEquals("100", e.getErrorCode());
84 }
85 }
86
87 public void testSizeEnum() throws Exception
88 {
89 assertEquals("o", FlickrIBean.IMAGE_SIZE.Original.toString());
90 assertEquals("m", FlickrIBean.DEFAULT_IMAGE_SIZE.toString());
91 assertEquals(FlickrIBean.IMAGE_SIZE.Original, Enum.valueOf(FlickrIBean.IMAGE_SIZE.class, "Original"));
92
93 Document doc = getFlickr().search(SEARCH_TERM);
94
95 assertNotNull(doc);
96 List<URL> photoUrls = new ArrayList<URL>();
97
98 System.out.println(prettyPrintXml(doc));
99 for (Node n : select("//photo", doc))
100 {
101 photoUrls.add(getFlickr().getPhotoURL(n, FlickrIBean.IMAGE_SIZE.SmallSquare, FlickrIBean.IMAGE_TYPE.Jpeg));
102 }
103 assertEquals(10, photoUrls.size());
104 assertTrue(photoUrls.get(0).toString().endsWith("_s.jpg"));
105 }
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132 }