001: /*
002: * Licensed to the Apache Software Foundation (ASF) under one or more
003: * contributor license agreements. See the NOTICE file distributed with
004: * this work for additional information regarding copyright ownership.
005: * The ASF licenses this file to You under the Apache License, Version 2.0
006: * (the "License"); you may not use this file except in compliance with
007: * the License. You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: */
017:
018: /**
019: * @author Alexey V. Varlamov
020: * @version $Revision$
021: */package org.ietf.jgss;
022:
023: import java.security.Provider;
024: import java.security.Security;
025:
026: import junit.framework.TestCase;
027:
028: /**
029: * Tests GSSManager class
030: */
031: public class GSSManagerTest extends TestCase {
032: /**
033: * Tests loading of a default provider with valid class references.
034: */
035: public void testGetInstance_valid() {
036: String oldProvider = Security.getProperty(GSSManager.MANAGER);
037: try {
038: Security.setProperty(GSSManager.MANAGER, TestManager.class
039: .getName());
040: GSSManager m = GSSManager.getInstance();
041: assertNotNull(m);
042: assertEquals(TestManager.class.getName(), m.getClass()
043: .getName());
044: } finally {
045: Security.setProperty(GSSManager.MANAGER,
046: (oldProvider == null) ? "" : oldProvider);
047: }
048: }
049:
050: /**
051: * Tests loading of a default provider with invalid class references.
052: */
053: public void testGetInstance_invalid() {
054: String oldProvider = Security.getProperty(GSSManager.MANAGER);
055: try {
056: try {
057: Security.setProperty(GSSManager.MANAGER, "a.b.c.D");
058: GSSManager.getInstance();
059: fail("should throw SecurityException for invalid klass");
060: } catch (SecurityException ok) {
061: }
062: try {
063: Security.setProperty(GSSManager.MANAGER, "");
064: GSSManager.getInstance();
065: fail("should throw SecurityException for empty klass");
066: } catch (SecurityException ok) {
067: }
068: } finally {
069: Security.setProperty(GSSManager.MANAGER,
070: (oldProvider == null) ? "" : oldProvider);
071: }
072: }
073:
074: public static class TestManager extends GSSManager {
075:
076: @Override
077: public void addProviderAtEnd(Provider p, Oid mech)
078: throws GSSException {
079: }
080:
081: @Override
082: public void addProviderAtFront(Provider p, Oid mech)
083: throws GSSException {
084: }
085:
086: @Override
087: public GSSContext createContext(byte[] interProcessToken)
088: throws GSSException {
089: return null;
090: }
091:
092: @Override
093: public GSSContext createContext(GSSCredential myCred)
094: throws GSSException {
095: return null;
096: }
097:
098: @Override
099: public GSSContext createContext(GSSName peer, Oid mech,
100: GSSCredential myCred, int lifetime) throws GSSException {
101: return null;
102: }
103:
104: @Override
105: public GSSCredential createCredential(GSSName name,
106: int lifetime, Oid mech, int usage) throws GSSException {
107: return null;
108: }
109:
110: @Override
111: public GSSCredential createCredential(GSSName name,
112: int lifetime, Oid[] mechs, int usage)
113: throws GSSException {
114: return null;
115: }
116:
117: @Override
118: public GSSCredential createCredential(int usage)
119: throws GSSException {
120: return null;
121: }
122:
123: @Override
124: public GSSName createName(byte[] name, Oid nameType, Oid mech)
125: throws GSSException {
126: return null;
127: }
128:
129: @Override
130: public GSSName createName(byte[] name, Oid nameType)
131: throws GSSException {
132: return null;
133: }
134:
135: @Override
136: public GSSName createName(String nameStr, Oid nameType, Oid mech)
137: throws GSSException {
138: return null;
139: }
140:
141: @Override
142: public GSSName createName(String nameStr, Oid nameType)
143: throws GSSException {
144: return null;
145: }
146:
147: @Override
148: public Oid[] getMechs() {
149: return null;
150: }
151:
152: @Override
153: public Oid[] getMechsForName(Oid nameType) {
154: return null;
155: }
156:
157: @Override
158: public Oid[] getNamesForMech(Oid mech) throws GSSException {
159: return null;
160: }
161: }
162: }
|