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