package com.ausregistry.jtoolkit2.se.unspec; import org.junit.Before; import org.junit.Test; import org.xml.sax.SAXException; import com.ausregistry.jtoolkit2.Timer; import com.ausregistry.jtoolkit2.se.CLTRID; import com.ausregistry.jtoolkit2.se.Command; import com.ausregistry.jtoolkit2.se.ContactCreateCommand; import com.ausregistry.jtoolkit2.se.IntPostalInfo; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; public class ContactCreateCommandUnspecExtensionTest { @Before public void setUp() throws Exception { Timer.setTime("20070101.010101"); CLTRID.setClID("JTKUTEST"); } @Test public void shouldGenerateValidXmlWithExtContactYInUnspec() { Command cmd = new ContactCreateCommand("JTKUTEST", "jtkUt3st", new IntPostalInfo("JTK Unit Test", "Melbourne", "au"), "jtktest@ausregistry.com.au"); ContactCreateCommandUnspecExtension ext = new ContactCreateCommandUnspecExtension(Boolean.TRUE, null); try { cmd.appendExtension(ext); String xml = cmd.toXML(); String expectedXml = "<?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><create>" + "<create xmlns=\"urn:ietf:params:xml:ns:contact-1.0\" xsi:schemaLocation=" + "\"urn:ietf:params:xml:ns:contact-1.0 contact-1.0.xsd\"><id>JTKUTEST</id>" + "<postalInfo type=\"int\"><name>JTK Unit Test</name><addr><city>Melbourne</city><cc>au</cc>" + "</addr></postalInfo><email>jtktest@ausregistry.com.au</email><authInfo><pw>jtkUt3st</pw>" + "</authInfo></create></create>" + "<extension><extension xmlns=\"urn:ietf:params:xml:ns:neulevel-1.0\">" + "<unspec> extContact=Y</unspec></extension></extension>" + "<clTRID>JTKUTEST.20070101.010101.0</clTRID></command></epp>"; assertEquals(expectedXml, xml); } catch (SAXException saxe) { fail(saxe.getMessage()); } } @Test public void shouldGenerateValidXmlWithoutExtContactNInUnspec() { Command cmd = new ContactCreateCommand("JTKUTEST", "jtkUt3st", new IntPostalInfo("JTK Unit Test", "Melbourne", "au"), "jtktest@ausregistry.com.au"); ContactCreateCommandUnspecExtension ext = new ContactCreateCommandUnspecExtension(Boolean.FALSE, null); try { cmd.appendExtension(ext); String xml = cmd.toXML(); String expectedXml = "<?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><create>" + "<create xmlns=\"urn:ietf:params:xml:ns:contact-1.0\" xsi:schemaLocation=" + "\"urn:ietf:params:xml:ns:contact-1.0 contact-1.0.xsd\"><id>JTKUTEST</id>" + "<postalInfo type=\"int\"><name>JTK Unit Test</name><addr><city>Melbourne</city><cc>au</cc>" + "</addr></postalInfo><email>jtktest@ausregistry.com.au</email><authInfo><pw>jtkUt3st</pw>" + "</authInfo></create></create>" + "<extension><extension xmlns=\"urn:ietf:params:xml:ns:neulevel-1.0\">" + "<unspec> extContact=N</unspec></extension></extension>" + "<clTRID>JTKUTEST.20070101.010101.0</clTRID></command></epp>"; assertEquals(expectedXml, xml); } catch (SAXException saxe) { fail(saxe.getMessage()); } } @Test public void shouldGenerateValidXmlWithNexusCategoryInUnspec() { Command cmd = new ContactCreateCommand("JTKUTEST", "jtkUt3st", new IntPostalInfo("JTK Unit Test", "Melbourne", "au"), "jtktest@ausregistry.com.au"); ContactCreateCommandUnspecExtension ext = new ContactCreateCommandUnspecExtension(null, "ORG"); try { cmd.appendExtension(ext); String xml = cmd.toXML(); String expectedXml = "<?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><create>" + "<create xmlns=\"urn:ietf:params:xml:ns:contact-1.0\" xsi:schemaLocation=" + "\"urn:ietf:params:xml:ns:contact-1.0 contact-1.0.xsd\"><id>JTKUTEST</id>" + "<postalInfo type=\"int\"><name>JTK Unit Test</name><addr>" + "<city>Melbourne</city><cc>au</cc>" + "</addr></postalInfo><email>jtktest@ausregistry.com.au</email><authInfo><pw>jtkUt3st</pw>" + "</authInfo></create></create>" + "<extension><extension xmlns=\"urn:ietf:params:xml:ns:neulevel-1.0\">" + "<unspec> nexusCategory=ORG</unspec></extension></extension>" + "<clTRID>JTKUTEST.20070101.010101.0</clTRID></command></epp>"; assertEquals(expectedXml, xml); } catch (SAXException saxe) { fail(saxe.getMessage()); } } @Test public void shouldGenerateValidXmlWithoutNexusCategoryInUnspec() { Command cmd = new ContactCreateCommand("JTKUTEST", "jtkUt3st", new IntPostalInfo("JTK Unit Test", "Melbourne", "au"), "jtktest@ausregistry.com.au"); ContactCreateCommandUnspecExtension ext = new ContactCreateCommandUnspecExtension(null, null); try { cmd.appendExtension(ext); String xml = cmd.toXML(); String expectedXml = "<?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><create>" + "<create xmlns=\"urn:ietf:params:xml:ns:contact-1.0\" xsi:schemaLocation=" + "\"urn:ietf:params:xml:ns:contact-1.0 contact-1.0.xsd\"><id>JTKUTEST</id>" + "<postalInfo type=\"int\"><name>JTK Unit Test</name><addr>" + "<city>Melbourne</city><cc>au</cc>" + "</addr></postalInfo><email>jtktest@ausregistry.com.au</email><authInfo><pw>jtkUt3st</pw>" + "</authInfo></create></create>" + "<extension><extension xmlns=\"urn:ietf:params:xml:ns:neulevel-1.0\">" + "<unspec/></extension></extension>" + "<clTRID>JTKUTEST.20070101.010101.0</clTRID></command></epp>"; assertEquals(expectedXml, xml); } catch (SAXException saxe) { fail(saxe.getMessage()); } } @Test public void shouldGenerateValidXmlWithExtContactAndNexusCategoryInUnspec() { Command cmd = new ContactCreateCommand("JTKUTEST", "jtkUt3st", new IntPostalInfo("JTK Unit Test", "Melbourne", "au"), "jtktest@ausregistry.com.au"); ContactCreateCommandUnspecExtension ext = new ContactCreateCommandUnspecExtension(Boolean.TRUE, "ORG"); try { cmd.appendExtension(ext); String xml = cmd.toXML(); String expectedXml = "<?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><create>" + "<create xmlns=\"urn:ietf:params:xml:ns:contact-1.0\" xsi:schemaLocation=" + "\"urn:ietf:params:xml:ns:contact-1.0 contact-1.0.xsd\"><id>JTKUTEST</id>" + "<postalInfo type=\"int\"><name>JTK Unit Test</name><addr>" + "<city>Melbourne</city><cc>au</cc>" + "</addr></postalInfo><email>jtktest@ausregistry.com.au</email><authInfo><pw>jtkUt3st</pw>" + "</authInfo></create></create>" + "<extension><extension xmlns=\"urn:ietf:params:xml:ns:neulevel-1.0\">" + "<unspec> extContact=Y nexusCategory=ORG</unspec></extension></extension>" + "<clTRID>JTKUTEST.20070101.010101.0</clTRID></command></epp>"; assertEquals(expectedXml, xml); } catch (SAXException saxe) { fail(saxe.getMessage()); } } }