1   /*
2    * $Header: /home/cvs/jakarta-commons/httpclient/src/test/org/apache/commons/httpclient/HttpClientTestBase.java,v 1.2 2004/02/27 19:01:33 olegk Exp $
3    * $Revision: 1.2 $
4    * $Date: 2004/02/27 19:01:33 $
5    * ====================================================================
6    *
7    *  Copyright 1999-2004 The Apache Software Foundation
8    *
9    *  Licensed under the Apache License, Version 2.0 (the "License");
10   *  you may not use this file except in compliance with the License.
11   *  You may obtain a copy of the License at
12   *
13   *      http://www.apache.org/licenses/LICENSE-2.0
14   *
15   *  Unless required by applicable law or agreed to in writing, software
16   *  distributed under the License is distributed on an "AS IS" BASIS,
17   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18   *  See the License for the specific language governing permissions and
19   *  limitations under the License.
20   * ====================================================================
21   *
22   * This software consists of voluntary contributions made by many
23   * individuals on behalf of the Apache Software Foundation.  For more
24   * information on the Apache Software Foundation, please see
25   * <http://www.apache.org/>.
26   *
27   * [Additional notices, if required by prior licensing conditions]
28   *
29   */
30  
31  package org.apache.commons.httpclient;
32  
33  import java.io.IOException;
34  
35  import junit.framework.Test;
36  import junit.framework.TestCase;
37  import junit.framework.TestSuite;
38  
39  import org.apache.commons.httpclient.protocol.Protocol;
40  import org.apache.commons.httpclient.server.SimpleHttpServer;
41  
42  /***
43   * Base class for test cases using 
44   * {@link org.apache.commons.httpclient.server.SimpleHttpServer} based 
45   * testing framework.
46   *
47   * @author Oleg Kalnichevski
48   * 
49   * @version $Id: HttpClientTestBase.java,v 1.2 2004/02/27 19:01:33 olegk Exp $
50   */
51  public class HttpClientTestBase extends TestCase {
52  
53      protected HttpClient client = null;
54      protected SimpleHttpServer server = null;
55  
56      // ------------------------------------------------------------ Constructor
57      public HttpClientTestBase(String testName) {
58          super(testName);
59      }
60  
61      // ------------------------------------------------------------------- Main
62      public static void main(String args[]) {
63          String[] testCaseName = { HttpClientTestBase.class.getName() };
64          junit.textui.TestRunner.main(testCaseName);
65      }
66  
67      // ------------------------------------------------------- TestCase Methods
68  
69      public static Test suite() {
70          return new TestSuite(HttpClientTestBase.class);
71      }
72  
73      // ------------------------------------------------- TestCase setup/shutdown
74  
75      public void setUp() throws IOException {
76          // configure the server
77          this.server = new SimpleHttpServer(); // use arbitrary port
78  
79          // configure the client
80          this.client = new HttpClient();
81          this.client.getHostConfiguration().setHost(
82              this.server.getLocalAddress(), 
83              this.server.getLocalPort(),
84              Protocol.getProtocol("http"));
85      
86      }
87  
88      public void tearDown() throws IOException {
89          this.client = null;
90          this.server.destroy();
91          this.server = null;
92      }
93  }