Package org.jasig.portal.security.provider

Source Code of org.jasig.portal.security.provider.RestrictedPersonTest$DummySecurityContext

/* Copyright 2004 The JA-SIG Collaborative.  All rights reserved.
*  See license distributed with this file and
*  available online at http://www.uportal.org/license.html
*/

package org.jasig.portal.security.provider;

import java.util.Enumeration;

import org.jasig.portal.security.IAdditionalDescriptor;
import org.jasig.portal.security.IOpaqueCredentials;
import org.jasig.portal.security.IPerson;
import org.jasig.portal.security.IPrincipal;
import org.jasig.portal.security.ISecurityContext;
import org.jasig.portal.security.PortalSecurityException;

import junit.framework.TestCase;

/**
* Testcase for RestrictedPerson.
* @author andrew.petro@yale.edu
* @version $Revision: 1.4 $ $Date: 2004/11/16 18:25:01 $
*/
public class RestrictedPersonTest extends TestCase {

    private IPerson person;
   
    private RestrictedPerson restrictedPerson;
   
    protected void setUp() {
        IPerson fullPerson = new PersonImpl();
        fullPerson.setAttribute("att1", "val1");
        fullPerson.setAttribute("att2", "val2");
       
        fullPerson.setFullName("George Washington");
       
        fullPerson.setID(27);
       
        fullPerson.setSecurityContext(new DummySecurityContext());
       
       
        this.person = fullPerson;
        this.restrictedPerson = new RestrictedPerson(fullPerson);
    }
   
    protected void tearDown() {
        this.person = null;
        this.restrictedPerson = null;
    }
   
    /**
     * Test that getSecurityContext of RestrictedPerson
     * returns null.
     */
    public void testGetSecurityContext() {
        assertNull(this.restrictedPerson.getSecurityContext());
    }
   
    /**
     * Test that setSecurityContext does not change the security context.
     */
    public void testSetSecurityContext() {
        ISecurityContext baselineContext = this.person.getSecurityContext();
        assertNotNull(baselineContext);
       
        assertNull(this.restrictedPerson.getSecurityContext());
       
        this.restrictedPerson.setSecurityContext(new DummySecurityContext());
        assertNull(this.restrictedPerson.getSecurityContext());
       
        assertSame(baselineContext, this.person.getSecurityContext());
    }
   
    /**
     * Test that the getEntityIdentifier() method of RestrictedPerson
     * reads through to the underlying IPerson's entity identifier.
     */
    public void testGetEntityIdentifier() {
        assertNotNull(this.person.getEntityIdentifier());
        assertSame(this.person.getEntityIdentifier(), this.restrictedPerson.getEntityIdentifier());
    }
   
    /**
     * Test that the setAttribute() method of RestrictedPerson writes through
     * to the underlying IPerson.
     */
    public void testSetAttribute() {
       
        // test that new attributes write
       
        assertNull(this.person.getAttribute("notSet"));
        assertNull(this.restrictedPerson.getAttribute("notSet"));
       
        this.restrictedPerson.setAttribute("notSet", "nowSet");
       
        assertEquals("nowSet", this.person.getAttribute("notSet"));
        assertEquals("nowSet", this.restrictedPerson.getAttribute("notSet"));

       
        // test that existing attribute are overwritten
       
        assertEquals("val1", this.person.getAttribute("att1"));
        assertEquals("val1", this.restrictedPerson.getAttribute("att1"));
       
        this.restrictedPerson.setAttribute("att1", "newValue");
       
        assertEquals("newValue", this.person.getAttribute("att1"));
        assertEquals("newValue", this.restrictedPerson.getAttribute("att1"));
       
    }

    /**
     * Test that the setFullName method of RestrictedPerson writes through
     * to the underlying IPerson.
     */
    public void testSetFullname() {
        assertEquals("George Washington", this.restrictedPerson.getFullName());
        assertEquals("George Washington", this.person.getFullName());

        this.restrictedPerson.setFullName("Peter Furmonavicius");
       
        assertEquals("Peter Furmonavicius", this.restrictedPerson.getFullName());
        assertEquals("Peter Furmonavicius", this.person.getFullName());
    }
   
    /**
     * Test that the RestrictedPerson setID method writes through
     * to the underlying IPerson.
     */
    public void testSetID() {
        assertEquals(27, this.person.getID());
        assertEquals(27, this.restrictedPerson.getID());
       
        this.restrictedPerson.setID(12);
       
        assertEquals(12, this.person.getID());
        assertEquals(12, this.restrictedPerson.getID());
    }
   
    /**
     * A dummy ISecurityContext implementation.
     * Useful as a non-null ISecurityContext, but otherwise no methods do
     * anything.
     */
    private class DummySecurityContext
        implements ISecurityContext {

        /* (non-Javadoc)
         * @see org.jasig.portal.security.ISecurityContext#getAuthType()
         */
        public int getAuthType() {
            return 0;
        }

        /* (non-Javadoc)
         * @see org.jasig.portal.security.ISecurityContext#getPrincipalInstance()
         */
        public IPrincipal getPrincipalInstance() {
            return null;
        }

        /* (non-Javadoc)
         * @see org.jasig.portal.security.ISecurityContext#getOpaqueCredentialsInstance()
         */
        public IOpaqueCredentials getOpaqueCredentialsInstance() {
            return null;
        }

        /* (non-Javadoc)
         * @see org.jasig.portal.security.ISecurityContext#authenticate()
         */
        public void authenticate() throws PortalSecurityException {
            // do nothing -- dummy implementation
        }

        /* (non-Javadoc)
         * @see org.jasig.portal.security.ISecurityContext#getPrincipal()
         */
        public IPrincipal getPrincipal() {
            return null;
        }

        /* (non-Javadoc)
         * @see org.jasig.portal.security.ISecurityContext#getOpaqueCredentials()
         */
        public IOpaqueCredentials getOpaqueCredentials() {
            return null;
        }

        /* (non-Javadoc)
         * @see org.jasig.portal.security.ISecurityContext#getAdditionalDescriptor()
         */
        public IAdditionalDescriptor getAdditionalDescriptor() {
            return null;
        }

        /* (non-Javadoc)
         * @see org.jasig.portal.security.ISecurityContext#isAuthenticated()
         */
        public boolean isAuthenticated() {
            return false;
        }

        /* (non-Javadoc)
         * @see org.jasig.portal.security.ISecurityContext#getSubContext(java.lang.String)
         */
        public ISecurityContext getSubContext(String ctx) throws PortalSecurityException {
            return null;
        }

        /* (non-Javadoc)
         * @see org.jasig.portal.security.ISecurityContext#getSubContexts()
         */
        public Enumeration getSubContexts() {
            return null;
        }

        /* (non-Javadoc)
         * @see org.jasig.portal.security.ISecurityContext#getSubContextNames()
         */
        public Enumeration getSubContextNames() {
            return null;
        }

        /* (non-Javadoc)
         * @see org.jasig.portal.security.ISecurityContext#addSubContext(java.lang.String, org.jasig.portal.security.ISecurityContext)
         */
        public void addSubContext(String name, ISecurityContext ctx) throws PortalSecurityException {
            // do nothing -- dummy implementation
        }
       
    }
   
}
TOP

Related Classes of org.jasig.portal.security.provider.RestrictedPersonTest$DummySecurityContext

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.