Package org.jacorb.test.poa

Source Code of org.jacorb.test.poa.POAUtilTest

package org.jacorb.test.poa;

import java.util.*;
import junit.framework.*;

import org.jacorb.poa.except.*;
import org.jacorb.poa.util.POAUtil;
import org.jacorb.poa.policy.ThreadPolicy;
import org.jacorb.poa.policy.LifespanPolicy;
import org.jacorb.poa.policy.IdUniquenessPolicy;
import org.jacorb.poa.policy.IdAssignmentPolicy;
import org.jacorb.poa.policy.ServantRetentionPolicy;
import org.jacorb.poa.policy.RequestProcessingPolicy;
import org.jacorb.poa.policy.ImplicitActivationPolicy;
import org.jacorb.test.common.*;
import org.omg.PortableServer.*;

/**
* A unit test of several of the stand-alone methods in org.jacorb.poa.POAUtil.
* @author Andre Spiegel spiegel@gnu.org
* @version $Id$
*/
public class POAUtilTest extends JacORBTestCase
{

    public POAUtilTest (String name)
    {
        super (name);
    }
   
    public void test_mask_id_1()
    {
        do_mask_id ("abc", "abc");
    }
 
    public void test_mask_id_2()
    {
        do_mask_id ("a", "a");
    }

    public void test_mask_id_3()
    {
        do_mask_id ("", "");
    }

    public void test_mask_id_4()
    {
        do_mask_id ("a/b", "a&%b");
    }
   
    public void test_mask_id_5()
    {
        do_mask_id ("a//b", "a&%&%b");
    }
   
    public void test_mask_id_6()
    {
        do_mask_id ("a&b", "a&&b");
    }
   
    public void test_mask_id_7()
    {
        do_mask_id ("a&&b", "a&&&&b");
    }
   
    public void test_mask_id_8()
    {
        do_mask_id ("/", "&%");
    }
   
    public void test_mask_id_9()
    {
        do_mask_id ("&", "&&");
    }
   
    public void test_mask_id_10()
    {
        do_mask_id ("&%", "&&%");
    }
   
    public void test_unmask_id_1()
    {
        do_unmask_id ("abc", "abc");
    }
   
    public void test_unmask_id_2()
    {
        do_unmask_id ("a", "a");
    }
   
    public void test_unmask_id_3()
    {
        do_unmask_id ("", "");
    }
   
    public void test_unmask_id_4()
    {
        do_unmask_id ("a&%c", "a/c");
    }
   
    public void test_unmask_id_5()
    {
        do_unmask_id ("a&&c", "a&c");
    }
   
    public void test_unmask_id_6()
    {
        do_unmask_id ("a&%%c", "a/%c");
    }
   
    public void test_unmask_id_7()
    {
        do_unmask_id ("&&", "&");
    }
   
    public void test_unmask_id_8()
    {
        do_unmask_id ("&%", "/");
    }
   
    public void test_unmask_id_9()
    {
        do_unmask_id ("%&&%", "%&%");
    }
   
    public void test_unmask_id_10()
    {
        try
        {
            do_unmask_id ("&", "");
            fail ("illegal oid, should have raised an exception");
        }
        catch (ArrayIndexOutOfBoundsException ex)
        {
            // ok
        }
    }
   
    public void test_unmask_id_11()
    {
        try
        {
            do_unmask_id ("ab&cd", "");
            fail ("illegal oid, should have raised an exception");
        }
        catch (POAInternalError ex)
        {
            // ok
        }
    }
   
    public void test_convert_policy()
    {
        // ThreadPolicy
        assertEquals
        (
            "ORB_CTRL_MODEL",
            POAUtil.convert (null, THREAD_POLICY_ID.value)
        );
        assertEquals
        (
            "ORB_CTRL_MODEL",
            POAUtil.convert
            (
                new ThreadPolicy (ThreadPolicyValue.ORB_CTRL_MODEL),
                THREAD_POLICY_ID.value)
        );
        assertEquals
        (
            "SINGLE_THREAD_MODEL",
            POAUtil.convert
            (
                new ThreadPolicy (ThreadPolicyValue.SINGLE_THREAD_MODEL),
                THREAD_POLICY_ID.value)
        );
       
        // LifespanPolicy
        assertEquals
        (
            "TRANSIENT",
            POAUtil.convert (null, LIFESPAN_POLICY_ID.value)
        );
        assertEquals
        (
            "TRANSIENT",
            POAUtil.convert
            (
                new LifespanPolicy (LifespanPolicyValue.TRANSIENT),
                LIFESPAN_POLICY_ID.value)
        );
        assertEquals
        (
            "PERSISTENT",
            POAUtil.convert
            (
                new LifespanPolicy (LifespanPolicyValue.PERSISTENT),
                LIFESPAN_POLICY_ID.value)
        );
       
        // IdUniquenessPolicy
        assertEquals
        (
            "UNIQUE_ID",
            POAUtil.convert (null, ID_UNIQUENESS_POLICY_ID.value)
        );
        assertEquals
        (
            "UNIQUE_ID",
            POAUtil.convert
            (
                new IdUniquenessPolicy (IdUniquenessPolicyValue.UNIQUE_ID),
                ID_UNIQUENESS_POLICY_ID.value)
        );
        assertEquals
        (
            "MULTIPLE_ID",
            POAUtil.convert
            (
                new IdUniquenessPolicy (IdUniquenessPolicyValue.MULTIPLE_ID),
                ID_UNIQUENESS_POLICY_ID.value)
        );
       
        // IdAssignmentPolicy
        assertEquals
        (
            "SYSTEM_ID",
            POAUtil.convert (null, ID_ASSIGNMENT_POLICY_ID.value)
        );
        assertEquals
        (
            "SYSTEM_ID",
            POAUtil.convert
            (
                new IdAssignmentPolicy (IdAssignmentPolicyValue.SYSTEM_ID),
                ID_ASSIGNMENT_POLICY_ID.value)
        );
        assertEquals
        (
            "USER_ID",
            POAUtil.convert
            (
                new IdAssignmentPolicy (IdAssignmentPolicyValue.USER_ID),
                ID_ASSIGNMENT_POLICY_ID.value)
        );
       
        // ServantRetentionPolicy
        assertEquals
        (
            "RETAIN",
            POAUtil.convert (null, SERVANT_RETENTION_POLICY_ID.value)
        );
        assertEquals
        (
            "RETAIN",
            POAUtil.convert
            (
                new ServantRetentionPolicy (ServantRetentionPolicyValue.RETAIN),
                SERVANT_RETENTION_POLICY_ID.value)
        );
        assertEquals
        (
            "NON_RETAIN",
            POAUtil.convert
            (
                new ServantRetentionPolicy (ServantRetentionPolicyValue.NON_RETAIN),
                SERVANT_RETENTION_POLICY_ID.value)
        );
       
        // RequestProcessingPolicy
        assertEquals
        (
            "USE_ACTIVE_OBJECT_MAP_ONLY",
            POAUtil.convert (null, REQUEST_PROCESSING_POLICY_ID.value)
        );
        assertEquals
        (
            "USE_ACTIVE_OBJECT_MAP_ONLY",
            POAUtil.convert
            (
                new RequestProcessingPolicy (RequestProcessingPolicyValue.USE_ACTIVE_OBJECT_MAP_ONLY),
                REQUEST_PROCESSING_POLICY_ID.value)
        );
        assertEquals
        (
            "USE_SERVANT_MANAGER",
            POAUtil.convert
            (
                new RequestProcessingPolicy (RequestProcessingPolicyValue.USE_SERVANT_MANAGER),
                REQUEST_PROCESSING_POLICY_ID.value)
        );
        assertEquals
        (
            "USE_DEFAULT_SERVANT",
            POAUtil.convert
            (
                new RequestProcessingPolicy (RequestProcessingPolicyValue.USE_DEFAULT_SERVANT),
                REQUEST_PROCESSING_POLICY_ID.value)
        );
       
        // ImplicitActicationPolicy
        assertEquals
        (
            "NO_IMPLICIT_ACTIVATION",
            POAUtil.convert (null, IMPLICIT_ACTIVATION_POLICY_ID.value)
        );
        assertEquals
        (
            "NO_IMPLICIT_ACTIVATION",
            POAUtil.convert
            (
                new ImplicitActivationPolicy (ImplicitActivationPolicyValue.NO_IMPLICIT_ACTIVATION),
                IMPLICIT_ACTIVATION_POLICY_ID.value)
        );
        assertEquals
        (
            "IMPLICIT_ACTIVATION",
            POAUtil.convert
            (
                new ImplicitActivationPolicy (ImplicitActivationPolicyValue.IMPLICIT_ACTIVATION),
                IMPLICIT_ACTIVATION_POLICY_ID.value)
        );
                       
    }
   
    private void do_mask_id (byte[] input, byte[] expected)
    {
        byte[] result = POAUtil.maskId (input);
        assertArraysEqual (expected, result);
    }
   
    private void do_mask_id (String input, String expected)
    {
        do_mask_id (input.getBytes(), expected.getBytes());
    }
   
    private void do_unmask_id (byte[] input, byte[] expected)
    {
        byte[] result = POAUtil.unmaskId (input);
        assertArraysEqual (expected, result);
    }
   
    private void do_unmask_id (String input, String expected)
    {
        do_unmask_id (input.getBytes(), expected.getBytes());
    }
   
    private void assertArraysEqual (byte[] expected, byte[] result)
    {
        if (!Arrays.equals (expected, result))
        {   
            throw new AssertionFailedError
            (
                "expected: <" + byteArrayToString (expected) + ">, but was: <"
                + byteArrayToString (result) + ">"
            );
        }
    }
   
    private String byteArrayToString (byte[] data)
    {
        StringBuffer result = new StringBuffer();
        for (int i=0; i<data.length; i++)
        {
            result.append (Integer.toHexString (data[i]));
            if (i < data.length-1) result.append (' ');
        }
        return result.toString();
    }
}
TOP

Related Classes of org.jacorb.test.poa.POAUtilTest

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.