package com.ausregistry.jtoolkit2.se;
import com.ausregistry.jtoolkit2.EPPDateFormatter;
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.ausregistry.jtoolkit2.xml.XMLDocument;
import com.ausregistry.jtoolkit2.xml.XMLParser;
public class GreetingTest {
private static final String XML = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><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\"><greeting><svID>Example EPP server epp.example.com</svID><svDate>2000-06-08T22:00:00.0Z</svDate><svcMenu><version>1.0</version><lang>en</lang><lang>fr</lang><objURI>urn:ietf:params:xml:ns:obj1</objURI><objURI>urn:ietf:params:xml:ns:obj2</objURI><objURI>urn:ietf:params:xml:ns:obj3</objURI><svcExtension><extURI>http://custom/obj1ext-1.0</extURI></svcExtension></svcMenu><dcp><access><all/></access><statement><purpose><admin/><prov/></purpose><recipient><ours/><public/></recipient><retention><stated/></retention></statement><statement><purpose><admin/><contact/></purpose><recipient><ours><recDesc>Mr Squiggle</recDesc></ours><public/></recipient><retention><stated/></retention></statement><expiry><absolute>2020-01-01T00:00:00.0Z</absolute></expiry></dcp></greeting></epp>";
private Greeting greeting;
@Before
public void setUp() throws Exception {
greeting = new Greeting();
XMLParser parser = new XMLParser();
XMLDocument doc = parser.parse(XML);
greeting.fromXML(doc);
}
@After
public void tearDown() throws Exception {
}
@Test
public void testGetServerID() {
assertEquals("Example EPP server epp.example.com",
greeting.getServerID());
}
@Test
public void testGetServerDateTime() {
assertEquals(EPPDateFormatter.fromXSDateTime("2000-06-08T22:00:00.0Z"),
greeting.getServerDateTime());
}
@Test
public void testGetProtocolVersions() {
assertArrayEquals(new String[] {
"1.0"
}, greeting.getProtocolVersions());
}
@Test
public void testGetLanguages() {
assertArrayEquals(new String[] {
"en", "fr"
}, greeting.getLanguages());
}
@Test
public void testObjURIs() {
assertArrayEquals(new String[] {
"urn:ietf:params:xml:ns:obj1", "urn:ietf:params:xml:ns:obj2",
"urn:ietf:params:xml:ns:obj3"
}, greeting.objURIs());
}
@Test
public void testExtURIs() {
assertArrayEquals(new String[] {
"http://custom/obj1ext-1.0"
}, greeting.extURIs());
}
@Test
public void testDcpAccess() {
assertEquals("all", greeting.dcpAccess());
}
@Test
public void testDcpExpiry() {
assertEquals("absolute", greeting.dcpExpiry());
}
@Test
public void testGetDataCollectionPolicyStatements() {
Greeting.DCPStatement[] stmts = greeting.getDataCollectionPolicyStatements();
assertEquals(2, stmts.length);
assertArrayEquals(new String[] {
"admin", "prov"
}, stmts[0].getPurpose());
assertArrayEquals(new String[] {
"ours", "public"
}, stmts[0].getRecipients());
assertEquals("stated", stmts[0].getRetentionPolicy());
assertArrayEquals(new String[] {
"admin", "contact"
}, stmts[1].getPurpose());
assertArrayEquals(new String[] {
"ours", "public"
}, stmts[1].getRecipients());
assertEquals("stated", stmts[1].getRetentionPolicy());
}
}