1 package org.sapia.ubik.net.mplex; 2 3 import junit.framework.TestCase; 4 5 import java.io.UnsupportedEncodingException ; 6 7 8 20 public class HttpStreamSelectorTest extends TestCase { 21 private static final byte[] ubikHeader; 22 private static final byte[] simpleHttpHeader; 23 private static final byte[] complexHttpHeader; 24 25 static { 26 byte[] data1 = new byte[0]; 27 byte[] data2 = new byte[0]; 28 byte[] data3 = new byte[0]; 29 30 try { 31 data1 = "UBIK!#@/$abcdefg".getBytes("UTF-8"); 32 data2 = "POST / HTTP/1.1\nHost: localhost\n".getBytes("UTF-8"); 33 data3 = "GET /server/mplex/test?param1=value1¶m2=value2 HTTP/1.1\nHost: localhost\n".getBytes( 34 "UTF-8"); 35 } catch (UnsupportedEncodingException e) { 36 e.printStackTrace(); 37 } finally { 38 ubikHeader = data1; 39 simpleHttpHeader = data2; 40 complexHttpHeader = data3; 41 } 42 } 43 44 47 public HttpStreamSelectorTest(String aName) { 48 super(aName); 49 } 50 51 public void testDefaultSelector() throws Exception { 52 HttpStreamSelector selector = new HttpStreamSelector(); 53 assertTrue(!selector.selectStream(ubikHeader)); 54 assertTrue(selector.selectStream(simpleHttpHeader)); 55 assertTrue(selector.selectStream(complexHttpHeader)); 56 } 57 58 public void testHttpMethodSelector() throws Exception { 59 HttpStreamSelector selector = new HttpStreamSelector("POST", null); 60 assertTrue(!selector.selectStream(ubikHeader)); 61 assertTrue(selector.selectStream(simpleHttpHeader)); 62 assertTrue(!selector.selectStream(complexHttpHeader)); 63 64 selector = new HttpStreamSelector("GET", null); 65 assertTrue(!selector.selectStream(ubikHeader)); 66 assertTrue(!selector.selectStream(simpleHttpHeader)); 67 assertTrue(selector.selectStream(complexHttpHeader)); 68 69 selector = new HttpStreamSelector("OPTIONS", null); 70 assertTrue(!selector.selectStream(ubikHeader)); 71 assertTrue(!selector.selectStream(simpleHttpHeader)); 72 assertTrue(!selector.selectStream(complexHttpHeader)); 73 } 74 75 public void testRequestPatternSelector() throws Exception { 76 HttpStreamSelector selector = new HttpStreamSelector(null, "/"); 77 assertTrue(!selector.selectStream(ubikHeader)); 78 assertTrue(selector.selectStream(simpleHttpHeader)); 79 assertTrue(selector.selectStream(complexHttpHeader)); 80 81 selector = new HttpStreamSelector(null, "/server/mplex"); 82 assertTrue(!selector.selectStream(ubikHeader)); 83 assertTrue(!selector.selectStream(simpleHttpHeader)); 84 assertTrue(selector.selectStream(complexHttpHeader)); 85 86 selector = new HttpStreamSelector(null, "/ubik"); 87 assertTrue(!selector.selectStream(ubikHeader)); 88 assertTrue(!selector.selectStream(simpleHttpHeader)); 89 assertTrue(!selector.selectStream(complexHttpHeader)); 90 } 91 92 public void testHttpMethodAndRequestPatternSelector() 93 throws Exception { 94 HttpStreamSelector selector = new HttpStreamSelector("POST", "/"); 95 assertTrue(!selector.selectStream(ubikHeader)); 96 assertTrue(selector.selectStream(simpleHttpHeader)); 97 assertTrue(!selector.selectStream(complexHttpHeader)); 98 99 selector = new HttpStreamSelector("GET", "/"); 100 assertTrue(!selector.selectStream(ubikHeader)); 101 assertTrue(!selector.selectStream(simpleHttpHeader)); 102 assertTrue(selector.selectStream(complexHttpHeader)); 103 104 selector = new HttpStreamSelector("POST", "/server/mplex"); 105 assertTrue(!selector.selectStream(ubikHeader)); 106 assertTrue(!selector.selectStream(simpleHttpHeader)); 107 assertTrue(!selector.selectStream(complexHttpHeader)); 108 109 selector = new HttpStreamSelector("GET", "/server/mplex"); 110 assertTrue(!selector.selectStream(ubikHeader)); 111 assertTrue(!selector.selectStream(simpleHttpHeader)); 112 assertTrue(selector.selectStream(complexHttpHeader)); 113 114 selector = new HttpStreamSelector("POST", "/ubik"); 115 assertTrue(!selector.selectStream(ubikHeader)); 116 assertTrue(!selector.selectStream(simpleHttpHeader)); 117 assertTrue(!selector.selectStream(complexHttpHeader)); 118 } 119 } 120 | Popular Tags |