package com.ausregistry.jtoolkit2.se.tmch; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import javax.xml.bind.DatatypeConverter; import java.text.ParseException; import java.util.Date; import com.ausregistry.jtoolkit2.xml.XMLDocument; import org.junit.Before; import org.junit.Test; import org.w3c.dom.Element; public class SignedMarkDataTest extends MarkAbstractTest { private SignedMarkData signedMarkData; private Date notBefore; private Date notAfter; @Before public void setUp() throws Exception { signedMarkData = new SignedMarkData(); signedMarkData.fromXML(new XMLDocument((Element) xmlDocument.getElement("/smd:signedMark"))); notBefore = DatatypeConverter.parseDate("2009-08-16T09:00:00.0Z").getTime(); notAfter = DatatypeConverter.parseDate("2010-08-16T09:00:00.0Z").getTime(); } @Test public void shouldPopulateBeanFromXml() { assertEquals(signedMarkData.getId(), "1-2"); assertNotNull(signedMarkData.getSmdIssuerInfo()); assertEquals(signedMarkData.getNotBefore(), notBefore); assertEquals(signedMarkData.getNotAfter(), notAfter); assertNotNull(signedMarkData.getMarksList()); } @Test public void shouldValidateBeforeDate() throws ParseException { Date validBeforeDate = DatatypeConverter.parseDate("2009-08-16T09:00:00.0Z").getTime(); Date invalidBeforeDate = DatatypeConverter.parseDate("2009-08-16T08:59:59.9Z").getTime(); assertEquals(true, signedMarkData.isValid(validBeforeDate)); assertEquals(false, signedMarkData.isValid(invalidBeforeDate)); } @Test public void shouldValidateAfterDate() throws ParseException { Date validAfterDate = DatatypeConverter.parseDate("2010-08-16T09:00:00.0Z").getTime(); Date invalidAfterDate = DatatypeConverter.parseDate("2010-08-16T09:00:00.1Z").getTime(); assertEquals(true, signedMarkData.isValid(validAfterDate)); assertEquals(false, signedMarkData.isValid(invalidAfterDate)); } }