xmlBlaster 2.2.0 API

org.xmlBlaster.test.qos
Class TestSubNewestOnly

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

public class TestSubNewestOnly
extends junit.framework.TestCase
implements I_Callback

This client tests the method subscribe() with a later publish() with XPath query.
The subscribe() should be recognized for this later arriving publish()

This client may be invoked multiple time on the same xmlBlaster server, as it cleans up everything after his tests are done.

Invoke examples:

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


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 publishOid
           
private  I_XmlBlasterAccess receiverConnection
           
private  java.lang.String receiverName
           
private  I_XmlBlasterAccess senderConnection
           
private  java.lang.String senderContent
           
private  java.lang.String senderName
           
private  java.lang.String subscribeOid
           
 
Constructor Summary
TestSubNewestOnly(Global glob, java.lang.String testName)
          Constructs the TestSub object.
 
Method Summary
private  void connectSubscriber()
           
private  void erase(boolean check)
           
static void main(java.lang.String[] args)
          Invoke: java org.xmlBlaster.test.qos.TestSubNewestOnly
 void publishThree()
           
protected  void setUp()
          Connect to xmlBlaster and login
 void subscribe()
           
static junit.framework.Test suite()
          Method is used by TestRunner to load these tests
protected  void tearDown()
          Tears down the fixture.
 void testNewestOnly()
          TEST: Construct a message and publish it,
the previous XPath subscription should match and send 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.
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 java.lang.String ME

glob

private final Global glob

log

private static java.util.logging.Logger log

messageArrived

private boolean messageArrived

subscribeOid

private java.lang.String subscribeOid

publishOid

private java.lang.String publishOid

senderConnection

private I_XmlBlasterAccess senderConnection

senderName

private java.lang.String senderName

senderContent

private java.lang.String senderContent

receiverName

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

receiverConnection

private I_XmlBlasterAccess receiverConnection

numReceived

private int numReceived
Constructor Detail

TestSubNewestOnly

public TestSubNewestOnly(Global glob,
                         java.lang.String testName)
Constructs the TestSub object.

Parameters:
testName - The name used in the test suite
Method Detail

setUp

protected void setUp()
Connect to xmlBlaster and login

Overrides:
setUp in class junit.framework.TestCase

connectSubscriber

private void connectSubscriber()

erase

private void erase(boolean check)

tearDown

protected void tearDown()
Tears down the fixture.

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

Overrides:
tearDown in class junit.framework.TestCase

subscribe

public void subscribe()

publishThree

public void publishThree()

testNewestOnly

public void testNewestOnly()
                    throws java.lang.InterruptedException
TEST: Construct a message and publish it,
the previous XPath subscription should match and send an update.

Throws:
java.lang.InterruptedException

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
 java -Djava.compiler= junit.textui.TestRunner org.xmlBlaster.test.qos.TestSubNewestOnly
 


main

public static void main(java.lang.String[] args)
                 throws java.lang.InterruptedException
Invoke: java org.xmlBlaster.test.qos.TestSubNewestOnly

Throws:
java.lang.InterruptedException

xmlBlaster 2.2.0 API

Copyright © 1999-2014 The xmlBlaster.org contributers.