package com.ausregistry.jtoolkit2.se.rgp;
import static org.junit.Assert.assertEquals;
import java.util.GregorianCalendar;
import com.ausregistry.jtoolkit2.EPPDateFormatter;
import com.ausregistry.jtoolkit2.Timer;
import com.ausregistry.jtoolkit2.se.CLTRID;
import org.junit.Before;
import org.junit.Test;
public class DomainRestoreReportCommandTest {
@Before
public void setUp() throws Exception {
Timer.setTime("20070101.010101");
CLTRID.setClID("JTKUTEST");
}
@Test
public void testDomainRestoreRequestWithMinimumParameters()
throws Exception {
String preData = "predata";
String postData = "postdata";
GregorianCalendar delTime = EPPDateFormatter
.fromXSDateTime("2006-12-25T00:00:00.0Z");
GregorianCalendar resTime = EPPDateFormatter
.fromXSDateTime("2006-12-25T00:00:00.0Z");
ReportTextElement resReason = new ReportTextElement("resreason", null);
ReportTextElement statement = new ReportTextElement("resstatement",
null);
final DomainRestoreReportCommand cmd = new DomainRestoreReportCommand(
"jtkutest.com.au", preData, postData, delTime, resTime,
resReason, statement, null, null);
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><update><update 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><chg/></update></update><extension><update xmlns=\"urn:ietf:params:xml:ns:rgp-1.0\">"
+ "<restore op=\"report\"><report><preData>" + preData + "</preData><postData>" + postData
+ "</postData><delTime>" + EPPDateFormatter.toXSDateTime(delTime) + "</delTime><resTime>"
+ EPPDateFormatter.toXSDateTime(resTime) + "</resTime><resReason>" + resReason.getReportElement()
+ "</resReason><statement>" + statement.getReportElement() + "</statement></report>"
+ "</restore></update></extension><clTRID>JTKUTEST.20070101.010101.0</clTRID>"
+ "</command></epp>", cmd.toXML());
}
@Test
public void testDomainRestoreRequestWithAllParameters() throws Exception {
String preData = "predata";
String postData = "postdata";
GregorianCalendar delTime = EPPDateFormatter
.fromXSDateTime("2006-12-25T00:00:00.0Z");
GregorianCalendar resTime = EPPDateFormatter
.fromXSDateTime("2006-12-25T00:00:00.0Z");
ReportTextElement resReason = new ReportTextElement("resreason", "lang");
ReportTextElement statement = new ReportTextElement("resstatement",
"lang");
ReportTextElement secondStatement = new ReportTextElement(
"resstatement2", "lang");
String other = "other";
final DomainRestoreReportCommand cmd = new DomainRestoreReportCommand(
"jtkutest.com.au", preData, postData, delTime, resTime,
resReason, statement, secondStatement, other);
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><update><update 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><chg/></update></update><extension><update xmlns=\"urn:ietf:params:xml:ns:rgp-1.0\">"
+ "<restore op=\"report\"><report><preData>" + preData + "</preData><postData>" + postData
+ "</postData><delTime>" + EPPDateFormatter.toXSDateTime(delTime) + "</delTime><resTime>"
+ EPPDateFormatter.toXSDateTime(resTime) + "</resTime><resReason lang=\"" + resReason.getLanguage()
+ "\">" + resReason.getReportElement() + "</resReason><statement lang=\"" + statement.getLanguage()
+ "\">" + statement.getReportElement() + "</statement><statement lang=\"" //
+ secondStatement.getLanguage()
+ "\">" + secondStatement.getReportElement() + "</statement><other>" + other + "</other></report>"
+ "</restore></update></extension><clTRID>JTKUTEST.20070101.010101.0</clTRID>"
+ "</command></epp>", cmd.toXML());
}
}