Package org.jacorb.test.notification.common

Source Code of org.jacorb.test.notification.common.NotifyServerTestCase

/*
*        JacORB - a free Java ORB
*
*   Copyright (C) 1999-2004 Gerald Brose
*
*   This library is free software; you can redistribute it and/or
*   modify it under the terms of the GNU Library General Public
*   License as published by the Free Software Foundation; either
*   version 2 of the License, or (at your option) any later version.
*
*   This library 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
*   Library General Public License for more details.
*
*   You should have received a copy of the GNU Library General Public
*   License along with this library; if not, write to the Free
*   Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
*/

package org.jacorb.test.notification.common;

import junit.framework.Test;

import org.jacorb.test.common.ClientServerTestCase;
import org.jacorb.test.common.TestUtils;
import org.omg.CORBA.IntHolder;
import org.omg.CORBA.ORB;
import org.omg.CosNotification.Property;
import org.omg.CosNotification.UnsupportedAdmin;
import org.omg.CosNotification.UnsupportedQoS;
import org.omg.CosNotifyChannelAdmin.EventChannel;
import org.omg.CosNotifyChannelAdmin.EventChannelFactory;
import org.omg.CosNotifyChannelAdmin.EventChannelFactoryHelper;
import org.omg.CosNotifyFilter.Filter;

/**
* base class for notification service integration tests.
* this setup class will start a notification service in another
* process.
*
* @author Alphonse Bendt
* @version $Id: NotifyServerTestCase.java,v 1.5 2005/12/04 22:19:27 alphonse.bendt Exp $
*/
public abstract class NotifyServerTestCase extends ClientServerTestCase
{
    public NotifyServerTestCase(String name, NotifyServerTestSetup setup)
    {
        super(name, setup);
    }

    /**
     * access the EventChannelFactory
     */
    public final EventChannelFactory getEventChannelFactory()
    {
        EventChannelFactory channelFactory = EventChannelFactoryHelper.narrow(setup
                .getServerObject());

        return channelFactory;
    }

    /**
     * creates an EventChannel with default settings
     */
    public EventChannel getDefaultChannel() throws UnsupportedAdmin, UnsupportedQoS
    {
        return getEventChannelFactory().create_channel(new Property[0], new Property[0],
                new IntHolder());
    }

    public final void setUp() throws Exception
    {
        super.setUp();

        setUpTest();
    }

    /**
     * do local test setup
     */
    protected void setUpTest() throws Exception
    {
        // no op
    }

    public static Test suite(Class clazz) throws Exception
    {
        return suite("TestSuite defined in Class " + clazz.getName(), clazz);
    }

    public static Test suite(String suiteName, Class clazz) throws Exception
    {
        return suite(suiteName, clazz, "test");
    }

    public static Test suite(String suiteName, Class clazz, String testMethodPrefix)
            throws Exception
    {
        return TestUtils.suite(clazz, NotifyServerTestSetup.class, suiteName, testMethodPrefix);
    }

    /**
     * access an ORB instance
     */
    public ORB getClientORB()
    {
        return setup.getClientOrb();
    }
   
    public Filter createFilter() throws Exception
    {
        return getDefaultChannel().default_filter_factory().create_filter("EXTENDED_TCL");
    }
}
TOP

Related Classes of org.jacorb.test.notification.common.NotifyServerTestCase

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.