xmlBlaster 2.2.0 API

org.xmlBlaster.test.qos
Class TestSubNoLocal

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

public class TestSubNoLocal
extends junit.framework.TestCase
implements I_Callback

This client tests a subscribe() with local=false to avoid receiving its own publishes.
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.TestSubNoLocal
    java junit.swingui.TestRunner -noloading org.xmlBlaster.test.qos.TestSubNoLocal
 

See Also:
interface subscribe requirement

Field Summary
private  I_XmlBlasterAccess connection
           
private  Global glob
           
private static java.util.logging.Logger log
           
private static java.lang.String ME
           
private  java.lang.String publishOid
           
private  java.lang.String subscribeId1
           
private  java.lang.String subscribeId2
           
private  MsgInterceptor updateInterceptor1
           
private  MsgInterceptor updateInterceptor2
           
 
Constructor Summary
TestSubNoLocal(Global glob, java.lang.String testName)
          Constructs the TestSubNoLocal object.
 
Method Summary
private  void connect()
           
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.TestSubNoLocal
 void publish()
          Construct a message and publish it.
protected  void setUp()
          Sets up the fixture.
 void subscribe()
          Subscribe twice to the same message, one time with <local>false</local>
static junit.framework.Test suite()
          Method is used by TestRunner to load these tests
protected  void tearDown()
          Tears down the fixture.
 void testLocalUpdates()
          TEST: Construct a message and publish it, the first subscription shouldn't receive the message as local==false
 void unSubscribe()
          unSubscribe twice to same message.
 java.lang.String update(java.lang.String cbSessionId, UpdateKey updateKey, byte[] content, UpdateQos updateQos)
          This is the callback method invoked from I_XmlBlasterAccess informing the client in an asynchronous mode about a new 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

subscribeId1

private java.lang.String subscribeId1

updateInterceptor1

private MsgInterceptor updateInterceptor1

subscribeId2

private java.lang.String subscribeId2

updateInterceptor2

private MsgInterceptor updateInterceptor2

publishOid

private java.lang.String publishOid

connection

private I_XmlBlasterAccess connection
Constructor Detail

TestSubNoLocal

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

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

setUp

protected void setUp()
Sets up the fixture.

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

subscribe

public void subscribe()
Subscribe twice to the same message, one time with <local>false</local>


publish

public void publish()
Construct a message and publish it.


unSubscribe

public void unSubscribe()
unSubscribe twice to same message.


connect

private void connect()

testLocalUpdates

public void testLocalUpdates()
TEST: Construct a message and publish it, the first subscription shouldn't receive the message as local==false


update

public java.lang.String update(java.lang.String cbSessionId,
                               UpdateKey updateKey,
                               byte[] content,
                               UpdateQos updateQos)
Description copied from interface: I_Callback
This is the callback method invoked from I_XmlBlasterAccess informing the client in an asynchronous mode about a new message.

So you should implement in your client code the I_Callback interface - suppling the update() method where you can do with the message whatever you want.

The raw protocol driver specific update() method (e.g. CORBA-BlasterCallback.update()) is unpacked and for each arrived message this update is called.

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

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


xmlBlaster 2.2.0 API

Copyright © 1999-2014 The xmlBlaster.org contributers.