package com.ausregistry.jtoolkit2.se.launch; import static org.junit.Assert.assertEquals; import com.ausregistry.jtoolkit2.Timer; import com.ausregistry.jtoolkit2.se.CLTRID; import com.ausregistry.jtoolkit2.se.Command; import com.ausregistry.jtoolkit2.se.DomainInfoCommand; import com.ausregistry.jtoolkit2.xml.XMLParser; import org.junit.Before; import org.junit.Test; import org.xml.sax.SAXException; public class DomainInfoLaunchCommandExtensionTest { private static final XMLParser PARSER = new XMLParser(); @Before public void setUp() throws Exception { Timer.setTime("20070101.010101"); CLTRID.setClID("JTKUTEST"); } @Test public void shouldCreateValidXmlWhenSupplyLaunchExtension() throws SAXException { final Command cmd = new DomainInfoCommand("domain-name.unit-test"); final DomainInfoLaunchCommandExtension ext = new DomainInfoLaunchCommandExtension(); ext.setPhaseName("sunrise-fcfs"); ext.setPhaseType(PhaseType.SUNRISE); ext.setApplicationID("myApp"); cmd.appendExtension(ext); 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>" + "<info>" + "<info xmlns=\"urn:ietf:params:xml:ns:domain-1.0\"" + " xsi:schemaLocation=\"urn:ietf:params:xml:ns:domain-1.0 domain-1.0.xsd\">" + "<name>domain-name.unit-test</name>" + "</info>" + "</info>" + "<extension><info xmlns=\"urn:ietf:params:xml:ns:launch-1.0\" includeMark=\"false\">" + "<phase name=\"sunrise-fcfs\">sunrise</phase>" + "<applicationID>myApp</applicationID>" + "</info>" + "</extension>" + "<clTRID>JTKUTEST.20070101.010101.0</clTRID>" + "</command>" + "</epp>", cmd.toXML()); } @Test public void shouldCreateValidXmlWhenSupplyLaunchExtensionWithNoApplicationID() throws SAXException { final Command cmd = new DomainInfoCommand("domain-name.unit-test"); final DomainInfoLaunchCommandExtension ext = new DomainInfoLaunchCommandExtension(); ext.setPhaseName("sunrise-fcfs"); ext.setPhaseType(PhaseType.SUNRISE); cmd.appendExtension(ext); 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>" + "<info>" + "<info xmlns=\"urn:ietf:params:xml:ns:domain-1.0\"" + " xsi:schemaLocation=\"urn:ietf:params:xml:ns:domain-1.0 domain-1.0.xsd\">" + "<name>domain-name.unit-test</name>" + "</info>" + "</info>" + "<extension><info xmlns=\"urn:ietf:params:xml:ns:launch-1.0\" includeMark=\"false\">" + "<phase name=\"sunrise-fcfs\">sunrise</phase>" + "</info>" + "</extension>" + "<clTRID>JTKUTEST.20070101.010101.0</clTRID>" + "</command>" + "</epp>", cmd.toXML()); } @Test public void shouldCreateValidXmlWhenSupplyLaunchExtensionNoPhaseName() throws SAXException { final Command cmd = new DomainInfoCommand("domain-name.unit-test"); final DomainInfoLaunchCommandExtension ext = new DomainInfoLaunchCommandExtension(); ext.setPhaseType(PhaseType.SUNRISE); cmd.appendExtension(ext); 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>" + "<info>" + "<info xmlns=\"urn:ietf:params:xml:ns:domain-1.0\"" + " xsi:schemaLocation=\"urn:ietf:params:xml:ns:domain-1.0 domain-1.0.xsd\">" + "<name>domain-name.unit-test</name>" + "</info>" + "</info>" + "<extension><info xmlns=\"urn:ietf:params:xml:ns:launch-1.0\" includeMark=\"false\">" + "<phase>sunrise</phase>" + "</info>" + "</extension>" + "<clTRID>JTKUTEST.20070101.010101.0</clTRID>" + "</command>" + "</epp>", cmd.toXML()); } @Test public void shouldCreateValidXmlWhenSupplyLaunchExtensionIncludeMarkIsSet() throws SAXException { final Command cmd = new DomainInfoCommand("domain-name.unit-test"); final DomainInfoLaunchCommandExtension ext = new DomainInfoLaunchCommandExtension(); ext.setPhaseType(PhaseType.SUNRISE); ext.setIncludeMark(true); cmd.appendExtension(ext); 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>" + "<info>" + "<info xmlns=\"urn:ietf:params:xml:ns:domain-1.0\"" + " xsi:schemaLocation=\"urn:ietf:params:xml:ns:domain-1.0 domain-1.0.xsd\">" + "<name>domain-name.unit-test</name>" + "</info>" + "</info>" + "<extension><info xmlns=\"urn:ietf:params:xml:ns:launch-1.0\" includeMark=\"true\">" + "<phase>sunrise</phase>" + "</info>" + "</extension>" + "<clTRID>JTKUTEST.20070101.010101.0</clTRID>" + "</command>" + "</epp>", cmd.toXML()); } }