test.tck.msgflow
Class NonInviteClientTransactionsStateMachineTest

java.lang.Object
  extended by TestCase
      extended by test.tck.TestHarness
          extended by test.tck.msgflow.MessageFlowHarness
              extended by test.tck.msgflow.NonInviteClientTransactionsStateMachineTest

public class NonInviteClientTransactionsStateMachineTest
extends MessageFlowHarness

The test tries to verify that Non Invite Client Transactions correctly change states as specified by the rfc3261. The Tested Implementation is used to send requests and the ReferenceImplementation issues (or not) corresponding responses. ClientTransaction states are constantly queried and compared to those in the state machine described in section 17.1.2 of rfc3261


                                   | Request from TU
                                   | send request
               Timer E             V
               send request  +-----------+
                   +---------|           |-------------------+
                   |         |  Trying   |  Timer F          |
                   +-------->|           |  or Transport Err.|
                             +-----------+  inform TU        |
                200-699         |  |                         |
                resp. to TU     |  |1xx                      |
                +---------------+  |resp. to TU              |
                |                  |                         |
                |   Timer E        V       Timer F           |
                |   send req +-----------+ or Transport Err. |
                |  +---------|           | inform TU         |
                |  |         |Proceeding |------------------>|
                |  +-------->|           |-----+             |
                |            +-----------+     |1xx          |
                |              |      ^        |resp to TU   |
                | 200-699      |      +--------+             |
                | resp. to TU  |                             |
                |              |                             |
                |              V                             |
                |            +-----------+                   |
                |            |           |                   |
                |            | Completed |                   |
                |            |           |                   |
                |            +-----------+                   |
                |              ^   |                         |
                |              |   | Timer K                 |
                +--------------+   | -                       |
                                   |                         |
                                   V                         |
             NOTE:           +-----------+                   |
                             |           |                   |
         transitions         | Terminated|<------------------+
         labeled with        |           |
         the event           +-----------+
         over the action
         to take

                 Figure 6: non-INVITE client transaction

 TODO test timeout events

Version:
1.0
Author:
Emil Ivov Network Research Team, Louis Pasteur University, Strasbourg, France. This code is in the public domain.

Field Summary
 
Fields inherited from class test.tck.msgflow.MessageFlowHarness
counter, eventCollector, EXTENSION_HDR, MESSAGES_ARRIVE_FOR, RETRY_OBJECT_DELETES, RETRY_OBJECT_DELETES_AFTER, riListeningPoint, riSipProvider, riSipStack, STACKS_SHUT_DOWN_FOR, STACKS_START_FOR, tiListeningPoint, tiSipProvider, tiSipStack, TRANSACTION_TIMES_OUT_FOR
 
Fields inherited from class test.tck.TestHarness
ABORT_ON_FAIL, abortOnFail, console, IMPLEMENTATION_PATH, LOCAL_ADDRESS, LOG_FILE_NAME, logFileName, path, printWriter, RI_PORT, riAddressFactory, riFactory, riHeaderFactory, riMessageFactory, testCounter, testResult, TI_PORT, tiAddressFactory, tiFactory, tiHeaderFactory, tiMessageFactory
 
Constructor Summary
NonInviteClientTransactionsStateMachineTest(String name)
           
 
Method Summary
static Test suite()
           
 void testTryingCompletedTerminatedScenario()
          Tries to walk a TI client transaction through the following scenario Trying-->Completed-->Terminated.
 void testTryingProceedingCompletedTerminatedScenario()
          Tries to walk a TI client transaction through the following scenario Trying-->Proceeding-->Completed-->Terminated.
 
Methods inherited from class test.tck.msgflow.MessageFlowHarness
addStatus, addStatus, createRequest, createRiContact, createRiInviteRequest, createRiRegisterRequest, createTiContact, createTiInviteRequest, createTiRegisterRequest, setUp, sleep, tearDown, waitForMessage, waitForTimeout, waitLongForMessage, waitShortForMessage
 
Methods inherited from class test.tck.TestHarness
assertEquals, assertEquals, assertEquals, assertEquals, assertNotNull, assertNull, assertSame, assertTrue, assertTrue, checkImplementsInterface, fail, fail, fail, getImplementationPath, getRiProperties, getTiProperties, implementsInterface, logTestCompleted, logTestCompleted
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NonInviteClientTransactionsStateMachineTest

public NonInviteClientTransactionsStateMachineTest(String name)
Method Detail

testTryingProceedingCompletedTerminatedScenario

public void testTryingProceedingCompletedTerminatedScenario()
Tries to walk a TI client transaction through the following scenario Trying-->Proceeding-->Completed-->Terminated. Apart from state transitions, we also test, retransmissions and proper hiding/passing of messages to the TU.


testTryingCompletedTerminatedScenario

public void testTryingCompletedTerminatedScenario()
Tries to walk a TI client transaction through the following scenario Trying-->Completed-->Terminated. Apart from state transitions, we also test, retransmissions and proper hiding/passing of messages to the TU.


suite

public static Test suite()


Copyright © 2012. All Rights Reserved.