package com.ausregistry.jtoolkit2.se; import static org.junit.Assert.*; import org.junit.Before; import org.junit.Test; import com.ausregistry.jtoolkit2.EPPDateFormatter; import com.ausregistry.jtoolkit2.xml.ParsingException; import com.ausregistry.jtoolkit2.xml.XMLDocument; import com.ausregistry.jtoolkit2.xml.XMLParser; public class ContactInfoResponseTest { private static final String XML_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><epp xmlns=\"urn:ietf:params:xml:ns:epp-1.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd\"><response><result code=\"1000\"><msg>Command completed successfully</msg></result><resData><contact:infData xmlns:contact=\"urn:ietf:params:xml:ns:contact-1.0\" xsi:schemaLocation=\"urn:ietf:params:xml:ns:contact-1.0 contact-1.0.xsd\"><contact:id>sh8013</contact:id><contact:roid>SH8013-REP</contact:roid><contact:status s=\"linked\"/><contact:status s=\"clientDeleteProhibited\"/><contact:postalInfo type=\"int\"><contact:name>John Doe</contact:name><contact:org>Example Inc.</contact:org><contact:addr><contact:street>123 Example Dr.</contact:street><contact:street>Suite 100</contact:street><contact:city>Dulles</contact:city><contact:sp>VA</contact:sp><contact:pc>20166-6503</contact:pc><contact:cc>US</contact:cc></contact:addr></contact:postalInfo><contact:voice x=\"1234\">+1.7035555555</contact:voice><contact:fax>+1.7035555556</contact:fax><contact:email>jdoe@example.com</contact:email><contact:clID>ClientY</contact:clID><contact:crID>ClientX</contact:crID><contact:crDate>1999-04-03T22:00:00.0Z</contact:crDate><contact:upID>ClientX</contact:upID><contact:upDate>1999-12-03T09:00:00.0Z</contact:upDate><contact:trDate>2000-04-08T09:00:00.0Z</contact:trDate><contact:authInfo><contact:pw>2fooBAR</contact:pw></contact:authInfo><contact:disclose flag=\"0\"><contact:voice/><contact:email/></contact:disclose></contact:infData></resData><trID><clTRID>ABC-12345</clTRID><svTRID>54322-XYZ</svTRID></trID></response></epp>"; private static final String XML_2 = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><epp xmlns=\"urn:ietf:params:xml:ns:epp-1.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd\"><response><result code=\"1000\"><msg lang=\"en\">Command completed successfully</msg></result><resData><contact:infData xmlns:contact=\"urn:ietf:params:xml:ns:contact-1.0\" xsi:schemaLocation=\"urn:ietf:params:xml:ns:contact-1.0 contact-1.0.xsd\"><contact:id>C0573762-AR</contact:id><contact:roid>C0573762-AR</contact:roid><contact:status s=\"linked\"/><contact:status s=\"ok\"/><contact:postalInfo type=\"int\"><contact:name>Dominic Main</contact:name><contact:org>NetRegistry Ltd</contact:org><contact:addr><contact:street>97 Rose Street</contact:street><contact:street>Chippendale</contact:street><contact:city>Chippendale</contact:city><contact:sp>NSW</contact:sp><contact:pc>2008</contact:pc><contact:cc>au</contact:cc></contact:addr></contact:postalInfo><contact:voice>+61.296996099</contact:voice><contact:fax>+61.296996088</contact:fax><contact:email>unknown@ausregistry.com.au</contact:email><contact:clID>NetRegistry</contact:clID><contact:crID>auDA</contact:crID><contact:crDate>1998-12-01T00:00:00.0Z</contact:crDate><contact:upID>NetRegistry</contact:upID><contact:upDate>2002-08-06T02:10:27.0Z</contact:upDate><contact:authInfo><contact:pw>A00799</contact:pw></contact:authInfo></contact:infData></resData><trID><clTRID>NETREGISTRY.20070717.152924.4</clTRID><svTRID>109802</svTRID></trID></response></epp>"; private ContactInfoResponse response; private XMLParser parser; @Before public void setUp() throws Exception { response = new ContactInfoResponse(); parser = new XMLParser(); XMLDocument doc = parser.parse(XML_1); response.fromXML(doc); } @Test public void testMissingDisclose() { XMLDocument tmpDoc; try { tmpDoc = parser.parse(XML_2); ContactInfoResponse tmpResponse = new ContactInfoResponse(); tmpResponse.fromXML(tmpDoc); } catch (ParsingException e) { fail(e.getMessage()); } } @Test public void testGetID() { assertEquals("sh8013", response.getID()); } @Test public void testGetIntPostalInfo() { IntPostalInfo pi = response.getIntPostalInfo(); assertEquals("John Doe", pi.getName()); assertEquals("Example Inc.", pi.getOrganisation()); assertArrayEquals( new String[] {"123 Example Dr.", "Suite 100"}, pi.getStreet()); assertEquals("Dulles", pi.getCity()); assertEquals("VA", pi.getSp()); assertEquals("20166-6503", pi.getPostcode()); assertEquals("US", pi.getCountryCode()); } @Test public void testGetLocPostalInfo() { assertNull(response.getLocPostalInfo()); } @Test public void testGetVoice() { assertEquals("+1.7035555555", response.getVoice()); } @Test public void testGetVoiceExtension() { assertEquals(1234, response.getVoiceExtension()); } @Test public void testGetFax() { assertEquals("+1.7035555556", response.getFax()); } @Test public void testGetFaxExtension() { assertEquals(-1, response.getFaxExtension()); } @Test public void testGetEmail() { assertEquals("jdoe@example.com", response.getEmail()); } @Test public void testGetPassword() { assertEquals("2fooBAR", response.getPassword()); } @Test public void testGetROID() { assertEquals("SH8013-REP", response.getROID()); } @Test public void testGetCreateDate() { assertEquals( EPPDateFormatter.fromXSDateTime("1999-04-03T22:00:00.0Z"), response.getCreateDate()); } @Test public void testGetUpdateDate() { assertEquals( EPPDateFormatter.fromXSDateTime("1999-12-03T09:00:00.0Z"), response.getUpdateDate()); } @Test public void testGetCreateClient() { assertEquals("ClientX", response.getCreateClient()); } @Test public void testGetUpdateClient() { assertEquals("ClientX", response.getUpdateClient()); } @Test public void testGetSponsorClient() { assertEquals("ClientY", response.getSponsorClient()); } @Test public void testGetStatuses() { assertArrayEquals( new Status[] { new Status("linked"), new Status("clientDeleteProhibited") }, response.getStatuses()); } }