BlacktieStompAdministrationServiceTest.java
上传用户:xfwatch
上传日期:2020-12-14
资源大小:872k
文件大小:3k
源码类别:

中间件编程

开发平台:

Java

  1. /*
  2.  * JBoss, Home of Professional Open Source
  3.  * Copyright 2008, Red Hat, Inc., and others contributors as indicated
  4.  * by the @authors tag. All rights reserved.
  5.  * See the copyright.txt in the distribution for a
  6.  * full listing of individual contributors.
  7.  * This copyrighted material is made available to anyone wishing to use,
  8.  * modify, copy, or redistribute it subject to the terms and conditions
  9.  * of the GNU Lesser General Public License, v. 2.1.
  10.  * This program is distributed in the hope that it will be useful, but WITHOUT A
  11.  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  12.  * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  13.  * You should have received a copy of the GNU Lesser General Public License,
  14.  * v.2.1 along with this distribution; if not, write to the Free Software
  15.  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  16.  * MA  02110-1301, USA.
  17.  */
  18. package org.jboss.blacktie.administration;
  19. import junit.framework.TestCase;
  20. import org.jboss.blacktie.jatmibroker.core.conf.ConfigurationException;
  21. import org.jboss.blacktie.jatmibroker.xatmi.Connection;
  22. import org.jboss.blacktie.jatmibroker.xatmi.ConnectionException;
  23. import org.jboss.blacktie.jatmibroker.xatmi.ConnectionFactory;
  24. import org.jboss.blacktie.jatmibroker.xatmi.Response;
  25. import org.jboss.blacktie.jatmibroker.xatmi.X_OCTET;
  26. public class BlacktieStompAdministrationServiceTest extends TestCase {
  27. private Connection connection;
  28. public void setUp() throws ConnectionException, ConfigurationException {
  29. ConnectionFactory connectionFactory = ConnectionFactory
  30. .getConnectionFactory();
  31. connection = connectionFactory.getConnection();
  32. }
  33. public void tearDown() throws ConnectionException, ConfigurationException {
  34. connection.close();
  35. }
  36. public void test() throws ConnectionException {
  37. processCommand("tpadvertise,foo,FOOTest,2.0.0.M3,", 1);
  38. try {
  39. connection.tpacall("FOOTest", null, 0, Connection.TPNOREPLY);
  40. } catch (ConnectionException e) {
  41. fail("Was not able to send the request : " + e.getMessage());
  42. }
  43. processCommand("tpunadvertise,foo,FOOTest,", 1);
  44. try {
  45. connection.tpcall("FOOTest", null, 0, Connection.TPNOREPLY);
  46. fail("Was able to send the request");
  47. } catch (ConnectionException e) {
  48. // EXPECTED
  49. }
  50. processCommand("tpadvertise,foo,FOOTest,2.0.0.M3,", 1);
  51. try {
  52. connection.tpacall("FOOTest", null, 0, Connection.TPNOREPLY);
  53. } catch (ConnectionException e) {
  54. fail("Was not able to send the request : " + e.getMessage());
  55. }
  56. processCommand("tpunadvertise,foo,FOOTest,", 1);
  57. }
  58. public void testUnknownService() throws ConnectionException {
  59. processCommand("tpadvertise,foo,UNKNOWN_SERVICE,2.0.0.M3,", 0);
  60. }
  61. public void testWrongVersionService() throws ConnectionException {
  62. processCommand("tpadvertise,foo,FOOTest,WrongVersion,", 4);
  63. }
  64. private void processCommand(String command, int expectation)
  65. throws ConnectionException {
  66. byte[] toSend = command.getBytes();
  67. X_OCTET buffer = (X_OCTET) connection.tpalloc("X_OCTET", null);
  68. buffer.setByteArray(toSend);
  69. Response response = connection.tpcall("BTStompAdmin", buffer, buffer
  70. .getByteArray().length, 0);
  71. byte[] responseData = ((X_OCTET) response.getBuffer()).getByteArray();
  72. assertEquals(expectation, responseData[0]);
  73. }
  74. }