blob: e5da12c27f2ede8b1dce0b079089f4a4fcb6bd75 [file] [log] [blame]
// Copyright 2012 Google Inc. All Rights Reserved.
//
// 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 com.google.enterprise.adaptor;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import java.util.Collections;
import java.util.Set;
import java.util.TreeSet;
/**
* Test cases for {@link AuthnIdentityImpl}.
*/
public class AuthnIdentityImplTest {
@Rule
public ExpectedException thrown = ExpectedException.none();
@Test
public void testNullUsername() {
thrown.expect(NullPointerException.class);
new AuthnIdentityImpl.Builder(null);
}
private static Set<GroupPrincipal> makeGroups(String name) {
return GroupPrincipal.makeSet(Collections.singleton(name));
}
@Test
public void testSetAllConstruction() {
AuthnIdentity identity = new AuthnIdentityImpl
.Builder(new UserPrincipal("testing"))
.setPassword("pass").setGroups(makeGroups("group"))
.build();
assertEquals("testing", identity.getUser().getName());
assertEquals("pass", identity.getPassword());
assertEquals(makeGroups("group"), identity.getGroups());
}
@Test
public void testDefaults() {
AuthnIdentity identity = new AuthnIdentityImpl
.Builder(new UserPrincipal("testing")).build();
assertEquals("testing", identity.getUser().getName());
assertNull(identity.getPassword());
assertNull(identity.getGroups());
}
@Test
public void testImmutable() {
Set<GroupPrincipal> groups = new TreeSet<GroupPrincipal>();
groups.add(new GroupPrincipal("group"));
Set<GroupPrincipal> groups2 = new TreeSet<GroupPrincipal>();
groups2.add(new GroupPrincipal("group"));
AuthnIdentity identity = new AuthnIdentityImpl
.Builder(new UserPrincipal("testing"))
.setGroups(groups).build();
groups.add(new GroupPrincipal("anotherGroup"));
assertEquals(groups2, identity.getGroups());
}
}