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
35
36
37
38
39
40
41
42
43
44 package org.melati.test.test;
45
46 import java.io.File;
47
48 import org.melati.JettyWebTestCase;
49
50 import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
51
52
53
54
55
56
57 public class TemplateServletTestTest extends JettyWebTestCase {
58
59 protected String servletName;
60
61
62
63 public TemplateServletTestTest(String name) {
64 super(name);
65 }
66
67
68
69
70
71 protected void setUp() throws Exception {
72 super.setUp();
73 servletName = "/org.melati.test.TemplateServletTest/admintest/";
74 }
75
76
77
78
79
80 protected void tearDown() throws Exception {
81 super.tearDown();
82 }
83
84
85
86
87 public void testException() {
88 setScriptingEnabled(false);
89 beginAt(servletName);
90 try {
91 clickLinkWithText("Exception");
92 } catch (FailingHttpStatusCodeException e) {
93 assertEquals(500, e.getStatusCode());
94 }
95 assertTextPresent("MelatiBugMelatiException");
96 }
97
98
99
100
101 public void testPassbackException() {
102 setScriptingEnabled(false);
103 beginAt(servletName);
104 clickLinkWithText("?passback=true");
105 assertTextPresent("[Access denied to Melati guest user]");
106 }
107
108
109
110 public void testPropagateException() {
111 setScriptingEnabled(false);
112 beginAt(servletName);
113 clickLinkWithText("?propagate=true");
114 assertTextPresent("You need to log in");
115 assertTextPresent("You need the capability _administer_ ");
116 setScriptingEnabled(false);
117 beginAt("/org.melati.login.Login/admintest");
118 setTextField("field_login", "_administrator_");
119 setTextField("field_password", "FIXME");
120 checkCheckbox("rememberme");
121 submit();
122 gotoPage(servletName);
123 clickLinkWithText("?propagate=true");
124 assertTextPresent("You are logged in as an Administrator");
125 }
126
127
128
129
130 public void testUpload() {
131 setScriptingEnabled(false);
132 beginAt("/org.melati.login.Login/admintest");
133 setTextField("field_login", "_administrator_");
134 setTextField("field_password", "FIXME");
135 checkCheckbox("rememberme");
136 submit();
137 gotoPage(servletName);
138 assertTrue("Cannot find file src/main/java/org/melati/admin/static/file.gif",
139 new File("src/main/java/org/melati/admin/static/file.gif").exists());
140 setTextField("file","src/main/java/org/melati/admin/static/file.gif");
141 submit();
142 assertWindowPresent("Upload");
143 assertTrue("Cannot find file pom.xml", new File("pom.xml").exists());
144 setTextField("file","pom.xml");
145 submit();
146 gotoWindow("Upload");
147 assertTextPresent("<groupId>org.melati</groupId>");
148
149 }
150
151
152
153
154 public void testRedirect() {
155 setScriptingEnabled(false);
156 beginAt(servletName);
157 clickLinkWithText("Redirect");
158 assertTextPresent("Melati is a tool");
159 }
160
161
162
163
164 public void testView() {
165 setScriptingEnabled(false);
166 beginAt(servletName );
167 clickLinkWithText("tableinfo/0/View");
168 assertTextPresent("logicalDatabase = melatitest, table = tableinfo, troid = 0, method = View");
169 }
170
171 }