1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.seasar.cubby.util;
18
19 import static org.easymock.EasyMock.*;
20 import static org.junit.Assert.*;
21
22 import java.net.MalformedURLException;
23
24 import javax.servlet.http.HttpServletRequest;
25
26 import org.junit.Test;
27
28 public class LinkBuilderTest {
29
30 @Test
31 public void httpDefaultPort() throws MalformedURLException {
32 HttpServletRequest request = createMock(HttpServletRequest.class);
33 expect(request.getRequestURL()).andStubReturn(
34 new StringBuffer("http://example.com/aaa"));
35 replay(request);
36
37
38 {
39 LinkBuilder linkBuilder = new LinkBuilder();
40 linkBuilder.setProtocol("https");
41 String link = linkBuilder.toLink(request);
42 assertEquals("https://example.com/aaa", link);
43 }
44
45
46 {
47 LinkBuilder linkBuilder = new LinkBuilder();
48 linkBuilder.setFile("/bbb");
49 String link = linkBuilder.toLink(request);
50 assertEquals("/bbb", link);
51 }
52
53
54 {
55 LinkBuilder linkBuilder = new LinkBuilder();
56 linkBuilder.setPort(-1);
57 linkBuilder.setFile("/bbb");
58 String link = linkBuilder.toLink(request);
59 assertEquals("/bbb", link);
60 }
61
62
63 {
64 LinkBuilder linkBuilder = new LinkBuilder();
65 linkBuilder.setPort(80);
66 linkBuilder.setFile("/bbb");
67 String link = linkBuilder.toLink(request);
68 assertEquals("/bbb", link);
69 }
70
71 {
72 LinkBuilder linkBuilder = new LinkBuilder();
73 linkBuilder.setProtocol("http");
74 linkBuilder.setPort(80);
75 linkBuilder.setHost("example.com");
76 linkBuilder.setFile("/bbb");
77 String link = linkBuilder.toLink(request);
78 assertEquals("/bbb", link);
79 }
80
81 {
82 LinkBuilder linkBuilder = new LinkBuilder();
83 linkBuilder.setProtocol("http");
84 linkBuilder.setPort(8080);
85 linkBuilder.setHost("example.com");
86 linkBuilder.setFile("/bbb");
87 String link = linkBuilder.toLink(request);
88 assertEquals("http://example.com:8080/bbb", link);
89 }
90
91 {
92 LinkBuilder linkBuilder = new LinkBuilder();
93 linkBuilder.setProtocol("https");
94 linkBuilder.setPort(-1);
95 linkBuilder.setHost("example.com");
96 linkBuilder.setFile("/bbb");
97 String link = linkBuilder.toLink(request);
98 assertEquals("https://example.com/bbb", link);
99 }
100
101 {
102 LinkBuilder linkBuilder = new LinkBuilder();
103 linkBuilder.setProtocol("https");
104 linkBuilder.setPort(443);
105 linkBuilder.setHost("example.com");
106 linkBuilder.setFile("/bbb");
107 String link = linkBuilder.toLink(request);
108 assertEquals("https://example.com/bbb", link);
109 }
110
111 {
112 LinkBuilder linkBuilder = new LinkBuilder();
113 linkBuilder.setProtocol("https");
114 linkBuilder.setPort(8443);
115 linkBuilder.setHost("example.com");
116 linkBuilder.setFile("/bbb");
117 String link = linkBuilder.toLink(request);
118 assertEquals("https://example.com:8443/bbb", link);
119 }
120
121 verify(request);
122 }
123
124 @Test
125 public void http8080() throws MalformedURLException {
126 HttpServletRequest request = createMock(HttpServletRequest.class);
127 expect(request.getRequestURL()).andStubReturn(
128 new StringBuffer("http://example.com:8080/aaa"));
129 replay(request);
130
131 {
132 LinkBuilder linkBuilder = new LinkBuilder();
133 linkBuilder.setProtocol("http");
134 linkBuilder.setPort(-1);
135 linkBuilder.setHost("example.com");
136 linkBuilder.setFile("/aaa");
137 String link = linkBuilder.toLink(request);
138 assertEquals("http://example.com/aaa", link);
139 }
140
141 {
142 LinkBuilder linkBuilder = new LinkBuilder();
143 linkBuilder.setProtocol("http");
144 linkBuilder.setPort(-1);
145 linkBuilder.setHost("example.com");
146 linkBuilder.setFile("/bbb");
147 String link = linkBuilder.toLink(request);
148 assertEquals("http://example.com/bbb", link);
149 }
150
151 {
152 LinkBuilder linkBuilder = new LinkBuilder();
153 linkBuilder.setProtocol("http");
154 linkBuilder.setPort(80);
155 linkBuilder.setHost("example.com");
156 linkBuilder.setFile("/bbb");
157 String link = linkBuilder.toLink(request);
158 assertEquals("http://example.com/bbb", link);
159 }
160
161 {
162 LinkBuilder linkBuilder = new LinkBuilder();
163 linkBuilder.setProtocol("http");
164 linkBuilder.setPort(8080);
165 linkBuilder.setHost("example.com");
166 linkBuilder.setFile("/bbb");
167 String link = linkBuilder.toLink(request);
168 assertEquals("/bbb", link);
169 }
170
171 {
172 LinkBuilder linkBuilder = new LinkBuilder();
173 linkBuilder.setProtocol("https");
174 linkBuilder.setPort(-1);
175 linkBuilder.setHost("example.com");
176 linkBuilder.setFile("/bbb");
177 String link = linkBuilder.toLink(request);
178 assertEquals("https://example.com/bbb", link);
179 }
180
181 {
182 LinkBuilder linkBuilder = new LinkBuilder();
183 linkBuilder.setProtocol("https");
184 linkBuilder.setPort(443);
185 linkBuilder.setHost("example.com");
186 linkBuilder.setFile("/bbb");
187 String link = linkBuilder.toLink(request);
188 assertEquals("https://example.com/bbb", link);
189 }
190
191 {
192 LinkBuilder linkBuilder = new LinkBuilder();
193 linkBuilder.setProtocol("https");
194 linkBuilder.setPort(8443);
195 linkBuilder.setHost("example.com");
196 linkBuilder.setFile("/bbb");
197 String link = linkBuilder.toLink(request);
198 assertEquals("https://example.com:8443/bbb", link);
199 }
200
201 verify(request);
202 }
203
204 }