1   /*
2    * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//httpclient/src/test/org/apache/commons/httpclient/TestCredentials.java,v 1.1 2004/10/31 13:46:54 olegk Exp $
3    * $Revision: 192979 $
4    * $Date: 2005-06-22 15:38:51 -0400 (Wed, 22 Jun 2005) $
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 junit.framework.Test;
34  import junit.framework.TestCase;
35  import junit.framework.TestSuite;
36  
37  /***
38   * Unit tests for {@link Credentials}.
39   *
40   * @author Rodney Waldhoff
41   * @author <a href="mailto:jsdever@apache.org">Jeff Dever</a>
42   * @version $Id: TestCredentials.java 192979 2005-06-22 19:38:51Z olegk $
43   */
44  public class TestCredentials extends TestCase {
45  
46      // ------------------------------------------------------------ Constructor
47      public TestCredentials(String testName) {
48          super(testName);
49      }
50  
51      // ------------------------------------------------------------------- Main
52      public static void main(String args[]) {
53          String[] testCaseName = { TestCredentials.class.getName() };
54          junit.textui.TestRunner.main(testCaseName);
55      }
56  
57      // ------------------------------------------------------- TestCase Methods
58  
59      public static Test suite() {
60          return new TestSuite(TestCredentials.class);
61      }
62  
63      public void testCredentialConstructors() {
64          try {
65              new UsernamePasswordCredentials(null, null);
66              fail("IllegalArgumentException should have been thrown");
67          } catch (IllegalArgumentException e) {
68              // expected
69          }
70          try {
71              new NTCredentials("user", "password", null, null);
72              fail("IllegalArgumentException should have been thrown");
73          } catch (IllegalArgumentException e) {
74              // expected
75          }
76          try {
77              new NTCredentials("user", "password", "host", null);
78              fail("IllegalArgumentException should have been thrown");
79          } catch (IllegalArgumentException e) {
80              // expected
81          }
82          NTCredentials creds = new NTCredentials("user", null, "host", "domain");
83          assertNotNull(creds.getUserName());
84          assertNull(creds.getPassword());
85          assertNotNull(creds.getDomain());
86          assertNotNull(creds.getHost());
87      }
88  
89      /***
90       * Verifies that credentials report equal when they should.
91       */
92      public void testCredentialEquals() {
93  
94          Credentials creds1 = new UsernamePasswordCredentials("user1", "password1");
95          Credentials creds1Again = new UsernamePasswordCredentials("user1", "password1");
96          Credentials creds2 = new UsernamePasswordCredentials("user2", "password2");
97          Credentials creds3 = new UsernamePasswordCredentials("user3", null);
98          Credentials creds3Again = new UsernamePasswordCredentials("user3", null);
99  
100         assertEquals(creds1, creds1Again);
101         assertNotSame(creds1, creds2);
102         assertEquals(creds3, creds3Again);
103 
104         Credentials ntCreds1 = new NTCredentials("user1", "password1", "host1", "domain1");
105         Credentials ntCreds1Again = new NTCredentials("user1", "password1", "host1", "domain1");
106         Credentials ntCreds2 = new NTCredentials("user1", "password2", "host1", "domain1");
107         Credentials ntCreds3 = new NTCredentials("user1", "password1", "host2", "domain1");
108         Credentials ntCreds4 = new NTCredentials("user1", "password1", "host1", "domain2");
109 
110         assertEquals(ntCreds1, ntCreds1Again);
111         assertNotSame(ntCreds1, creds1);
112         assertNotSame(creds1, ntCreds1);
113         assertNotSame(ntCreds1, ntCreds2);
114         assertNotSame(ntCreds1, ntCreds3);
115         assertNotSame(ntCreds1, ntCreds4);
116     }
117 }