package com.ausregistry.jtoolkit2.se; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.fail; import com.ausregistry.jtoolkit2.Timer; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.xml.sax.SAXException; public class LoginCommandTest { private static String[] objURIs, extURIs; static { objURIs = new String[] { "urn:ietf:params:xml:ns:domain-1.0", "urn:ietf:params:xml:ns:host-1.0", "urn:ietf:params:xml:ns:contact-1.0" }; extURIs = new String[] { "urn:au:params:xml:ns:auext-1.0" }; } @Before public void setUp() throws Exception { Timer.setTime("20070101.010101"); CLTRID.setClID("JTKUTEST"); } @After public void tearDown() throws Exception { } @Test public void testLoginCommandStringString() { Command cmd = new LoginCommand("JTKUTEST", "1234abcd!@#$JTK"); try { String xml = cmd.toXML(); assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?><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\">" + "<command><login><clID>JTKUTEST</clID><pw>1234abcd!@#$JTK</pw>" + "<options><version>1.0</version><lang>en</lang></options>" + "<svcs><objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>" + "<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>" + "<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI></svcs></login>" + "<clTRID>JTKUTEST.20070101.010101.0</clTRID></command></epp>", xml); } catch (SAXException saxe) { fail(saxe.getMessage()); } } @Test public void testLoginCommandStringStringStringArrayStringArray() { Command cmd = new LoginCommand("JTKUTEST", "1234abcd!@#$JTK", objURIs, extURIs); try { String xml = cmd.toXML(); assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?><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\">" + "<command><login><clID>JTKUTEST</clID><pw>1234abcd!@#$JTK</pw>" + "<options><version>1.0</version><lang>en</lang></options>" + "<svcs><objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>" + "<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>" + "<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>" + "<svcExtension><extURI>urn:au:params:xml:ns:auext-1.0</extURI></svcExtension></svcs></login>" + "<clTRID>JTKUTEST.20070101.010101.0</clTRID></command></epp>", xml); } catch (SAXException saxe) { fail(saxe.getMessage()); } } @Test public void testLoginCommandStringStringStringStringStringArrayStringArray() { Command cmd = new LoginCommand("JTKUTEST", "1234abcd!@#$JTK", "1.0", "fr", objURIs, extURIs); try { String xml = cmd.toXML(); assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?><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\">" + "<command><login><clID>JTKUTEST</clID><pw>1234abcd!@#$JTK</pw>" + "<options><version>1.0</version><lang>fr</lang></options>" + "<svcs><objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>" + "<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>" + "<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>" + "<svcExtension><extURI>urn:au:params:xml:ns:auext-1.0</extURI></svcExtension></svcs></login>" + "<clTRID>JTKUTEST.20070101.010101.0</clTRID></command></epp>", xml); } catch (SAXException saxe) { fail(saxe.getMessage()); } } @Test public void testLoginCommandStringStringStringStringStringStringArrayStringArray() { Command cmd = new LoginCommand("JTKUTEST", "1234abcd!@#$JTK", "n(-w18PW*", "1.0", "fr", objURIs, extURIs); try { String xml = cmd.toXML(); assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?><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\">" + "<command><login><clID>JTKUTEST</clID><pw>1234abcd!@#$JTK</pw><newPW>n(-w18PW*</newPW>" + "<options><version>1.0</version><lang>fr</lang></options>" + "<svcs><objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>" + "<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>" + "<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>" + "<svcExtension><extURI>urn:au:params:xml:ns:auext-1.0</extURI></svcExtension></svcs></login>" + "<clTRID>JTKUTEST.20070101.010101.0</clTRID></command></epp>", xml); } catch (SAXException saxe) { fail(saxe.getMessage()); } } @Test public void testLoginCommandSecDnsExtension() { final String[] secDnsExtURIs = new String[] { "urn:ietf:params:xml:ns:secDNS-1.1" }; Command cmd = new LoginCommand("JTKUTEST", "1234abcd!@#$JTK", objURIs, secDnsExtURIs); try { String xml = cmd.toXML(); assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?><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\">" + "<command><login><clID>JTKUTEST</clID><pw>1234abcd!@#$JTK</pw>" + "<options><version>1.0</version><lang>en</lang></options><svcs>" + "<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI>" + "<objURI>urn:ietf:params:xml:ns:host-1.0</objURI>" + "<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI>" + "<svcExtension><extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI></svcExtension></svcs></login>" + "<clTRID>JTKUTEST.20070101.010101.0</clTRID></command></epp>", xml); } catch (SAXException saxe) { fail(saxe.getMessage()); } } @Test public void testLoginCommandSecDnsExtensionNotProvided() { Command cmd = new LoginCommand("JTKUTEST", "1234abcd!@#$JTK", objURIs, extURIs); try { String xml = cmd.toXML(); assertFalse(xml.contains("urn:ietf:params:xml:ns:secDNS-1.1")); } catch (SAXException saxe) { fail(saxe.getMessage()); } } @Test public void emptyArrayOfEstUrisShouldBeIgnored() throws SAXException { Command cmd = new LoginCommand("JTKUTEST", "password", objURIs, new String[0]); String xml = cmd.toXML(); assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?><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\">" + "<command><login><clID>JTKUTEST</clID><pw>password</pw>" + "<options><version>1.0</version><lang>en</lang></options><svcs>" + "<objURI>urn:ietf:params:xml:ns:domain-1.0</objURI><objURI>urn:ietf:params:xml:ns:host-1.0</objURI>" + "<objURI>urn:ietf:params:xml:ns:contact-1.0</objURI></svcs></login>" + "<clTRID>JTKUTEST.20070101.010101.0</clTRID></command></epp>", xml); } }