| Home >> All >> org >> activemq >> transport >> [ stomp Javadoc ] |
Source code: org/activemq/transport/stomp/StompWireFormatTest.java
1 /* 2 * Copyright (c) 2005 Your Corporation. All Rights Reserved. 3 */ 4 package org.activemq.transport.stomp; 5 6 import junit.framework.TestCase; 7 import org.activemq.broker.BrokerContainer; 8 import org.activemq.broker.impl.BrokerContainerImpl; 9 import org.activemq.message.ConnectionInfo; 10 import org.activemq.message.Receipt; 11 import org.activemq.message.SessionInfo; 12 13 import javax.jms.JMSException; 14 import java.io.ByteArrayInputStream; 15 import java.io.ByteArrayOutputStream; 16 import java.io.DataInputStream; 17 import java.io.DataOutputStream; 18 19 public class StompWireFormatTest extends TestCase 20 { 21 private StompWireFormat wire; 22 23 public void setUp() throws Exception 24 { 25 wire = new StompWireFormat(); 26 } 27 28 public void testValidConnectHandshake() throws Exception 29 { 30 String connect_frame = "CONNECT\n" + 31 "login: brianm\n" + 32 "passcode: wombats\n" + 33 "\n" + 34 Stomp.NULL; 35 DataInputStream din = new DataInputStream(new ByteArrayInputStream(connect_frame.getBytes())); 36 ByteArrayOutputStream bout = new ByteArrayOutputStream(); 37 DataOutputStream dout = new DataOutputStream(bout); 38 39 wire.registerTransportStreams(dout, din); 40 wire.initiateServerSideProtocol(); 41 42 43 ConnectionInfo ci = (ConnectionInfo) wire.readPacket(din); 44 assertNotNull(ci); 45 assertTrue(ci.isReceiptRequired()); 46 47 Receipt cr = new Receipt(); 48 cr.setCorrelationId(ci.getId()); 49 wire.writePacket(cr, dout); 50 51 SessionInfo si = (SessionInfo) wire.readPacket(null); 52 assertNotNull(si); 53 assertTrue(si.isReceiptRequired()); 54 55 Receipt sr = new Receipt(); 56 sr.setCorrelationId(si.getId()); 57 wire.writePacket(sr, dout); 58 59 String response = new String(bout.toByteArray()); 60 assertTrue(response.startsWith("CONNECTED")); 61 } 62 63 public void _testFakeServer() throws Exception 64 { 65 final BrokerContainer container = new BrokerContainerImpl(); 66 new Thread(new Runnable() 67 { 68 public void run() 69 { 70 try 71 { 72 container.addConnector("tcp://127.0.0.1:61613", new StompWireFormat()); 73 container.start(); 74 } 75 catch (JMSException e) 76 { 77 System.err.println("ARGH"); 78 } 79 } 80 }).start(); 81 System.err.println("started container"); 82 System.err.println("okay, go play"); 83 84 System.err.println(System.in.read()); 85 } 86 }