xmlBlaster 2.2.0 API

org.xmlBlaster.test.qos
Class TestPtDQueue

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

public class TestPtDQueue
extends junit.framework.TestCase
implements I_Callback

This client tests the PtP (or PtD = point to destination) style, William sends to Averell a message.

Note that the two clients (client logins) are simulated in this class.
William is the 'sender' and Averell the 'receiver'
Averell is not online when William sends the message, and will receive the message from his queue in the xmlBlaster when he logs in.

A second test checks if there is an Exception thrown, if the receiver is not logged in and the is not set. Invoke examples:

    java junit.textui.TestRunner org.xmlBlaster.test.qos.TestPtDQueue

    java junit.swingui.TestRunner -noloading org.xmlBlaster.test.qos.TestPtDQueue
 


Field Summary
private  Global glob
           
private static java.util.logging.Logger log
           
private static java.lang.String ME
           
private  boolean messageArrived
           
private  int numReceived
           
private  java.lang.String passwd
           
private  java.lang.String publishOid
           
private  I_XmlBlasterAccess receiverConnection
           
private  java.lang.String receiverName
           
private  I_XmlBlasterAccess senderConnection
           
private  java.lang.String senderContent
           
private  java.lang.String senderName
           
 
Constructor Summary
TestPtDQueue(Global glob, java.lang.String testName)
          Constructs the TestPtDQueue 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.TestPtDQueue
protected  void setUp()
          Sets up the fixture.
static junit.framework.Test suite()
          Method is used by TestRunner to load these tests
protected  void tearDown()
          Tears down the fixture.
 void testPtUnknownDestination()
          TEST: Sending a message to a not logged in client, which logs in later.
 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.
private  void waitOnUpdate(long timeout)
          Little helper, waits until the variable 'messageArrive' is set to true, or returns when the given timeout occurs.
 
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 final java.lang.String ME
See Also:
Constant Field Values

glob

private final Global glob

log

private static java.util.logging.Logger log

senderName

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

publishOid

private java.lang.String publishOid

senderConnection

private I_XmlBlasterAccess senderConnection

senderContent

private java.lang.String senderContent

receiverName

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

receiverConnection

private I_XmlBlasterAccess receiverConnection

passwd

private java.lang.String passwd

numReceived

private int numReceived

messageArrived

private boolean messageArrived
Constructor Detail

TestPtDQueue

public TestPtDQueue(Global glob,
                    java.lang.String testName)
Constructs the TestPtDQueue 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.

Creates a CORBA connection and does a login.
- One connection for the sender client

Overrides:
setUp in class junit.framework.TestCase

tearDown

protected void tearDown()
Tears down the fixture.

cleaning up .... logout

Overrides:
tearDown in class junit.framework.TestCase

testPtUnknownDestination

public void testPtUnknownDestination()
TEST: Sending a message to a not logged in client, which logs in later.

The sent message will be stored in a xmlBlaster queue for this client and than delivered only if the <destination forceQueuing='true' is set.


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)

waitOnUpdate

private void waitOnUpdate(long timeout)
Little helper, waits until the variable 'messageArrive' is set to true, or returns when the given timeout occurs.

Parameters:
timeout - in milliseconds

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.TestPtDQueue

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


xmlBlaster 2.2.0 API

Copyright © 1999-2014 The xmlBlaster.org contributers.