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