Skip to content

Commit 73a2734

Browse files
committed
Fixing Proxy to match W3C Editor Draft
1 parent 94ac2ca commit 73a2734

File tree

2 files changed

+23
-7
lines changed

2 files changed

+23
-7
lines changed

java/client/src/org/openqa/selenium/Proxy.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public enum ProxyType {
5353
private String noProxy;
5454
private String sslProxy;
5555
private String socksProxy;
56-
private String socksVersion;
56+
private Integer socksVersion;
5757
private String socksUsername;
5858
private String socksPassword;
5959
private String proxyAutoconfigUrl;
@@ -82,7 +82,7 @@ public Proxy(Map<String, ?> raw) {
8282
setSocksProxy((String) raw.get("socksProxy"));
8383
}
8484
if (raw.containsKey("socksVersion") && raw.get("socksVersion") != null) {
85-
setSocksProxy((String) raw.get("socksVersion"));
85+
setSocksVersion((Integer) raw.get("socksVersion"));
8686
}
8787
if (raw.containsKey("socksUsername") && raw.get("socksUsername") != null) {
8888
setSocksUsername((String) raw.get("socksUsername"));
@@ -120,7 +120,7 @@ public Map<String, Object> toJson() {
120120
m.put("socksProxy", socksProxy);
121121
}
122122
if (socksVersion != null) {
123-
m.put("socksProxyVersion", socksVersion);
123+
m.put("socksVersion", socksVersion);
124124
}
125125
if (socksUsername != null) {
126126
m.put("socksUsername", socksUsername);
@@ -305,7 +305,7 @@ public Proxy setSocksProxy(String socksProxy) {
305305
*
306306
* @return the SOCKS version if present, null otherwise
307307
*/
308-
public String getSocksVersion() {
308+
public Integer getSocksVersion() {
309309
return socksVersion;
310310
}
311311

@@ -315,7 +315,7 @@ public String getSocksVersion() {
315315
* @param socksVersion SOCKS version, 4 or 5
316316
* @return reference to self
317317
*/
318-
public Proxy setSocksVersion(String socksVersion) {
318+
public Proxy setSocksVersion(Integer socksVersion) {
319319
verifyProxyTypeCompatibility(ProxyType.MANUAL);
320320
this.proxyType = ProxyType.MANUAL;
321321
this.socksVersion = socksVersion;

java/client/test/org/openqa/selenium/ProxyTest.java

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ public void testNotInitializedProxy() {
5252
assertNull(proxy.getHttpProxy());
5353
assertNull(proxy.getSslProxy());
5454
assertNull(proxy.getSocksProxy());
55+
assertNull(proxy.getSocksVersion());
5556
assertNull(proxy.getSocksUsername());
5657
assertNull(proxy.getSocksPassword());
5758
assertNull(proxy.getNoProxy());
@@ -99,6 +100,9 @@ public void testCanNotChangeAlreadyInitializedProxyType() {
99100

100101
Throwable t11 = catchThrowable(() -> proxy2.setProxyType(ProxyType.SYSTEM));
101102
assertThat(t11, instanceOf(IllegalStateException.class));
103+
104+
Throwable t12 = catchThrowable(() -> proxy.setSocksVersion(5));
105+
assertThat(t12, instanceOf(IllegalStateException.class));
102106
}
103107

104108
@Test
@@ -111,6 +115,7 @@ public void testManualProxy() {
111115
setSslProxy("ssl.proxy").
112116
setNoProxy("localhost,127.0.0.*").
113117
setSocksProxy("socks.proxy:65555").
118+
setSocksVersion(5).
114119
setSocksUsername("test1").
115120
setSocksPassword("test2");
116121

@@ -119,6 +124,7 @@ public void testManualProxy() {
119124
assertEquals("http.proxy:1234", proxy.getHttpProxy());
120125
assertEquals("ssl.proxy", proxy.getSslProxy());
121126
assertEquals("socks.proxy:65555", proxy.getSocksProxy());
127+
assertEquals(Integer.valueOf(5), proxy.getSocksVersion());
122128
assertEquals("test1", proxy.getSocksUsername());
123129
assertEquals("test2", proxy.getSocksPassword());
124130
assertEquals("localhost,127.0.0.*", proxy.getNoProxy());
@@ -139,6 +145,7 @@ public void testPACProxy() {
139145
assertNull(proxy.getHttpProxy());
140146
assertNull(proxy.getSslProxy());
141147
assertNull(proxy.getSocksProxy());
148+
assertNull(proxy.getSocksVersion());
142149
assertNull(proxy.getSocksUsername());
143150
assertNull(proxy.getSocksPassword());
144151
assertNull(proxy.getNoProxy());
@@ -157,6 +164,7 @@ public void testAutodetectProxy() {
157164
assertNull(proxy.getHttpProxy());
158165
assertNull(proxy.getSslProxy());
159166
assertNull(proxy.getSocksProxy());
167+
assertNull(proxy.getSocksVersion());
160168
assertNull(proxy.getSocksUsername());
161169
assertNull(proxy.getSocksPassword());
162170
assertNull(proxy.getNoProxy());
@@ -166,13 +174,14 @@ public void testAutodetectProxy() {
166174

167175
@Test
168176
public void manualProxyFromMap() {
169-
Map<String, String> proxyData = new HashMap<>();
177+
Map<String, Object> proxyData = new HashMap<>();
170178
proxyData.put("proxyType", "manual");
171179
proxyData.put("httpProxy", "http.proxy:1234");
172180
proxyData.put("ftpProxy", "ftp.proxy");
173181
proxyData.put("sslProxy", "ssl.proxy");
174182
proxyData.put("noProxy", "localhost,127.0.0.*");
175183
proxyData.put("socksProxy", "socks.proxy:65555");
184+
proxyData.put("socksVersion", 5);
176185
proxyData.put("socksUsername", "test1");
177186
proxyData.put("socksPassword", "test2");
178187

@@ -183,6 +192,7 @@ public void manualProxyFromMap() {
183192
assertEquals("http.proxy:1234", proxy.getHttpProxy());
184193
assertEquals("ssl.proxy", proxy.getSslProxy());
185194
assertEquals("socks.proxy:65555", proxy.getSocksProxy());
195+
assertEquals(Integer.valueOf(5), proxy.getSocksVersion());
186196
assertEquals("test1", proxy.getSocksUsername());
187197
assertEquals("test2", proxy.getSocksPassword());
188198
assertEquals("localhost,127.0.0.*", proxy.getNoProxy());
@@ -200,6 +210,7 @@ public void manualProxyToJson() {
200210
proxy.setSslProxy("ssl.proxy");
201211
proxy.setNoProxy("localhost,127.0.0.*");
202212
proxy.setSocksProxy("socks.proxy:65555");
213+
proxy.setSocksVersion(5);
203214
proxy.setSocksUsername("test1");
204215
proxy.setSocksPassword("test2");
205216

@@ -210,10 +221,11 @@ public void manualProxyToJson() {
210221
assertEquals("http.proxy:1234", json.get("httpProxy"));
211222
assertEquals("ssl.proxy", json.get("sslProxy"));
212223
assertEquals("socks.proxy:65555", json.get("socksProxy"));
224+
assertEquals(5, json.get("socksVersion"));
213225
assertEquals("test1", json.get("socksUsername"));
214226
assertEquals("test2", json.get("socksPassword"));
215227
assertEquals("localhost,127.0.0.*", json.get("noProxy"));
216-
assertEquals(8, json.entrySet().size());
228+
assertEquals(9, json.entrySet().size());
217229
}
218230

219231
@Test
@@ -231,6 +243,7 @@ public void pacProxyFromMap() {
231243
assertNull(proxy.getHttpProxy());
232244
assertNull(proxy.getSslProxy());
233245
assertNull(proxy.getSocksProxy());
246+
assertNull(proxy.getSocksVersion());
234247
assertNull(proxy.getSocksUsername());
235248
assertNull(proxy.getSocksPassword());
236249
assertNull(proxy.getNoProxy());
@@ -265,6 +278,7 @@ public void autodetectProxyFromMap() {
265278
assertNull(proxy.getHttpProxy());
266279
assertNull(proxy.getSslProxy());
267280
assertNull(proxy.getSocksProxy());
281+
assertNull(proxy.getSocksVersion());
268282
assertNull(proxy.getSocksUsername());
269283
assertNull(proxy.getSocksPassword());
270284
assertNull(proxy.getNoProxy());
@@ -297,6 +311,7 @@ public void systemProxyFromMap() {
297311
assertNull(proxy.getHttpProxy());
298312
assertNull(proxy.getSslProxy());
299313
assertNull(proxy.getSocksProxy());
314+
assertNull(proxy.getSocksVersion());
300315
assertNull(proxy.getSocksUsername());
301316
assertNull(proxy.getSocksPassword());
302317
assertNull(proxy.getNoProxy());
@@ -328,6 +343,7 @@ public void directProxyFromMap() {
328343
assertNull(proxy.getHttpProxy());
329344
assertNull(proxy.getSslProxy());
330345
assertNull(proxy.getSocksProxy());
346+
assertNull(proxy.getSocksVersion());
331347
assertNull(proxy.getSocksUsername());
332348
assertNull(proxy.getSocksPassword());
333349
assertNull(proxy.getNoProxy());

0 commit comments

Comments
 (0)