summaryrefslogtreecommitdiffstats
path: root/src/test/java/com/btr/proxy/search/browser/FirefoxTest.java
blob: 2a4514017245ba57fca14134ab690c0b85ba7367 (plain) (blame)
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
package com.btr.proxy.search.browser;

import static org.junit.Assert.*;

import java.net.Proxy;
import java.net.ProxySelector;
import java.net.URISyntaxException;
import java.util.List;

import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;

import com.btr.proxy.TestUtil;
import com.btr.proxy.search.browser.firefox.FirefoxProxySearchStrategy;
import com.btr.proxy.util.ProxyException;

/*****************************************************************************
 *  Unit tests for the firefox search.
 *  
 * @author Bernd Rosstauscher (proxyvole@rosstauscher.de) Copyright 2009
 ****************************************************************************/

@Ignore
public class FirefoxTest {

	/*************************************************************************
	 * Setup environment for tests.
	 ************************************************************************/
	@BeforeClass
	public static void setup() {
		// Fake the OS for this tests.
		System.setProperty("os.name", "Linux");
	}
	
	/*************************************************************************
	 * Test method.
	 * @throws ProxyException on error.
	 ************************************************************************/
	@Test
	public void testNone() throws ProxyException {
		TestUtil.setTestDataFolder("ff3_none");

		FirefoxProxySearchStrategy ff = new FirefoxProxySearchStrategy();
		ProxySelector ps = ff.getProxySelector();
		
		List<Proxy> result = ps.select(TestUtil.HTTPS_TEST_URI);
		assertEquals(Proxy.NO_PROXY , result.get(0));
		
	}
	
	/*************************************************************************
	 * Test method
	 * @throws ProxyException on proxy detection error.
	 * @throws URISyntaxException on invalid URL syntax.
	 ************************************************************************/
	@Test
	public void testManualHttp() throws ProxyException, URISyntaxException {
		TestUtil.setTestDataFolder("ff3_manual");
		
		ProxySelector ps = new FirefoxProxySearchStrategy().getProxySelector();

		List<Proxy> result = ps.select(TestUtil.HTTP_TEST_URI);
		assertEquals(TestUtil.HTTP_TEST_PROXY, result.get(0));
	}
	
	/*************************************************************************
	 * Test method
	 * @throws ProxyException on proxy detection error.
	 * @throws URISyntaxException on invalid URL syntax.
	 ************************************************************************/
	@Test
	public void testManualHttps() throws ProxyException, URISyntaxException {
		TestUtil.setTestDataFolder("ff3_manual");
		
		ProxySelector ps = new FirefoxProxySearchStrategy().getProxySelector();

		List<Proxy> result = ps.select(TestUtil.HTTPS_TEST_URI);
		assertEquals(TestUtil.HTTPS_TEST_PROXY, result.get(0));
	}
	
	/*************************************************************************
	 * Test method
	 * @throws ProxyException on proxy detection error.
	 * @throws URISyntaxException on invalid URL syntax.
	 ************************************************************************/
	@Test
	public void testManualFtp() throws ProxyException, URISyntaxException {
		TestUtil.setTestDataFolder("ff3_manual");
		
		ProxySelector ps = new FirefoxProxySearchStrategy().getProxySelector();

		List<Proxy> result = ps.select(TestUtil.FTP_TEST_URI);
		assertEquals(TestUtil.FTP_TEST_PROXY, result.get(0));
	}
	
	/*************************************************************************
	 * Test method
	 * @throws ProxyException on proxy detection error.
	 * @throws URISyntaxException on invalid URL syntax.
	 ************************************************************************/
	@Test
	public void testManualSocks() throws ProxyException, URISyntaxException {
		TestUtil.setTestDataFolder("ff3_manual");
		
		ProxySelector ps = new FirefoxProxySearchStrategy().getProxySelector();

		List<Proxy> result = ps.select(TestUtil.SOCKS_TEST_URI);
		assertEquals(TestUtil.SOCKS_TEST_PROXY, result.get(0));
	}


	/*************************************************************************
	 * Test method
	 * @throws ProxyException on proxy detection error.
	 * @throws URISyntaxException on invalid URL syntax.
	 ************************************************************************/
	@Test
	public void testPac() throws ProxyException, URISyntaxException {
		TestUtil.setTestDataFolder("ff3_pac_script");
		
		ProxySelector ps = new FirefoxProxySearchStrategy().getProxySelector();

		List<Proxy> result = ps.select(TestUtil.HTTP_TEST_URI);
		assertEquals(TestUtil.HTTP_TEST_PROXY, result.get(0));
	}
	
	/*************************************************************************
	 * Test method
	 * @throws ProxyException on proxy detection error.
	 * @throws URISyntaxException on invalid URL syntax.
	 ************************************************************************/
	@Test
	public void testWhiteList() throws ProxyException, URISyntaxException {
		TestUtil.setTestDataFolder("ff3_white_list");
		
		ProxySelector ps = new FirefoxProxySearchStrategy().getProxySelector();

		List<Proxy> result = ps.select(TestUtil.NO_PROXY_TEST_URI);
		assertEquals(Proxy.NO_PROXY, result.get(0));
	}

}