package com.ausregistry.jtoolkit2.se.launch;
import com.ausregistry.jtoolkit2.EPPDateFormatter;
import com.ausregistry.jtoolkit2.Timer;
import com.ausregistry.jtoolkit2.se.CLTRID;
import com.ausregistry.jtoolkit2.se.Command;
import com.ausregistry.jtoolkit2.se.DomainCreateCommand;
import org.junit.Before;
import org.junit.Test;
import org.xml.sax.SAXException;
import static org.junit.Assert.assertEquals;
public class DomainCreateLaunchCommandExtensionTest {
@Before
public void setUp() throws Exception {
Timer.setTime("20070101.010101");
CLTRID.setClID("JTKUTEST");
}
@Test
public void shouldCreateValidXmlWhenSupplyLaunchExtension() throws SAXException {
final Command cmd = new DomainCreateCommand("jtkutest.com.au", "jtkUT3st");
final DomainCreateLaunchCommandExtension ext = new DomainCreateLaunchCommandExtension();
ext.setPhaseName("sunrise-fcfs");
ext.setPhaseType(PhaseType.SUNRISE);
ext.setEncodedSignedMarkData("dummyString");
ext.setLaunchCreateType(LaunchCreateType.REGISTRATION);
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><create><create xmlns=\"urn:ietf:params:xml:ns:domain-1.0\" "
+ "xsi:schemaLocation=\"urn:ietf:params:xml:ns:domain-1.0 domain-1.0.xsd\">"
+ "<name>jtkutest.com.au</name><authInfo><pw>jtkUT3st</pw></authInfo></create></create>"
+ "<extension><create xmlns=\"urn:ietf:params:xml:ns:launch-1.0\" type=\"registration\">"
+ "<phase name=\"sunrise-fcfs\">sunrise</phase>"
+ "<encodedSignedMark xmlns=\"urn:ietf:params:xml:ns:signedMark-1.0\">dummyString"
+ "</encodedSignedMark></create>"
+ "</extension><clTRID>JTKUTEST.20070101.010101.0</clTRID></command></epp>", cmd.toXML());
}
@Test
public void shouldCreateDefaultNoNamePhaseWhenNotProvidingPhaseName() throws SAXException {
final Command cmd = new DomainCreateCommand("jtkutest.com.au", "jtkUT3st");
final DomainCreateLaunchCommandExtension ext = new DomainCreateLaunchCommandExtension();
ext.setPhaseType(PhaseType.SUNRISE);
ext.setEncodedSignedMarkData("dummyString");
ext.setLaunchCreateType(LaunchCreateType.REGISTRATION);
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><create><create xmlns=\"urn:ietf:params:xml:ns:domain-1.0\" "
+ "xsi:schemaLocation=\"urn:ietf:params:xml:ns:domain-1.0 domain-1.0.xsd\">"
+ "<name>jtkutest.com.au</name><authInfo><pw>jtkUT3st</pw></authInfo></create></create>"
+ "<extension><create xmlns=\"urn:ietf:params:xml:ns:launch-1.0\" type=\"registration\">"
+ "<phase>sunrise</phase>"
+ "<encodedSignedMark xmlns=\"urn:ietf:params:xml:ns:signedMark-1.0\">dummyString"
+ "</encodedSignedMark></create>"
+ "</extension><clTRID>JTKUTEST.20070101.010101.0</clTRID></command></epp>", cmd.toXML());
}
@Test
public void shouldCreateValidXmlCommandWithNoticeIdWhenClaimsPhaseTypeProvided() throws SAXException {
final Command cmd = new DomainCreateCommand("jtkutest.com.au", "jtkUT3st");
final DomainCreateLaunchCommandExtension ext = new DomainCreateLaunchCommandExtension();
ext.setPhaseType(PhaseType.CLAIMS);
ext.setLaunchCreateType(LaunchCreateType.REGISTRATION);
ext.setNoticeId("49FD46E6C4B45C55D4AC");
ext.setNotAfterDateTime(
EPPDateFormatter.fromXSDateTime("2007-01-01T01:01:01.0Z"));
ext.setAcceptedDateTime(
EPPDateFormatter.fromXSDateTime("2007-02-02T02:02:02.0Z"));
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><create><create xmlns=\"urn:ietf:params:xml:ns:domain-1.0\" "
+ "xsi:schemaLocation=\"urn:ietf:params:xml:ns:domain-1.0 domain-1.0.xsd\">"
+ "<name>jtkutest.com.au</name><authInfo><pw>jtkUT3st</pw></authInfo></create></create>"
+ "<extension>"
+ "<create xmlns=\"urn:ietf:params:xml:ns:launch-1.0\" type=\"registration\">"
+ "<phase>claims</phase>"
+ "<notice>"
+ "<noticeID>49FD46E6C4B45C55D4AC</noticeID>"
+ "<notAfter>2007-01-01T01:01:01.000Z</notAfter>"
+ "<acceptedDate>2007-02-02T02:02:02.000Z</acceptedDate>"
+ "</notice>"
+ "</create>"
+ "</extension>"
+ "<clTRID>JTKUTEST.20070101.010101.0</clTRID></command></epp>", cmd.toXML());
}
@Test
public void shouldCreateValidXmlCommandWithNoTypeAttributeProvided() throws SAXException {
final Command cmd = new DomainCreateCommand("jtkutest.com.au", "jtkUT3st");
final DomainCreateLaunchCommandExtension ext = new DomainCreateLaunchCommandExtension();
ext.setPhaseType(PhaseType.CLAIMS);
ext.setNoticeId("49FD46E6C4B45C55D4AC");
ext.setNotAfterDateTime(
EPPDateFormatter.fromXSDateTime("2007-01-01T01:01:01.0Z"));
ext.setAcceptedDateTime(
EPPDateFormatter.fromXSDateTime("2007-02-02T02:02:02.0Z"));
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><create><create xmlns=\"urn:ietf:params:xml:ns:domain-1.0\" "
+ "xsi:schemaLocation=\"urn:ietf:params:xml:ns:domain-1.0 domain-1.0.xsd\">"
+ "<name>jtkutest.com.au</name><authInfo><pw>jtkUT3st</pw></authInfo></create></create>"
+ "<extension>"
+ "<create xmlns=\"urn:ietf:params:xml:ns:launch-1.0\">"
+ "<phase>claims</phase>"
+ "<notice>"
+ "<noticeID>49FD46E6C4B45C55D4AC</noticeID>"
+ "<notAfter>2007-01-01T01:01:01.000Z</notAfter>"
+ "<acceptedDate>2007-02-02T02:02:02.000Z</acceptedDate>"
+ "</notice>"
+ "</create>"
+ "</extension>"
+ "<clTRID>JTKUTEST.20070101.010101.0</clTRID></command></epp>", cmd.toXML());
}
}