Package test.tck

Examples of test.tck.TckInternalError


            } catch (SipException ex) {
                throw new TiUnexpectedError(
                        "A SipExceptionOccurred while trying to send request!",
                        ex);
            } catch (TooManyListenersException ex) {
                throw new TckInternalError(
                        "Failed to regiest a SipListener with an RI SipProvider",
                        ex);
            }
            waitForMessage();
            RequestEvent inviteReceivedEvent = eventCollector
                    .extractCollectedRequestEvent();
            if (inviteReceivedEvent == null
                    || inviteReceivedEvent.getRequest() == null)
                throw new TiUnexpectedError(
                        "The invite request was not received by the RI!");
            // At this point the ClientTransaction should be CALLING!
            assertEquals(TransactionState.CALLING, tran.getState());
            // Check Request retransmission
            try {
                eventCollector.collectRequestEvent(riSipProvider);
            } catch (TooManyListenersException ex) {
                throw new TckInternalError(
                        "Failed to regiest a SipListener with an RI SipProvider",
                        ex);
            }
            // Wait for the retransmission timer to fire if it had not already
            // done so.
            if (tran.getRetransmitTimer() > MESSAGES_ARRIVE_FOR)
                sleep((long) tran.getRetransmitTimer() - MESSAGES_ARRIVE_FOR); // subtract
                                                                                // the
                                                                                // time
                                                                                // we
                                                                                // waited
                                                                                // for
                                                                                // the
                                                                                // invite
            // Wait for the retransmitted request to arrive
            waitForMessage();
            inviteReceivedEvent = eventCollector.extractCollectedRequestEvent();
            assertNotNull("The invite request was not retransmitted!",
                    inviteReceivedEvent);
            assertNotNull("The invite request was not retransmitted!",
                    inviteReceivedEvent.getRequest());
            assertEquals(Request.INVITE, inviteReceivedEvent.getRequest()
                    .getMethod());
            // At this point the ClientTransaction should STILL be CALLING!
            assertEquals(TransactionState.CALLING, tran.getState());
            // Send a 200 OK (final) response from the RI
            try {
                eventCollector.collectResponseEvent(tiSipProvider);
            } catch (TooManyListenersException ex) {
                throw new TiUnexpectedError(
                        "Failed to register a SipListener with TI", ex);
            }
            // The OK response shouldn't trigger any ACKs so let's register
            // a listener with the RI to verify whether that is the case
            SipEventCollector ackCollector = new SipEventCollector();
            try {
                ackCollector.collectRequestEvent(riSipProvider);
            } catch (TooManyListenersException ex) {
                throw new TckInternalError(
                        "Failed to regiest a SipListener with an RI SipProvider",
                        ex);
            }
            Response ok = null;
            try {
                ok = riMessageFactory.createResponse(Response.OK,
                        inviteReceivedEvent.getRequest());
                addStatus(inviteReceivedEvent.getRequest(), ok);

                // JvB: MUST add Contact too!
                ContactHeader contact = riHeaderFactory
                        .createContactHeader(((ToHeader) ok.getHeader("To"))
                                .getAddress());
                ok.addHeader(contact);
                // end JvB

                riSipProvider.sendResponse(ok);
            } catch (Throwable ex) {
                throw new TckInternalError(
                        "The TCK could not send an OK response back to the TI",
                        ex);
            }
            waitForMessage();
            // Analyze the OK response and Tran state back at the TI
            ResponseEvent responseEvent = eventCollector
                    .extractCollectedResponseEvent();
            assertNotNull(
                    "The Tested Implementation did not pass a 200 OK response to the TU!",
                    responseEvent);
            assertNotNull(
                    "The Tested Implementation did not pass a 200 OK response to the TU!",
                    responseEvent.getResponse());
            assertSame(
                    "The OK response was not associated with the right transaction",
                    tran, responseEvent.getClientTransaction());
            assertSame("A response different from OK was passed to the TU",
                    tran, responseEvent.getClientTransaction());
            assertEquals(
                    "The ClientTransaction did not pass in the TERMINATED state after "
                            + "receiving 200 final response", tran.getState(),
                    TransactionState.TERMINATED);
            // check whether the ackCollector has caught any fish
            RequestEvent ackReceivedEvent = ackCollector
                    .extractCollectedRequestEvent();
            assertNull("The TI sent an ACK to an OK (this is TU's job)!",
                    ackReceivedEvent);
            // Now let's retransmit the final response and see that it is
            // passed to the TU (again no ACKs should be sent by the TI)
            try {
                eventCollector.collectResponseEvent(tiSipProvider);
            } catch (TooManyListenersException ex) {
                throw new TiUnexpectedError(
                        "Failed to register a SipListener with TI", ex);
            }
            // go fish the ack
            try {
                ackCollector.collectRequestEvent(riSipProvider);
            } catch (TooManyListenersException ex) {
                throw new TckInternalError(
                        "Failed to regiest a SipListener with an RI SipProvider",
                        ex);
            }
            try {
                riSipProvider.sendResponse((Response) ok.clone());
            } catch (Throwable ex) {
                throw new TckInternalError(
                        "The TCK could not send an OK response back to the TI",
                        ex);
            }
            waitForMessage();
            // Did we get the 2nd OK?
View Full Code Here


                break;
        }
        if (j == implementedInterfaces.length) {
            System.out.println("Hmm... could not find it" +
            refRequest.getClass());
        throw new TckInternalError("Request not implemented");
        }

        String jainClassName = implementedInterfaces[j].getName();

        // Make sure that all the methods of the interface are implemented
        checkImplementsInterface(requestToTest.getClass(),
        Request.class);

        // Test the get methods of the interface.
        Method methods[] = implementedInterfaces[j].getDeclaredMethods();
        for (int i = 0; i < methods.length;  i++) {
            String methodName = methods[i].getName();
            if  (! methodName.startsWith("get") ) continue;
            // Testing only null argument gets
            if ( methods[i].getParameterTypes().length != 0) continue;
            Class returnType = methods[i].getReturnType();
            Object refType = null;
            try {
                refType = methods[i].invoke(refRequest,(Object[])null);
            } catch (Exception ex) {
                throw new TckInternalError("Invocation failure " + methodName);
            }
            String ftype = returnType.toString();
            if (returnType.isPrimitive()) {
                Object testValue = methods[i].invoke( requestToTest, (Object[])null);
                assertEquals( refType, testValue );
            } else {
                // Non primitive.
                Object testValue = methods[i].invoke( requestToTest,(Object[])null);
                if (refType != null) {
                    assertTrue(testValue != null);
                    // Find the jain type implemented by the interface.
                    Class fclass = refType.getClass();
                    Class[] fInterfaces = fclass.getInterfaces();
                    // Find what JAIN interface this is implementing.
                    int k = 0;
                    for ( k = 0; k < fInterfaces.length; k++) {
                        if ( javax.sip.header.Header.class.isAssignableFrom(fInterfaces[k]))
                            break;
                    }
                    // If this implements a header interface
                    // check that the same header is returned in both
                    // ti and ri
                    if ( k < fInterfaces.length) {
                        // Make sure that the return type matches.
                        assertTrue(fInterfaces[k].isAssignableFrom(testValue.getClass()));
                        String refhdrString = refType.toString();
                        String testhdrString = testValue.toString();
                        // Use the factory to test for equivalence
                        Header riHeader = createRiHeaderFromString(refhdrString);
                        if (riHeader == null)
                            throw new TckInternalError( "could not parse "  + refhdrString );

                        // Create a RI header from the string to test
                        // for equivalence. Note that we cannot compare
                        // ti header to RI header otherwise.
                        Header tiHeader = createRiHeaderFromString(testhdrString);
View Full Code Here

            } catch (SipException ex) {
                throw new TiUnexpectedError(
                        "A SipExceptionOccurred while trying to send request!",
                        ex);
            } catch (TooManyListenersException ex) {
                throw new TckInternalError(
                        "Failed to regiest a SipListener with an RI SipProvider",
                        ex);
            }
            waitForMessage();
            RequestEvent inviteReceivedEvent = eventCollector
View Full Code Here

            } catch (SipException ex) {
                throw new TiUnexpectedError(
                        "A SipExceptionOccurred while trying to send request!",
                        ex);
            } catch (TooManyListenersException ex) {
                throw new TckInternalError(
                        "Failed to regiest a SipListener with an RI SipProvider",
                        ex);
            }
            waitForMessage();
            RequestEvent inviteReceivedEvent = eventCollector
View Full Code Here

            } catch (SipException ex) {
                throw new TiUnexpectedError(
                        "A SipExceptionOccurred while trying to send request!",
                        ex);
            } catch (TooManyListenersException ex) {
                throw new TckInternalError(
                        "Failed to regiest a SipListener with an RI SipProvider",
                        ex);
            }
            waitForMessage();
            RequestEvent inviteReceivedEvent = eventCollector
View Full Code Here

    private SipListener getSipListener(EventObject sipEvent) {
        SipProvider source = (SipProvider) sipEvent.getSource();
        SipListener listener = (SipListener) providerTable.get(source);
        if (listener == null)
            throw new TckInternalError("Unexpected null listener");
        return listener;
    }
View Full Code Here

            tiFactory.resetFactory();
            tiFactory.setPathName( getImplementationPath() );
            tiSipStack = tiFactory.createSipStack(getTiProperties());
            if (riSipStack == tiSipStack) {
                throw new TckInternalError("riSipStack should not the same as tiSipStack");
            }
        } catch (TckInternalError ex){
            throw ex;
        } catch (Exception ex) {
            fail("initialization failed");
View Full Code Here

                continue;
            }
            break;
        }
        if (tries >= RETRY_OBJECT_DELETES)
            throw new TckInternalError("Failed to delete riSipProvider!");

        // Delete RI ListeningPoint
        for (tries = 0; tries < RETRY_OBJECT_DELETES; tries++) {
            try {
                riSipStack.deleteListeningPoint(riListeningPoint);
            } catch (ObjectInUseException ex) {
                // System.err.println("Retrying delete of riListeningPoint!");
                sleep(RETRY_OBJECT_DELETES_AFTER);
                continue;
            }
            break;
        }
        if (tries >= RETRY_OBJECT_DELETES)
            throw new TckInternalError("Failed to delete riListeningPoint!");

        riSipProvider = null;
        riListeningPoint = null;

        // Delete TI SipProvider
View Full Code Here

        try {
            return createRequest(Request.INVITE, riAddressFactory,
                    riHeaderFactory, riMessageFactory, riSipProvider,
                    tiSipProvider, contentType, contentSubType, content);
        } catch (Throwable exc) {
            throw new TckInternalError(
                    "Failed to create an RI->TI invite request", exc);
        }
    }
View Full Code Here

        try {
            return createRequest(Request.REGISTER, riAddressFactory,
                    riHeaderFactory, riMessageFactory, riSipProvider,
                    tiSipProvider, null, null, null);
        } catch (Throwable exc) {
            throw new TckInternalError(
                    "Failed to create an RI->TI register request", exc);
        }
    }
View Full Code Here

TOP

Related Classes of test.tck.TckInternalError

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.