1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package info.magnolia.module.googlesitemap.model.components;
35
36 import static org.junit.Assert.assertEquals;
37 import static org.junit.Assert.assertNotNull;
38 import info.magnolia.cms.core.MgnlNodeType;
39 import info.magnolia.module.googlesitemap.SiteMapTestUtil;
40 import info.magnolia.module.googlesitemap.bean.SiteMapEntry;
41 import info.magnolia.rendering.model.RenderingModel;
42 import info.magnolia.rendering.template.RenderableDefinition;
43
44 import java.util.Iterator;
45 import java.util.List;
46
47 import javax.jcr.Node;
48 import javax.jcr.RepositoryException;
49
50 import org.junit.After;
51 import org.junit.Before;
52 import org.junit.Test;
53
54
55
56
57
58
59
60 public class SiteComponentTest extends SiteMapTestUtil {
61
62 private SiteComponent model;
63 private String SITENODE = "site";
64 private Node siteNode;
65
66 @Before
67 public void setUp() throws RepositoryException{
68 super.setUp();
69 initService();
70
71 siteNode = initSiteComponentNode(rootWebsite, SITENODE);
72
73 initModel(siteNode) ;
74
75 }
76
77 private void initModel(Node content) {
78 RenderingModel<RenderableDefinition> parent = null;
79 RenderableDefinition definition = null;
80 model = new SiteComponent(content, definition, parent, service);
81 }
82
83
84 @After
85 public void tearDown() {
86 super.tearDown();
87 model = null;
88 }
89
90
91 @Test
92 public void testGetSiteMapEntry_NoSite_Defined() throws RepositoryException {
93
94
95
96 Iterator<SiteMapEntry> res = model.getSiteMapEntry("");
97
98
99 assertNotNull(res);
100 assertEquals("res should have no result", false, res.hasNext());
101 }
102
103 @Test
104 public void testGetSiteMapEntry_OneSite_Defined() throws RepositoryException {
105
106 Node site = siteNode.addNode("sites",MgnlNodeType.NT_CONTENT);
107 site.setProperty("0", page_1_1.getPath());
108 setMetaData(page_1_1, null);
109 setMetaData(page_1_1_1, null);
110
111
112 Iterator<SiteMapEntry> res = model.getSiteMapEntry("");
113
114
115 assertNotNull(res);
116 List<SiteMapEntry> listRes = fromIteratorToList(res);
117 assertEquals("res should have 1 result", 1, listRes.size());
118 assertEquals("",DEFAULT_URL+page_1_1_1.getPath(), listRes.get(0).getLoc());
119 }
120
121 @Test
122 public void testGetSiteMapEntry_TwoSite_Defined() throws RepositoryException {
123
124 Node site = siteNode.addNode("sites",MgnlNodeType.NT_CONTENT);
125 site.setProperty("0", page_1_1.getPath());
126 setMetaData(page_1_1, null);
127 setMetaData(page_1_1_1, null);
128 site.setProperty("1", page_1_2.getPath());
129 setMetaData(page_1_2, null);
130 setMetaData(page_1_2_1, null);
131 page_1_2_1.setPrimaryType(MgnlNodeType.NT_CONTENT);
132
133
134 Iterator<SiteMapEntry> res = model.getSiteMapEntry("");
135
136
137 assertNotNull(res);
138 List<SiteMapEntry> listRes = fromIteratorToList(res);
139 assertEquals("res should have 2 result", 2, listRes.size());
140 assertEquals("",DEFAULT_URL+page_1_2_1.getPath(), listRes.get(0).getLoc());
141 assertEquals("",DEFAULT_URL+page_1_1_1.getPath(), listRes.get(1).getLoc());
142 }
143 }