xmlBlaster 2.2.0 API

org.xmlBlaster.test.qos
Class TestSubLostClient

java.lang.Object
  extended by junit.framework.Assert
      extended by junit.framework.TestCase
          extended by org.xmlBlaster.test.qos.TestSubLostClient
All Implemented Interfaces:
junit.framework.Test, I_Callback

public class TestSubLostClient
extends junit.framework.TestCase
implements I_Callback

This client tests if a subscribe still works when an other subcriber on the same messages disappears.

This bug was reported by "Stefan Nickisch"

Invoke examples:

  java org.xmlBlaster.Main

  java org.xmlBlaster.test.qos.TestSubLostClient -dispatch/connection/protocol IIOP

  java junit.textui.TestRunner org.xmlBlaster.test.qos.TestSubLostClient
  java junit.swingui.TestRunner org.xmlBlaster.test.qos.TestSubLostClient
 


Nested Class Summary
(package private)  class TestSubLostClient.Client
           
 
Field Summary
private  java.lang.String contentMime
           
private  java.lang.String contentMimeExtended
           
private  Global glob
           
private static java.util.logging.Logger log
           
private  TestSubLostClient.Client[] manyClients
           
private static java.lang.String ME
           
private  int numClients
           
private  int numReceived
           
private  I_XmlBlasterAccess oneConnection
           
private  java.lang.String oneName
           
private  java.lang.String publishOid1
           
private  StopWatch stopWatch
           
 
Constructor Summary
TestSubLostClient(Global glob, java.lang.String testName, java.lang.String loginName)
          Constructs the TestSubLostClient object.
 
Method Summary
static void main(java.lang.String[] args)
          Deprecated. Use the TestRunner from the testsuite to run it:

   java -Djava.compiler= junit.textui.TestRunner org.xmlBlaster.test.qos.TestSubLostClient
 void publishOne()
          TEST: Construct a message and publish it.
protected  void setUp()
          Sets up the fixture.
static junit.framework.Test suite()
          Method is used by TestRunner to load these tests
 void susbcribeMany()
          Many clients subscribe to a message.
protected  void tearDown()
          Tears down the fixture.
 void testManyClients()
          TEST: Construct a message and publish it, all clients should receive an update.
 java.lang.String update(java.lang.String cbSessionId, UpdateKey updateKey, byte[] content, UpdateQos updateQos)
          This is the callback method invoked from xmlBlaster delivering us a new asynchronous message.
 
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString
 
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ME

private static java.lang.String ME

glob

private final Global glob

log

private static java.util.logging.Logger log

publishOid1

private final java.lang.String publishOid1
See Also:
Constant Field Values

oneConnection

private I_XmlBlasterAccess oneConnection

oneName

private java.lang.String oneName

numReceived

private int numReceived

contentMime

private final java.lang.String contentMime
See Also:
Constant Field Values

contentMimeExtended

private final java.lang.String contentMimeExtended
See Also:
Constant Field Values

numClients

private int numClients

manyClients

private TestSubLostClient.Client[] manyClients

stopWatch

private StopWatch stopWatch
Constructor Detail

TestSubLostClient

public TestSubLostClient(Global glob,
                         java.lang.String testName,
                         java.lang.String loginName)
Constructs the TestSubLostClient object.

Parameters:
testName - The name used in the test suite
loginName - The name to login to the xmlBlaster
Method Detail

setUp

protected void setUp()
Sets up the fixture.

Connect to xmlBlaster and login

Overrides:
setUp in class junit.framework.TestCase

tearDown

protected void tearDown()
Tears down the fixture.

cleaning up .... erase() the previous message OID and logout

Overrides:
tearDown in class junit.framework.TestCase

susbcribeMany

public void susbcribeMany()
Many clients subscribe to a message.


publishOne

public void publishOne()
TEST: Construct a message and publish it.

The returned publishOid1 is checked


testManyClients

public void testManyClients()
TEST: Construct a message and publish it, all clients should receive an update.


update

public java.lang.String update(java.lang.String cbSessionId,
                               UpdateKey updateKey,
                               byte[] content,
                               UpdateQos updateQos)
This is the callback method invoked from xmlBlaster delivering us a new asynchronous message.

Specified by:
update in interface I_Callback
Parameters:
cbSessionId - The session ID specified by the client which registered the callback. You can specify a cbSessionId during connection (with ConnectQos) and this is bounced back here so you can authenticate the message.
updateKey - The arrived key containing the topic name
content - The arrived message content. This is your payload.
See Also:
I_Callback.update(String, UpdateKey, byte[], UpdateQos)

suite

public static junit.framework.Test suite()
Method is used by TestRunner to load these tests


main

public static void main(java.lang.String[] args)
Deprecated. Use the TestRunner from the testsuite to run it:

   java -Djava.compiler= junit.textui.TestRunner org.xmlBlaster.test.qos.TestSubLostClient

Invoke: java org.xmlBlaster.test.qos.TestSubLostClient


xmlBlaster 2.2.0 API

Copyright © 1999-2014 The xmlBlaster.org contributers.