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
58 public class PoemServletTestTest extends JettyWebTestCase {
59
60 protected String servletName;
61
62
63
64
65 public PoemServletTestTest(String name) {
66 super(name);
67 servletName = "org.melati.test.PoemServletTest";
68 }
69
70
71
72
73
74 protected void setUp() throws Exception {
75 super.setUp();
76 }
77
78
79
80
81
82 protected void tearDown() throws Exception {
83 super.tearDown();
84 }
85
86
87
88
89 public void testException() {
90 setScriptingEnabled(false);
91 beginAt("/" + servletName + "/melatitest");
92 try {
93 clickLinkWithText("Exception");
94 } catch (FailingHttpStatusCodeException e) {
95 assertEquals(500, e.getStatusCode());
96 }
97
98 assertTextPresent("MelatiBugMelatiException");
99 }
100
101
102
103 public void testAccessException() {
104 setScriptingEnabled(false);
105 beginAt("/" + servletName + "/melatitest" );
106 clickLinkWithText("Access Poem Exception");
107 assertTextPresent("You need the capability _administer_ ");
108 setTextField("field_login", "_administrator_");
109 setTextField("field_password", "FIXME");
110 checkCheckbox("rememberme");
111 submit("action");
112 assertTextPresent("You are logged in as _administrator_ and have _administer_ capability");
113 }
114
115
116
117
118 public void testAccessAllowed() {
119 setScriptingEnabled(false);
120 beginAt("/org.melati.login.Login/admintest");
121 setTextField("field_login", "_administrator_");
122 setTextField("field_password", "FIXME");
123 checkCheckbox("rememberme");
124 submit("action");
125 gotoPage("/" + servletName + "/admintest");
126 clickLinkWithText("Access Poem Exception");
127 assertTextPresent("You are logged in as _administrator_ and have _administer_ capability");
128 }
129
130
131
132
133 public void testView() {
134 setScriptingEnabled(false);
135 beginAt("/" + servletName +"/melatitest/");
136 clickLinkWithText("tableinfo/0/View");
137 assertTextPresent("logicalDatabase = melatitest, table = tableinfo, troid = 0, method = View");
138 }
139
140
141
142 public void testUpload() {
143 setScriptingEnabled(false);
144 beginAt("/org.melati.login.Login/admintest");
145 setTextField("field_login", "_administrator_");
146 setTextField("field_password", "FIXME");
147 checkCheckbox("rememberme");
148 submit("action");
149 gotoPage("/" + servletName + "/admintest/");
150
151 assertTrue("Cannot find file src/main/java/org/melati/admin/static/file.gif",
152 new File("src/main/java/org/melati/admin/static/file.gif").exists());
153 setTextField("file","src/main/java/org/melati/admin/static/file.gif");
154 submit();
155 assertWindowPresent("Upload");
156 assertTrue("Cannot find file pom.xml", new File("pom.xml").exists());
157 setTextField("file", "pom.xml");
158 submit();
159 gotoWindow("Upload");
160 assertTextPresent("<groupId>org.melati</groupId>");
161
162 }
163
164
165
166 public void testUploadNothing() {
167 setScriptingEnabled(false);
168 beginAt("/org.melati.login.Login/admintest");
169 setTextField("field_login", "_administrator_");
170 setTextField("field_password", "FIXME");
171 checkCheckbox("rememberme");
172 submit("action");
173 gotoPage("/" + servletName + "/admintest/");
174
175
176 submit();
177 gotoWindow("Upload");
178 assertTextPresent("No file was uploaded");
179
180 }
181
182 }