xmlBlaster 2.2.0 API

org.xmlBlaster.test.authentication
Class TestSession

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

public class TestSession
extends junit.framework.TestCase
implements I_Callback

This client does test login sessions.
login/logout combinations are checked with subscribe()/publish() calls

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.authentication.TestSession
    java junit.swingui.TestRunner org.xmlBlaster.test.authentication.TestSession
 


Field Summary
private  Global glob
           
private static java.util.logging.Logger log
           
private  java.lang.String name
           
private  int numReceived
           
private  java.lang.String passwd
           
 
Constructor Summary
TestSession(Global glob, java.lang.String testName, java.lang.String name)
          Constructs the TestSession object.
 
Method Summary
static void main(java.lang.String[] args)
          Invoke:
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 testClearSession()
           
 void testSessionOverflow()
           
 void testSessionRefresh()
          We login with session timeout 2 sec and let it automatically refresh.
 void testSessionTimeout()
          We login with session timeout 1 sec and sleep for 2 sec.
 void testSessionTimeoutRespan()
          We login with session timeout 2 sec, call every 1000 millis get() which should respan the session timeout.
 void testZeroSessions()
           
 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, int numWait)
          Little helper, waits until the wanted number of messages are arrived 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

glob

private final Global glob

log

private static java.util.logging.Logger log

name

private java.lang.String name

passwd

private java.lang.String passwd

numReceived

private int numReceived
Constructor Detail

TestSession

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

Parameters:
testName - The name used in the test suite
name - 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

testZeroSessions

public void testZeroSessions()

testSessionOverflow

public void testSessionOverflow()

testSessionTimeout

public void testSessionTimeout()
We login with session timeout 1 sec and sleep for 2 sec. A get() invocation should fail since the session is expired.


testSessionRefresh

public void testSessionRefresh()
We login with session timeout 2 sec and let it automatically refresh. A get() invocation should fail since the session is expired.


testSessionTimeoutRespan

public void testSessionTimeoutRespan()
We login with session timeout 2 sec, call every 1000 millis get() which should respan the session timeout. If this goes well for 8 sec, the refresh seems to work


testClearSession

public void testClearSession()

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,
                          int numWait)
Little helper, waits until the wanted number of messages are arrived or returns when the given timeout occurs.

Parameters:
timeout - in milliseconds
numWait - how many messages to wait

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)
Invoke:
   java org.xmlBlaster.test.authentication.TestSession
   java -Djava.compiler= junit.textui.TestRunner org.xmlBlaster.test.authentication.TestSession
 


xmlBlaster 2.2.0 API

Copyright © 1999-2014 The xmlBlaster.org contributers.