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.setup;
35
36 import static org.junit.Assert.*;
37
38 import info.magnolia.context.MgnlContext;
39 import info.magnolia.jcr.util.NodeTypes;
40 import info.magnolia.jcr.util.NodeUtil;
41 import info.magnolia.module.ModuleVersionHandler;
42 import info.magnolia.module.ModuleVersionHandlerTestCase;
43 import info.magnolia.module.googlesitemap.GoogleSiteMapConfiguration;
44 import info.magnolia.module.model.Version;
45 import info.magnolia.repository.RepositoryConstants;
46
47 import java.util.Arrays;
48 import java.util.List;
49
50 import javax.jcr.Node;
51 import javax.jcr.NodeIterator;
52 import javax.jcr.Session;
53
54 import org.junit.Ignore;
55 import org.junit.Test;
56
57
58
59
60 public class GoogleSiteMapVersionHandlerTest extends ModuleVersionHandlerTestCase {
61
62 @Override
63 protected String getModuleDescriptorPath() {
64 return "/META-INF/magnolia/google-sitemap.xml";
65 }
66
67 @Override
68 protected ModuleVersionHandler newModuleVersionHandlerForTests() {
69 return new GoogleSiteMapVersionHandler();
70 }
71
72 @Override
73 protected String[] getExtraWorkspaces() {
74 return new String[] { "templates" };
75 }
76
77 @Override
78 protected List<String> getModuleDescriptorPathsForTests() {
79 return Arrays.asList("/META-INF/magnolia/core.xml");
80 }
81
82 @Override
83 public void setUp() throws Exception {
84 super.setUp();
85 addSupportForSetupModuleRepositoriesTask(GoogleSiteMapConfiguration.WORKSPACE);
86 }
87
88
89 @Ignore
90 @Test
91 public void testUpdateTo20ReordersSitemapBeforeConfigApp() throws Exception {
92
93 Session session = MgnlContext.getJCRSession(RepositoryConstants.CONFIG);
94 Node manageApps = NodeUtil.createPath(session.getRootNode(), "modules/ui-admincentral/config/appLauncherLayout/groups/manage/apps", NodeTypes.ContentNode.NAME);
95 NodeUtil.createPath(manageApps, "rssAggregator", NodeTypes.ContentNode.NAME);
96 NodeUtil.createPath(manageApps, "configuration", NodeTypes.ContentNode.NAME);
97
98
99 executeUpdatesAsIfTheCurrentlyInstalledVersionWas(Version.parseVersion("1.2.3"));
100
101
102 NodeIterator it = manageApps.getNodes();
103 assertTrue(manageApps.hasNode("siteMaps"));
104 assertEquals("rssAggregator", it.nextNode().getName());
105 assertEquals("siteMaps", it.nextNode().getName());
106 assertEquals("configuration", it.nextNode().getName());
107 }
108
109 @Test
110 public void testFreshInstallReordersSitemapBeforeConfigApp() throws Exception {
111
112 Session session = MgnlContext.getJCRSession(RepositoryConstants.CONFIG);
113 Node manageApps = NodeUtil.createPath(session.getRootNode(), "modules/ui-admincentral/config/appLauncherLayout/groups/manage/apps", NodeTypes.ContentNode.NAME);
114 NodeUtil.createPath(manageApps, "rssAggregator", NodeTypes.ContentNode.NAME);
115 NodeUtil.createPath(manageApps, "configuration", NodeTypes.ContentNode.NAME);
116
117 NodeUtil.createPath(manageApps, "siteMaps", NodeTypes.ContentNode.NAME);
118
119
120 executeUpdatesAsIfTheCurrentlyInstalledVersionWas(null);
121
122
123 NodeIterator it = manageApps.getNodes();
124 assertTrue(manageApps.hasNode("siteMaps"));
125 assertEquals("rssAggregator", it.nextNode().getName());
126 assertEquals("siteMaps", it.nextNode().getName());
127 assertEquals("configuration", it.nextNode().getName());
128 }
129
130 }