test.tck.msgflow
Class NonInviteServerTransactionsStateMachineTest

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

public class NonInviteServerTransactionsStateMachineTest
extends MessageFlowHarness

The test tries to verify that Invite Server Transactions correctly change states as specified by the rfc3261. The Reference Implementation is used to send requests and a Tested Implementation ServerTransaction's states are queried and compared to those in the state machine described in section 17.2.1 of rfc3261


                        |Request received
                                  |pass to TU
                                  V
                            +-----------+
                            |           |
                            | Trying    |-------------+
                            |           |             |
                            +-----------+             |200-699 from TU
                                  |                   |send response
                                  |1xx from TU        |
                                  |send response      |
                                  |                   |
               Request            V      1xx from TU  |
               send response+-----------+send response|
                   +--------|           |--------+    |
                   |        | Proceeding|        |    |
                   +------->|           |<-------+    |
            +<--------------|           |             |
            |Trnsprt Err    +-----------+             |
            |Inform TU            |                   |
            |                     |                   |
            |                     |200-699 from TU    |
            |                     |send response      |
            |  Request            V                   |
            |  send response+-----------+             |
            |      +--------|           |             |
            |      |        | Completed |<------------+
            |      +------->|           |
            +<--------------|           |
            |Trnsprt Err    +-----------+
            |Inform TU            |
            |                     |Timer J fires
            |                     |-
            |                     |
            |                     V
            |               +-----------+
            |               |           |
            +-------------->| Terminated|
                            |           |
                            +-----------+

                Figure 8: non-INVITE server transaction

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
NonInviteServerTransactionsStateMachineTest(String name)
           
 
Method Summary
static Test suite()
           
 void testTryingCompletedScenario()
          Tries to steer a TI server transaction through the following scenario Trying-->Completed.
 void testTryingProceedingCompletedScenario()
          Tries to steer a TI server 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

NonInviteServerTransactionsStateMachineTest

public NonInviteServerTransactionsStateMachineTest(String name)
Method Detail

testTryingProceedingCompletedScenario

public void testTryingProceedingCompletedScenario()
Tries to steer a TI server 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.


testTryingCompletedScenario

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


suite

public static Test suite()


Copyright © 2014. All Rights Reserved.