blob: d5a428fd1cb7121caeabad243512774f984ccf7c [file] [log] [blame]
/*
* Copyright (C) 2007 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.harmony.security.tests.java.security;
import dalvik.annotation.TestTargetClass;
import dalvik.annotation.TestTargets;
import dalvik.annotation.TestLevel;
import dalvik.annotation.TestTargetNew;
import java.security.AuthProvider;
import javax.security.auth.Subject;
import javax.security.auth.callback.CallbackHandler;
import junit.framework.TestCase;
@TestTargetClass(AuthProvider.class)
public class AuthProviderTest extends TestCase {
protected void setUp() throws Exception {
super.setUp();
}
protected void tearDown() throws Exception {
super.tearDown();
}
/**
* @tests java.security.AuthProvider#AuthProvider(String, double, String)
*/
@TestTargets({
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "",
method = "AuthProvider",
args = {java.lang.String.class, double.class, java.lang.String.class}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "",
method = "login",
args = {javax.security.auth.Subject.class, javax.security.auth.callback.CallbackHandler.class}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "",
method = "logout",
args = {}
),
@TestTargetNew(
level = TestLevel.COMPLETE,
notes = "",
method = "setCallbackHandler",
args = {javax.security.auth.callback.CallbackHandler.class}
)
})
public void testConstructor01() {
AuthProviderStub ap = new AuthProviderStub("name", 1.0, "info");
CallbackHandler handler = null;
String[] str = {"", null, "!@#$%^&*()"};
double[] version = {0.0, -1.0, Double.MAX_VALUE, Double.MIN_VALUE, Double.NaN, Double.NEGATIVE_INFINITY};
assertEquals("name", ap.getName());
assertEquals(1.0, ap.getVersion());
assertEquals("info", ap.getInfo());
assertNotNull(ap.getServices());
assertTrue(ap.getServices().isEmpty());
for (int i = 0; i < str.length; i++) {
for (int j = 0; j < version.length; j++) {
try {
ap = new AuthProviderStub(str[i], version[j], str[i]);
} catch (Exception ex) {
fail("Unexpected exception was thrown");
}
}
}
try {
ap.setCallbackHandler(handler);
ap.login(null, handler);
ap.logout();
} catch (Exception e) {
fail("Unexpected exception");
}
}
public class AuthProviderStub extends AuthProvider {
public AuthProviderStub(String name, double version, String info) {
super( name, version, info);
}
public void login(Subject subject, CallbackHandler handler) {}
public void logout() {}
public void setCallbackHandler(CallbackHandler handler){}
}
}