/*
* JBoss, Home of Professional Open Source
* Copyright 2005-2008, Red Hat Middleware LLC, and individual contributors
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.messaging.tests.unit.core.security;
import static org.jboss.messaging.core.security.CheckType.CREATE;
import static org.jboss.messaging.core.security.CheckType.READ;
import static org.jboss.messaging.core.security.CheckType.WRITE;
import junit.framework.TestCase;
import org.jboss.messaging.core.security.Role;
/**
* @author <a href="mailto:jmesnil@redhat.com">Jeff Mesnil</a>
*
* @version <tt>$Revision$</tt>
*
*/
public class RoleTest extends TestCase
{
// Constants -----------------------------------------------------
// Attributes ----------------------------------------------------
// Static --------------------------------------------------------
// Constructors --------------------------------------------------
// Public --------------------------------------------------------
public void testDefaultRole() throws Exception
{
Role role = new Role("testDefaultRole");
assertEquals("testDefaultRole", role.getName());
assertFalse(role.isCheckType(READ));
assertFalse(role.isCheckType(WRITE));
assertFalse(role.isCheckType(CREATE));
}
public void testReadRole() throws Exception
{
Role role = new Role("testReadRole", true, false, false);
assertTrue(role.isCheckType(READ));
assertFalse(role.isCheckType(WRITE));
assertFalse(role.isCheckType(CREATE));
}
public void testWriteRole() throws Exception
{
Role role = new Role("testWriteRole", false, true, false);
assertFalse(role.isCheckType(READ));
assertTrue(role.isCheckType(WRITE));
assertFalse(role.isCheckType(CREATE));
}
public void testCreateRole() throws Exception
{
Role role = new Role("testWriteRole", false, false, true);
assertFalse(role.isCheckType(READ));
assertFalse(role.isCheckType(WRITE));
assertTrue(role.isCheckType(CREATE));
}
public void testEqualsAndHashcode() throws Exception
{
Role role = new Role("testEquals", true, true, true);
Role sameRole = new Role("testEquals", true, true, true);
Role roleWithDifferentName = new Role("notEquals", true, true, true);
Role roleWithDifferentRead = new Role("testEquals", false, true, true);
Role roleWithDifferentWrite = new Role("testEquals", true, false, true);
Role roleWithDifferentCreate = new Role("testEquals", true, true, false);
assertTrue(role.equals(role));
assertTrue(role.equals(sameRole));
assertTrue(role.hashCode() == sameRole.hashCode());
assertFalse(role.equals(roleWithDifferentName));
assertFalse(role.hashCode() == roleWithDifferentName.hashCode());
assertFalse(role.equals(roleWithDifferentRead));
assertFalse(role.hashCode() == roleWithDifferentRead.hashCode());
assertFalse(role.equals(roleWithDifferentWrite));
assertFalse(role.hashCode() == roleWithDifferentWrite.hashCode());
assertFalse(role.equals(roleWithDifferentCreate));
assertFalse(role.hashCode() == roleWithDifferentCreate.hashCode());
assertFalse(role.equals(null));
}
// Package protected ---------------------------------------------
// Protected -----------------------------------------------------
// Private -------------------------------------------------------
// Inner classes -------------------------------------------------
}