View Javadoc

1   // Copyright (C) 2008 Philip Aston
2   // All rights reserved.
3   //
4   // This file is part of The Grinder software distribution. Refer to
5   // the file LICENSE which is part of The Grinder distribution for
6   // licensing details. The Grinder distribution is available on the
7   // Internet at http://grinder.sourceforge.net/
8   //
9   // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
10  // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
11  // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
12  // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
13  // COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
14  // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
15  // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
16  // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
17  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
18  // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
19  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
20  // OF THE POSSIBILITY OF SUCH DAMAGE.
21  
22  package net.grinder.plugin.http;
23  
24  import java.net.InetAddress;
25  
26  import HTTPClient.NVPair;
27  import junit.framework.TestCase;
28  
29  
30  /**
31   * Unit tests for {@link HTTPPluginConnectionDefaults}.
32   *
33   * @author Philip Aston
34   */
35  public class TestHTTPPluginConnectionDefaults extends TestCase {
36  
37    public void testHTTPPluginConnectionDefaults() throws Exception {
38      final HTTPPluginConnectionDefaults defaults =
39        new HTTPPluginConnectionDefaults();
40  
41      assertFalse(defaults.getFollowRedirects());
42      defaults.setFollowRedirects(true);
43      assertTrue(defaults.getFollowRedirects());
44  
45      assertTrue(defaults.getUseCookies());
46      defaults.setUseCookies(false);
47      assertFalse(defaults.getUseCookies());
48  
49      assertFalse(defaults.getUseContentEncoding());
50      defaults.setUseContentEncoding(true);
51      assertTrue(defaults.getUseContentEncoding());
52  
53      assertFalse(defaults.getUseTransferEncoding());
54      defaults.setUseTransferEncoding(true);
55      assertTrue(defaults.getUseTransferEncoding());
56  
57      assertFalse(defaults.getUseAuthorizationModule());
58      defaults.setUseAuthorizationModule(true);
59      assertTrue(defaults.getUseAuthorizationModule());
60  
61      assertFalse(defaults.getVerifyServerDistinguishedName());
62      defaults.setVerifyServerDistinguishedName(true);
63      assertTrue(defaults.getVerifyServerDistinguishedName());
64  
65      assertEquals(0, defaults.getDefaultHeaders().length);
66      final NVPair[] nicePair = { new NVPair("a", "b"), new NVPair("c", "d"), };
67      defaults.setDefaultHeaders(nicePair);
68      assertSame(nicePair, defaults.getDefaultHeaders());
69  
70      assertEquals(0, defaults.getTimeout());
71      defaults.setTimeout(123);
72      assertEquals(123, defaults.getTimeout());
73  
74      assertNull(defaults.getProxyHost());
75      assertEquals(0, defaults.getProxyPort());
76      defaults.setProxyServer("foo", 7289);
77      assertEquals("foo", defaults.getProxyHost());
78      assertEquals(7289, defaults.getProxyPort());
79  
80      assertEquals(null, defaults.getLocalAddress());
81  
82      try {
83        defaults.setLocalAddress("unknown host");
84        fail("Expected URLException");
85      }
86      catch (URLException e) {
87      }
88  
89      assertEquals(null, defaults.getLocalAddress());
90      defaults.setLocalAddress(InetAddress.getLocalHost().getHostAddress());
91      assertEquals(InetAddress.getLocalHost(), defaults.getLocalAddress());
92  
93      assertEquals(0, defaults.getBandwidthLimit());
94      defaults.setBandwidthLimit(99);
95      assertEquals(99, defaults.getBandwidthLimit());
96  
97      // Cover no-op.
98      defaults.close();
99    }
100 
101   public void testSingleton() {
102     assertNotNull(HTTPPluginConnectionDefaults.getConnectionDefaults());
103     assertSame(HTTPPluginConnectionDefaults.getConnectionDefaults(),
104                HTTPPluginConnectionDefaults.getConnectionDefaults());
105   }
106 }