Hi Werner!

My Testclass for org.apache.ws.security.message.token.Timestamp fails:

    public void testTimestampBooleanDocumentInt() {
        Timestamp timestamp = new Timestamp(false, this.doc, 300);

        assertNotNull(timestamp.getCreated()); // fail
        assertNotNull(timestamp.getExpires ()); // fail
       
        Element timestampElement = timestamp.getElement();
        assertEquals(WSConstants.WSU_PREFIX + ":" + WSConstants.TIMESTAMP_TOKEN_LN , timestampElement.getTagName());
        assertEquals(WSConstants.WSU_NS, timestampElement.getNamespaceURI());
       
        Element createdElement = (Element) timestampElement.getFirstChild();
        assertEquals(WSConstants.WSU_PREFIX + ":" + WSConstants.CREATED_LN, createdElement.getTagName());
        assertEquals(WSConstants.WSU_NS, createdElement.getNamespaceURI());
        // TODO: refactor Timestamp -> externalize 'Calendar rightNow = Calendar.getInstance();' in a separat method 'getRightNow()' for better testing.
        // Test-Subclass can override getRightNow() and return a constant value...
        assertNotNull(((Text) createdElement.getFirstChild()).getData());
       
        Element expiresElement = (Element) createdElement.getNextSibling();
        assertEquals(WSConstants.WSU_PREFIX + ":" + WSConstants.EXPIRES_LN, expiresElement.getTagName());
        assertEquals(WSConstants.WSU_NS , expiresElement.getNamespaceURI());
        // TODO: If the Test-Subclass return a constant value for created, we can calculate and test expires...
        assertNotNull(((Text) expiresElement.getFirstChild()).getData());
    }

Are you interested on the Testclass and/or the fix?

Regards,
Christian

Reply via email to