1 20 package org.apache.mina.integration.spring; 21 22 import java.util.Arrays ; 23 import java.util.LinkedList ; 24 25 import org.apache.mina.common.DefaultIoFilterChainBuilder; 26 import org.apache.mina.common.IoFilter; 27 import org.apache.mina.common.IoFilterChain; 28 import org.easymock.MockControl; 29 30 import junit.framework.TestCase; 31 32 38 public class DefaultIoFilterChainBuilderFactoryBeanTest extends TestCase { 39 MockControl mockChain; 40 41 IoFilterChain chain; 42 43 IoFilter[] filters; 44 45 protected void setUp() throws Exception { 46 super.setUp(); 47 48 mockChain = MockControl.createControl(IoFilterChain.class); 49 chain = (IoFilterChain) mockChain.getMock(); 50 filters = new IoFilter[] { 51 (IoFilter) MockControl.createControl(IoFilter.class).getMock(), 52 (IoFilter) MockControl.createControl(IoFilter.class).getMock(), 53 (IoFilter) MockControl.createControl(IoFilter.class).getMock() }; 54 } 55 56 public void testUnnamedFilters() throws Exception { 57 chain.addLast("prefix0", filters[0]); 58 chain.addLast("prefix1", filters[1]); 59 chain.addLast("prefix2", filters[2]); 60 61 mockChain.replay(); 62 63 DefaultIoFilterChainBuilderFactoryBean factory = new DefaultIoFilterChainBuilderFactoryBean(); 64 factory.setFilters(Arrays.asList(filters)); 65 factory.setFilterNamePrefix("prefix"); 66 DefaultIoFilterChainBuilder builder = (DefaultIoFilterChainBuilder) factory 67 .createInstance(); 68 builder.buildFilterChain(chain); 69 70 mockChain.verify(); 71 } 72 73 @SuppressWarnings ("unchecked") 74 public void testIllegalObjectsInFilterList() throws Exception { 75 LinkedList mappings = new LinkedList (); 76 mappings.add(new IoFilterMapping("f0", filters[0])); 77 mappings.add(new Object ()); 78 DefaultIoFilterChainBuilderFactoryBean factory = new DefaultIoFilterChainBuilderFactoryBean(); 79 try { 80 factory.setFilters(mappings); 81 fail("Illegal object in list of filters. IllegalArgumentException expected."); 82 } catch (IllegalArgumentException iae) { 83 } 84 } 85 86 @SuppressWarnings ("unchecked") 87 public void testNamedAndUnnamedFilters() throws Exception { 88 LinkedList mappings = new LinkedList (); 89 mappings.add(new IoFilterMapping("f0", filters[0])); 90 mappings.add(filters[1]); 91 mappings.add(new IoFilterMapping("f2", filters[2])); 92 93 chain.addLast("f0", filters[0]); 94 chain.addLast("filter1", filters[1]); 95 chain.addLast("f2", filters[2]); 96 97 mockChain.replay(); 98 99 DefaultIoFilterChainBuilderFactoryBean factory = new DefaultIoFilterChainBuilderFactoryBean(); 100 factory.setFilters(mappings); 101 DefaultIoFilterChainBuilder builder = (DefaultIoFilterChainBuilder) factory 102 .createInstance(); 103 builder.buildFilterChain(chain); 104 105 mockChain.verify(); 106 } 107 } 108 | Popular Tags |