You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by tr...@apache.org on 2005/11/14 08:38:00 UTC

svn commit: r344069 [2/2] - in /directory/network/trunk: ./ src/java/org/apache/mina/integration/ src/java/org/apache/mina/integration/spring/ src/java/org/apache/mina/integration/spring/support/ src/java/org/apache/mina/transport/socket/nio/ src/test/...

Propchange: directory/network/trunk/src/test/org/apache/mina/integration/spring/support/AbstractIoAcceptorFactoryBeanTest.java
------------------------------------------------------------------------------
    svn:keywords = HeadURL Id LastChangedBy LastChangedDate LastChangedRevision

Added: directory/network/trunk/src/test/org/apache/mina/integration/spring/support/AbstractIoConnectorFactoryBeanTest.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/test/org/apache/mina/integration/spring/support/AbstractIoConnectorFactoryBeanTest.java?rev=344069&view=auto
==============================================================================
--- directory/network/trunk/src/test/org/apache/mina/integration/spring/support/AbstractIoConnectorFactoryBeanTest.java (added)
+++ directory/network/trunk/src/test/org/apache/mina/integration/spring/support/AbstractIoConnectorFactoryBeanTest.java Sun Nov 13 23:37:37 2005
@@ -0,0 +1,147 @@
+/*
+ *   @(#) $Id$
+ *
+ *   Copyright 2004 The Apache Software Foundation
+ *
+ *   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 org.apache.mina.integration.spring.support;
+
+import java.lang.reflect.Method;
+
+import junit.framework.TestCase;
+
+import org.apache.mina.common.IoConnector;
+import org.apache.mina.common.IoSessionManager;
+import org.easymock.MockControl;
+import org.easymock.classextension.MockClassControl;
+
+/**
+ * Tests
+ * {@link org.apache.mina.integration.spring.support.AbstractIoConnectorFactoryBean}.
+ * 
+ * @author The Apache Directory Project (dev@directory.apache.org)
+ * @version $Rev$, $Date$
+ */
+public class AbstractIoConnectorFactoryBeanTest extends TestCase
+{
+    MockControl mockFactory;
+
+    AbstractIoConnectorFactoryBean factory;
+
+    MockControl mockIoConnector;
+
+    IoConnector ioConnector;
+
+    protected void setUp() throws Exception
+    {
+        /*
+         * Create the object to be tested. We're using EasyMock to mock some of
+         * the methods in the super class since we're already testing those in
+         * AbstractIoSessionManagerFactoryBeanTest and we don't want to test
+         * them in this test again.
+         */
+        mockFactory = MockClassControl
+                .createControl(
+                        TestIoConnectorFactoryBean.class,
+                        new Method[] {
+                                TestIoConnectorFactoryBean.class
+                                        .getDeclaredMethod(
+                                                "createIoConnector",
+                                                new Class[ 0 ] ),
+                                AbstractIoSessionManagerFactoryBean.class
+                                        .getDeclaredMethod(
+                                                "initIoSessionManager",
+                                                new Class[] { IoSessionManager.class } ),
+                                AbstractIoSessionManagerFactoryBean.class
+                                        .getDeclaredMethod(
+                                                "destroyIoSessionManager",
+                                                new Class[] { IoSessionManager.class } ) } );
+
+        factory = ( AbstractIoConnectorFactoryBean ) mockFactory.getMock();
+
+        /*
+         * Create other EasyMock mocks.
+         */
+        mockIoConnector = MockControl.createControl( IoConnector.class );
+        ioConnector = ( IoConnector ) mockIoConnector.getMock();
+    }
+
+    public void testCreateInstance() throws Exception
+    {
+        /*
+         * Record expectations.
+         */
+        factory.createIoConnector();
+        mockFactory.setReturnValue( ioConnector );
+        factory.initIoSessionManager( ioConnector );
+        ioConnector.setConnectTimeout( 30 );
+
+        /*
+         * Replay.
+         */
+        mockIoConnector.replay();
+        mockFactory.replay();
+
+        factory.setConnectTimeout( 30 );
+        Object o = factory.createInstance();
+
+        /*
+         * Verify.
+         */
+        mockIoConnector.verify();
+        mockFactory.verify();
+
+        assertSame( ioConnector, o );
+    }
+
+    public void testDestroyInstance() throws Exception
+    {
+        /*
+         * Record expectations.
+         */
+        factory.destroyIoSessionManager( ioConnector );
+
+        /*
+         * Replay.
+         */
+        mockFactory.replay();
+
+        factory.destroyInstance( ioConnector );
+
+        /*
+         * Verify.
+         */
+        mockFactory.verify();
+    }
+
+    public void testGetObjectType() throws Exception
+    {
+        AbstractIoConnectorFactoryBean factory = new TestIoConnectorFactoryBean();
+        assertSame( IoConnector.class, factory.getObjectType() );
+    }
+
+    /*
+     * We need a concrete class to test.
+     */
+    public static class TestIoConnectorFactoryBean extends
+            AbstractIoConnectorFactoryBean
+    {
+        protected IoConnector createIoConnector()
+        {
+            // Don't care. This method will be mocked.
+            return null;
+        }
+    }
+}

Propchange: directory/network/trunk/src/test/org/apache/mina/integration/spring/support/AbstractIoConnectorFactoryBeanTest.java
------------------------------------------------------------------------------
    svn:keywords = HeadURL Id LastChangedBy LastChangedDate LastChangedRevision

Added: directory/network/trunk/src/test/org/apache/mina/integration/spring/support/AbstractIoSessionManagerFactoryBeanTest.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/test/org/apache/mina/integration/spring/support/AbstractIoSessionManagerFactoryBeanTest.java?rev=344069&view=auto
==============================================================================
--- directory/network/trunk/src/test/org/apache/mina/integration/spring/support/AbstractIoSessionManagerFactoryBeanTest.java (added)
+++ directory/network/trunk/src/test/org/apache/mina/integration/spring/support/AbstractIoSessionManagerFactoryBeanTest.java Sun Nov 13 23:37:37 2005
@@ -0,0 +1,306 @@
+/*
+ *   @(#) $Id$
+ *
+ *   Copyright 2004 The Apache Software Foundation
+ *
+ *   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 org.apache.mina.integration.spring.support;
+
+import junit.framework.TestCase;
+
+import org.apache.mina.common.ExceptionMonitor;
+import org.apache.mina.common.IoFilter;
+import org.apache.mina.common.IoFilterChain;
+import org.apache.mina.common.IoSessionManager;
+import org.apache.mina.integration.spring.IoFilterMapping;
+import org.easymock.MockControl;
+
+/**
+ * Tests
+ * {@link org.apache.mina.integration.spring.support.AbstractIoSessionManagerFactoryBean}.
+ * 
+ * @author The Apache Directory Project (dev@directory.apache.org)
+ * @version $Rev$, $Date$
+ */
+public class AbstractIoSessionManagerFactoryBeanTest extends TestCase
+{
+    AbstractIoSessionManagerFactoryBean factory;
+
+    protected void setUp() throws Exception
+    {
+        /*
+         * Create the object under test.
+         */
+        factory = new AbstractIoSessionManagerFactoryBean()
+        {
+            public Class getObjectType()
+            {
+                // Don't care
+                return null;
+            }
+
+            protected Object createInstance() throws Exception
+            {
+                // Don't care
+                return null;
+            }
+        };
+    }
+
+    /**
+     * Tests that
+     * {@link AbstractIoSessionManagerFactoryBean#initIoSessionManager(IoSessionManager)}
+     * initializes the filter chain in the expected order and using auto
+     * generated names.
+     */
+    public void testInitNoExceptionMonitorUnamedFilters() throws Exception
+    {
+        /*
+         * Create EasyMock mocks.
+         */
+        MockControl mockIoFilterChain = MockControl
+                .createStrictControl( IoFilterChain.class );
+        MockControl mockIoSessionManager = MockControl
+                .createControl( IoSessionManager.class );
+
+        IoFilter[] filters = new IoFilter[] {
+                ( IoFilter ) MockControl.createControl( IoFilter.class )
+                        .getMock(),
+                ( IoFilter ) MockControl.createControl( IoFilter.class )
+                        .getMock(),
+                ( IoFilter ) MockControl.createControl( IoFilter.class )
+                        .getMock() };
+
+        IoSessionManager ioSessionManager = ( IoSessionManager ) mockIoSessionManager
+                .getMock();
+        IoFilterChain ioFilterChain = ( IoFilterChain ) mockIoFilterChain
+                .getMock();
+
+        /*
+         * Record expectations.
+         */
+        ioFilterChain.addLast( "filter0", filters[ 0 ] );
+        ioFilterChain.addLast( "filter1", filters[ 1 ] );
+        ioFilterChain.addLast( "filter2", filters[ 2 ] );
+
+        ioSessionManager.getFilterChain();
+        mockIoSessionManager.setReturnValue( mockIoFilterChain.getMock() );
+
+        /*
+         * Replay.
+         */
+        mockIoFilterChain.replay();
+        mockIoSessionManager.replay();
+
+        factory.setFilters( filters );
+        factory.initIoSessionManager( ioSessionManager );
+
+        /*
+         * Verify.
+         */
+        mockIoFilterChain.verify();
+        mockIoSessionManager.verify();
+    }
+
+    /**
+     * Tests that
+     * {@link AbstractIoSessionManagerFactoryBean#initIoSessionManager(IoSessionManager)}
+     * initializes the filter chain in the expected order and using the
+     * specified names.
+     */
+    public void testInitNoExceptionMonitorNamedFilters() throws Exception
+    {
+        /*
+         * Create EasyMock mocks.
+         */
+        MockControl mockIoFilterChain = MockControl
+                .createStrictControl( IoFilterChain.class );
+        MockControl mockIoSessionManager = MockControl
+                .createControl( IoSessionManager.class );
+
+        IoFilterMapping[] mappings = new IoFilterMapping[] {
+                new IoFilterMapping( "first", ( IoFilter ) MockControl
+                        .createControl( IoFilter.class ).getMock() ),
+                new IoFilterMapping( "second", ( IoFilter ) MockControl
+                        .createControl( IoFilter.class ).getMock() ),
+                new IoFilterMapping( "third", ( IoFilter ) MockControl
+                        .createControl( IoFilter.class ).getMock() ) };
+
+        IoSessionManager ioSessionManager = ( IoSessionManager ) mockIoSessionManager
+                .getMock();
+        IoFilterChain ioFilterChain = ( IoFilterChain ) mockIoFilterChain
+                .getMock();
+
+        /*
+         * Record expectations.
+         */
+        ioFilterChain.addLast( "first", mappings[ 0 ].getFilter() );
+        ioFilterChain.addLast( "second", mappings[ 1 ].getFilter() );
+        ioFilterChain.addLast( "third", mappings[ 2 ].getFilter() );
+
+        ioSessionManager.getFilterChain();
+        mockIoSessionManager.setReturnValue( mockIoFilterChain.getMock() );
+
+        /*
+         * Replay.
+         */
+        mockIoFilterChain.replay();
+        mockIoSessionManager.replay();
+
+        factory.setFilterMappings( mappings );
+        factory.initIoSessionManager( ioSessionManager );
+
+        /*
+         * Verify.
+         */
+        mockIoFilterChain.verify();
+        mockIoSessionManager.verify();
+    }
+
+    /**
+     * Tests that
+     * {@link AbstractIoSessionManagerFactoryBean#initIoSessionManager(IoSessionManager)}
+     * sets the configured ExceptionManager on the IoSessionManager.
+     */
+    public void testInitWithExceptionMonitor() throws Exception
+    {
+        /*
+         * Create EasyMock mocks.
+         */
+        MockControl mockIoSessionManager = MockControl
+                .createControl( IoSessionManager.class );
+
+        IoSessionManager ioSessionManager = ( IoSessionManager ) mockIoSessionManager
+                .getMock();
+        IoFilterChain ioFilterChain = ( IoFilterChain ) MockControl
+                .createControl( IoFilterChain.class ).getMock();
+        ExceptionMonitor exceptionMonitor = ( ExceptionMonitor ) MockControl
+                .createControl( ExceptionMonitor.class ).getMock();
+
+        /*
+         * Record expectations.
+         */
+        ioSessionManager.getFilterChain();
+        mockIoSessionManager.setReturnValue( ioFilterChain );
+        ioSessionManager.setExceptionMonitor( exceptionMonitor );
+
+        /*
+         * Replay.
+         */
+        mockIoSessionManager.replay();
+
+        factory.setExceptionMonitor( exceptionMonitor );
+        factory.initIoSessionManager( ioSessionManager );
+
+        /*
+         * Verify.
+         */
+        mockIoSessionManager.verify();
+    }
+
+    /**
+     * Tests that
+     * {@link AbstractIoSessionManagerFactoryBean#destroyIoSessionManager(IoSessionManager)}
+     * clears the filter chain of the IoSessionManager.
+     */
+    public void testDestroyIoSessionManager() throws Exception
+    {
+        /*
+         * Create EasyMock mocks.
+         */
+        MockControl mockIoFilterChain = MockControl
+                .createStrictControl( IoFilterChain.class );
+        MockControl mockIoSessionManager = MockControl
+                .createControl( IoSessionManager.class );
+
+        IoSessionManager ioSessionManager = ( IoSessionManager ) mockIoSessionManager
+                .getMock();
+        IoFilterChain ioFilterChain = ( IoFilterChain ) mockIoFilterChain
+                .getMock();
+
+        /*
+         * Record expectations.
+         */
+        ioSessionManager.getFilterChain();
+        mockIoSessionManager.setReturnValue( ioFilterChain );
+        ioFilterChain.clear();
+
+        /*
+         * Replay.
+         */
+        mockIoFilterChain.replay();
+        mockIoSessionManager.replay();
+
+        factory.destroyIoSessionManager( ioSessionManager );
+
+        /*
+         * Verify.
+         */
+        mockIoFilterChain.verify();
+        mockIoSessionManager.verify();
+    }
+
+    /**
+     * Tests that
+     * {@link AbstractIoSessionManagerFactoryBean#setFilters(IoFilter[])}
+     * validates the method arguments.
+     */
+    public void testSetIoFilters()
+    {
+        try
+        {
+            factory.setFilters( null );
+            fail( "null filters array set. IllegalArgumentException expected." );
+        }
+        catch( IllegalArgumentException iae )
+        {
+        }
+    }
+
+    /**
+     * Tests that
+     * {@link AbstractIoSessionManagerFactoryBean#setFilterMappings(IoFilterMapping[])}
+     * validates the method arguments.
+     */
+    public void testSetIoFilterMappings()
+    {
+        try
+        {
+            factory.setFilterMappings( null );
+            fail( "null filter mappings array set. IllegalArgumentException expected." );
+        }
+        catch( IllegalArgumentException iae )
+        {
+        }
+    }
+
+    /**
+     * Tests that
+     * {@link AbstractIoSessionManagerFactoryBean#setExceptionMonitor(ExceptionMonitor)}
+     * validates the method arguments.
+     */
+    public void testSetExceptionMonitor()
+    {
+        try
+        {
+            factory.setExceptionMonitor( null );
+            fail( "null exceptionMonitor set. IllegalArgumentException expected." );
+        }
+        catch( IllegalArgumentException iae )
+        {
+        }
+    }
+
+}

Propchange: directory/network/trunk/src/test/org/apache/mina/integration/spring/support/AbstractIoSessionManagerFactoryBeanTest.java
------------------------------------------------------------------------------
    svn:keywords = HeadURL Id LastChangedBy LastChangedDate LastChangedRevision