Consolidate domain_info_fee xml test files

This removes a LOT of "almost duplicate" test files, and moves some of the info into the java test itself making it clearer what's actually different between tests.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=240230982
This commit is contained in:
guyben 2019-03-25 15:30:03 -07:00 committed by jianglai
parent 5ef4c4edf1
commit c431dcbd73
18 changed files with 151 additions and 395 deletions

View file

@ -25,6 +25,7 @@ import static google.registry.testing.DatastoreHelper.persistActiveHost;
import static google.registry.testing.DatastoreHelper.persistResource; import static google.registry.testing.DatastoreHelper.persistResource;
import static google.registry.testing.EppExceptionSubject.assertAboutEppExceptions; import static google.registry.testing.EppExceptionSubject.assertAboutEppExceptions;
import static google.registry.testing.JUnitBackports.assertThrows; import static google.registry.testing.JUnitBackports.assertThrows;
import static google.registry.testing.TestDataHelper.updateSubstitutions;
import com.google.common.base.Predicates; import com.google.common.base.Predicates;
import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap;
@ -62,6 +63,18 @@ import org.junit.Test;
/** Unit tests for {@link DomainInfoFlow}. */ /** Unit tests for {@link DomainInfoFlow}. */
public class DomainInfoFlowTest extends ResourceFlowTestCase<DomainInfoFlow, DomainBase> { public class DomainInfoFlowTest extends ResourceFlowTestCase<DomainInfoFlow, DomainBase> {
/**
* The domain_info_fee.xml default substitutions common to most tests.
*
* <p>It doesn't set a default value to the COMMAND and PERIOD keys, because they are different in
* every test.
*/
private static final ImmutableMap<String, String> SUBSTITUTION_BASE =
ImmutableMap.of(
"NAME", "example.tld",
"CURRENCY", "USD",
"UNIT", "y");
private ContactResource registrant; private ContactResource registrant;
private ContactResource contact; private ContactResource contact;
private HostResource host1; private HostResource host1;
@ -130,9 +143,12 @@ public class DomainInfoFlowTest extends ResourceFlowTestCase<DomainInfoFlow, Dom
persistTestEntities("example.tld", inactive); persistTestEntities("example.tld", inactive);
} }
private void doSuccessfulTest(String expectedXmlFilename, boolean inactive) throws Exception { private void doSuccessfulTest(
String expectedXmlFilename, boolean inactive, ImmutableMap<String, String> substitutions)
throws Exception {
assertTransactionalFlow(false); assertTransactionalFlow(false);
String expected = loadFile(expectedXmlFilename, ImmutableMap.of("ROID", "2FF-TLD")); String expected =
loadFile(expectedXmlFilename, updateSubstitutions(substitutions, "ROID", "2FF-TLD"));
if (inactive) { if (inactive) {
expected = expected.replaceAll("\"ok\"", "\"inactive\""); expected = expected.replaceAll("\"ok\"", "\"inactive\"");
} }
@ -141,6 +157,10 @@ public class DomainInfoFlowTest extends ResourceFlowTestCase<DomainInfoFlow, Dom
assertNoBillingEvents(); assertNoBillingEvents();
} }
private void doSuccessfulTest(String expectedXmlFilename, boolean inactive) throws Exception {
doSuccessfulTest(expectedXmlFilename, inactive, ImmutableMap.of());
}
private void doSuccessfulTest(String expectedXmlFilename) throws Exception { private void doSuccessfulTest(String expectedXmlFilename) throws Exception {
persistTestEntities(false); persistTestEntities(false);
doSuccessfulTest(expectedXmlFilename, false); doSuccessfulTest(expectedXmlFilename, false);
@ -557,31 +577,72 @@ public class DomainInfoFlowTest extends ResourceFlowTestCase<DomainInfoFlow, Dom
*/ */
@Test @Test
public void testFeeExtension_createCommand() throws Exception { public void testFeeExtension_createCommand() throws Exception {
setEppInput("domain_info_fee_create.xml", ImmutableMap.of("CURRENCY", "USD")); setEppInput(
"domain_info_fee.xml",
updateSubstitutions(
SUBSTITUTION_BASE,
"COMMAND", "create",
"PERIOD", "2"));
persistTestEntities(false); persistTestEntities(false);
doSuccessfulTest("domain_info_fee_create_response.xml", false); doSuccessfulTest(
"domain_info_fee_response.xml",
false,
ImmutableMap.of(
"COMMAND", "create",
"DESCRIPTION", "create",
"PERIOD", "2",
"FEE", "26.00"));
} }
/** Test renew command. */ /** Test renew command. */
@Test @Test
public void testFeeExtension_renewCommand() throws Exception { public void testFeeExtension_renewCommand() throws Exception {
setEppInput("domain_info_fee_renew.xml"); setEppInput(
"domain_info_fee.xml",
updateSubstitutions(
SUBSTITUTION_BASE,
"COMMAND", "renew",
"PERIOD", "2"));
persistTestEntities(false); persistTestEntities(false);
doSuccessfulTest("domain_info_fee_renew_response.xml", false); doSuccessfulTest(
"domain_info_fee_response.xml",
false,
ImmutableMap.of(
"COMMAND", "renew",
"DESCRIPTION", "renew",
"PERIOD", "2",
"FEE", "22.00"));
} }
/** Test transfer command. */ /** Test transfer command. */
@Test @Test
public void testFeeExtension_transferCommand() throws Exception { public void testFeeExtension_transferCommand() throws Exception {
setEppInput("domain_info_fee_transfer.xml"); setEppInput(
"domain_info_fee.xml",
updateSubstitutions(
SUBSTITUTION_BASE,
"COMMAND", "transfer",
"PERIOD", "1"));
persistTestEntities(false); persistTestEntities(false);
doSuccessfulTest("domain_info_fee_transfer_response.xml", false); doSuccessfulTest(
"domain_info_fee_response.xml",
false,
ImmutableMap.of(
"COMMAND", "transfer",
"DESCRIPTION", "renew",
"PERIOD", "1",
"FEE", "11.00"));
} }
/** Test restore command. */ /** Test restore command. */
@Test @Test
public void testFeeExtension_restoreCommand() throws Exception { public void testFeeExtension_restoreCommand() throws Exception {
setEppInput("domain_info_fee_restore.xml"); setEppInput(
"domain_info_fee.xml",
updateSubstitutions(
SUBSTITUTION_BASE,
"COMMAND", "restore",
"PERIOD", "1"));
persistTestEntities(false); persistTestEntities(false);
doSuccessfulTest("domain_info_fee_restore_response.xml", false); doSuccessfulTest("domain_info_fee_restore_response.xml", false);
} }
@ -590,34 +651,67 @@ public class DomainInfoFlowTest extends ResourceFlowTestCase<DomainInfoFlow, Dom
@Test @Test
public void testFeeExtension_createCommandPremium() throws Exception { public void testFeeExtension_createCommandPremium() throws Exception {
createTld("example"); createTld("example");
setEppInput("domain_info_fee_create_premium.xml"); setEppInput(
"domain_info_fee.xml",
updateSubstitutions(
SUBSTITUTION_BASE,
"NAME", "rich.example",
"COMMAND", "create",
"PERIOD", "1"));
persistTestEntities("rich.example", false); persistTestEntities("rich.example", false);
doSuccessfulTest("domain_info_fee_create_premium_response.xml", false); doSuccessfulTest(
"domain_info_fee_premium_response.xml",
false,
ImmutableMap.of("COMMAND", "create", "DESCRIPTION", "create"));
} }
/** Test renew command on a premium label. */ /** Test renew command on a premium label. */
@Test @Test
public void testFeeExtension_renewCommandPremium() throws Exception { public void testFeeExtension_renewCommandPremium() throws Exception {
createTld("example"); createTld("example");
setEppInput("domain_info_fee_renew_premium.xml"); setEppInput(
"domain_info_fee.xml",
updateSubstitutions(
SUBSTITUTION_BASE,
"NAME", "rich.example",
"COMMAND", "renew",
"PERIOD", "1"));
persistTestEntities("rich.example", false); persistTestEntities("rich.example", false);
doSuccessfulTest("domain_info_fee_renew_premium_response.xml", false); doSuccessfulTest(
"domain_info_fee_premium_response.xml",
false,
ImmutableMap.of("COMMAND", "renew", "DESCRIPTION", "renew"));
} }
/** Test transfer command on a premium label. */ /** Test transfer command on a premium label. */
@Test @Test
public void testFeeExtension_transferCommandPremium() throws Exception { public void testFeeExtension_transferCommandPremium() throws Exception {
createTld("example"); createTld("example");
setEppInput("domain_info_fee_transfer_premium.xml"); setEppInput(
"domain_info_fee.xml",
updateSubstitutions(
SUBSTITUTION_BASE,
"NAME", "rich.example",
"COMMAND", "transfer",
"PERIOD", "1"));
persistTestEntities("rich.example", false); persistTestEntities("rich.example", false);
doSuccessfulTest("domain_info_fee_transfer_premium_response.xml", false); doSuccessfulTest(
"domain_info_fee_premium_response.xml",
false,
ImmutableMap.of("COMMAND", "transfer", "DESCRIPTION", "renew"));
} }
/** Test restore command on a premium label. */ /** Test restore command on a premium label. */
@Test @Test
public void testFeeExtension_restoreCommandPremium() throws Exception { public void testFeeExtension_restoreCommandPremium() throws Exception {
createTld("example"); createTld("example");
setEppInput("domain_info_fee_restore_premium.xml"); setEppInput(
"domain_info_fee.xml",
updateSubstitutions(
SUBSTITUTION_BASE,
"NAME", "rich.example",
"COMMAND", "restore",
"PERIOD", "1"));
persistTestEntities("rich.example", false); persistTestEntities("rich.example", false);
doSuccessfulTest("domain_info_fee_restore_premium_response.xml", false); doSuccessfulTest("domain_info_fee_restore_premium_response.xml", false);
} }
@ -625,7 +719,13 @@ public class DomainInfoFlowTest extends ResourceFlowTestCase<DomainInfoFlow, Dom
/** Test setting the currency explicitly to a wrong value. */ /** Test setting the currency explicitly to a wrong value. */
@Test @Test
public void testFeeExtension_wrongCurrency() { public void testFeeExtension_wrongCurrency() {
setEppInput("domain_info_fee_create.xml", ImmutableMap.of("CURRENCY", "EUR")); setEppInput(
"domain_info_fee.xml",
updateSubstitutions(
SUBSTITUTION_BASE,
"COMMAND", "create",
"CURRENCY", "EUR",
"PERIOD", "1"));
persistTestEntities(false); persistTestEntities(false);
EppException thrown = assertThrows(CurrencyUnitMismatchException.class, this::runFlow); EppException thrown = assertThrows(CurrencyUnitMismatchException.class, this::runFlow);
assertAboutEppExceptions().that(thrown).marshalsToXml(); assertAboutEppExceptions().that(thrown).marshalsToXml();
@ -633,7 +733,13 @@ public class DomainInfoFlowTest extends ResourceFlowTestCase<DomainInfoFlow, Dom
@Test @Test
public void testFeeExtension_unknownCurrency() { public void testFeeExtension_unknownCurrency() {
setEppInput("domain_info_fee_create.xml", ImmutableMap.of("CURRENCY", "BAD")); setEppInput(
"domain_info_fee.xml",
updateSubstitutions(
SUBSTITUTION_BASE,
"COMMAND", "create",
"CURRENCY", "BAD",
"PERIOD", "1"));
EppException thrown = assertThrows(UnknownCurrencyEppException.class, this::runFlow); EppException thrown = assertThrows(UnknownCurrencyEppException.class, this::runFlow);
assertAboutEppExceptions().that(thrown).marshalsToXml(); assertAboutEppExceptions().that(thrown).marshalsToXml();
} }
@ -641,7 +747,13 @@ public class DomainInfoFlowTest extends ResourceFlowTestCase<DomainInfoFlow, Dom
/** Test requesting a period that isn't in years. */ /** Test requesting a period that isn't in years. */
@Test @Test
public void testFeeExtension_periodNotInYears() { public void testFeeExtension_periodNotInYears() {
setEppInput("domain_info_fee_bad_period.xml"); setEppInput(
"domain_info_fee.xml",
updateSubstitutions(
SUBSTITUTION_BASE,
"COMMAND", "create",
"PERIOD", "2",
"UNIT", "m"));
persistTestEntities(false); persistTestEntities(false);
EppException thrown = assertThrows(BadPeriodUnitException.class, this::runFlow); EppException thrown = assertThrows(BadPeriodUnitException.class, this::runFlow);
assertAboutEppExceptions().that(thrown).marshalsToXml(); assertAboutEppExceptions().that(thrown).marshalsToXml();
@ -668,7 +780,12 @@ public class DomainInfoFlowTest extends ResourceFlowTestCase<DomainInfoFlow, Dom
/** Test a restore for more than one year. */ /** Test a restore for more than one year. */
@Test @Test
public void testFeeExtension_multiyearRestore() { public void testFeeExtension_multiyearRestore() {
setEppInput("domain_info_fee_multiyear_restore.xml"); setEppInput(
"domain_info_fee.xml",
updateSubstitutions(
SUBSTITUTION_BASE,
"COMMAND", "restore",
"PERIOD", "2"));
persistTestEntities(false); persistTestEntities(false);
EppException thrown = assertThrows(RestoresAreAlwaysForOneYearException.class, this::runFlow); EppException thrown = assertThrows(RestoresAreAlwaysForOneYearException.class, this::runFlow);
assertAboutEppExceptions().that(thrown).marshalsToXml(); assertAboutEppExceptions().that(thrown).marshalsToXml();
@ -677,7 +794,12 @@ public class DomainInfoFlowTest extends ResourceFlowTestCase<DomainInfoFlow, Dom
/** Test a transfer for more than one year. */ /** Test a transfer for more than one year. */
@Test @Test
public void testFeeExtension_multiyearTransfer() { public void testFeeExtension_multiyearTransfer() {
setEppInput("domain_info_fee_multiyear_transfer.xml"); setEppInput(
"domain_info_fee.xml",
updateSubstitutions(
SUBSTITUTION_BASE,
"COMMAND", "transfer",
"PERIOD", "2"));
persistTestEntities(false); persistTestEntities(false);
EppException thrown = assertThrows(TransfersAreAlwaysForOneYearException.class, this::runFlow); EppException thrown = assertThrows(TransfersAreAlwaysForOneYearException.class, this::runFlow);
assertAboutEppExceptions().that(thrown).marshalsToXml(); assertAboutEppExceptions().that(thrown).marshalsToXml();

View file

@ -3,14 +3,14 @@
<info> <info>
<domain:info <domain:info
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0"> xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name hosts="all">example.tld</domain:name> <domain:name hosts="all">%NAME%</domain:name>
</domain:info> </domain:info>
</info> </info>
<extension> <extension>
<fee:info xmlns:fee="urn:ietf:params:xml:ns:fee-0.6"> <fee:info xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
<fee:currency>%CURRENCY%</fee:currency> <fee:currency>%CURRENCY%</fee:currency>
<fee:command>create</fee:command> <fee:command>%COMMAND%</fee:command>
<fee:period unit="y">2</fee:period> <fee:period unit="%UNIT%">%PERIOD%</fee:period>
</fee:info> </fee:info>
</extension> </extension>
<clTRID>ABC-12345</clTRID> <clTRID>ABC-12345</clTRID>

View file

@ -1,18 +0,0 @@
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<domain:info
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name hosts="all">example.tld</domain:name>
</domain:info>
</info>
<extension>
<fee:info xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
<fee:currency>USD</fee:currency>
<fee:command>create</fee:command>
<fee:period unit="m">2</fee:period>
</fee:info>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>

View file

@ -1,18 +0,0 @@
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<domain:info
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name hosts="all">rich.example</domain:name>
</domain:info>
</info>
<extension>
<fee:info xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
<fee:currency>USD</fee:currency>
<fee:command>create</fee:command>
<fee:period unit="y">1</fee:period>
</fee:info>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>

View file

@ -1,47 +0,0 @@
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<domain:infData
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>rich.example</domain:name>
<domain:roid>%ROID%</domain:roid>
<domain:status s="ok"/>
<domain:registrant>jd1234</domain:registrant>
<domain:contact type="admin">sh8013</domain:contact>
<domain:contact type="tech">sh8013</domain:contact>
<domain:ns>
<domain:hostObj>ns1.example.tld</domain:hostObj>
<domain:hostObj>ns1.example.net</domain:hostObj>
</domain:ns>
<domain:host>ns1.example.tld</domain:host>
<domain:host>ns2.example.tld</domain:host>
<domain:clID>NewRegistrar</domain:clID>
<domain:crID>TheRegistrar</domain:crID>
<domain:crDate>1999-04-03T22:00:00.0Z</domain:crDate>
<domain:upID>NewRegistrar</domain:upID>
<domain:upDate>1999-12-03T09:00:00.0Z</domain:upDate>
<domain:exDate>2005-04-03T22:00:00.0Z</domain:exDate>
<domain:trDate>2000-04-08T09:00:00.0Z</domain:trDate>
<domain:authInfo>
<domain:pw>2fooBAR</domain:pw>
</domain:authInfo>
</domain:infData>
</resData>
<extension>
<fee:infData xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
<fee:currency>USD</fee:currency>
<fee:command>create</fee:command>
<fee:period unit="y">1</fee:period>
<fee:fee description="create">100.00</fee:fee>
<fee:class>premium</fee:class>
</fee:infData>
</extension>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>server-trid</svTRID>
</trID>
</response>
</epp>

View file

@ -1,18 +0,0 @@
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<domain:info
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name hosts="all">example.tld</domain:name>
</domain:info>
</info>
<extension>
<fee:info xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
<fee:currency>USD</fee:currency>
<fee:command>restore</fee:command>
<fee:period unit="y">2</fee:period>
</fee:info>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>

View file

@ -1,18 +0,0 @@
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<domain:info
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name hosts="all">example.tld</domain:name>
</domain:info>
</info>
<extension>
<fee:info xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
<fee:currency>USD</fee:currency>
<fee:command>transfer</fee:command>
<fee:period unit="y">2</fee:period>
</fee:info>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>

View file

@ -33,9 +33,9 @@
<extension> <extension>
<fee:infData xmlns:fee="urn:ietf:params:xml:ns:fee-0.6"> <fee:infData xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
<fee:currency>USD</fee:currency> <fee:currency>USD</fee:currency>
<fee:command>transfer</fee:command> <fee:command>%COMMAND%</fee:command>
<fee:period unit="y">1</fee:period> <fee:period unit="y">1</fee:period>
<fee:fee description="renew">100.00</fee:fee> <fee:fee description="%DESCRIPTION%">100.00</fee:fee>
<fee:class>premium</fee:class> <fee:class>premium</fee:class>
</fee:infData> </fee:infData>
</extension> </extension>

View file

@ -1,18 +0,0 @@
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<domain:info
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name hosts="all">example.tld</domain:name>
</domain:info>
</info>
<extension>
<fee:info xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
<fee:currency>USD</fee:currency>
<fee:command>renew</fee:command>
<fee:period unit="y">2</fee:period>
</fee:info>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>

View file

@ -1,18 +0,0 @@
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<domain:info
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name hosts="all">rich.example</domain:name>
</domain:info>
</info>
<extension>
<fee:info xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
<fee:currency>USD</fee:currency>
<fee:command>renew</fee:command>
<fee:period unit="y">1</fee:period>
</fee:info>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>

View file

@ -1,47 +0,0 @@
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<domain:infData
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>rich.example</domain:name>
<domain:roid>%ROID%</domain:roid>
<domain:status s="ok"/>
<domain:registrant>jd1234</domain:registrant>
<domain:contact type="admin">sh8013</domain:contact>
<domain:contact type="tech">sh8013</domain:contact>
<domain:ns>
<domain:hostObj>ns1.example.tld</domain:hostObj>
<domain:hostObj>ns1.example.net</domain:hostObj>
</domain:ns>
<domain:host>ns1.example.tld</domain:host>
<domain:host>ns2.example.tld</domain:host>
<domain:clID>NewRegistrar</domain:clID>
<domain:crID>TheRegistrar</domain:crID>
<domain:crDate>1999-04-03T22:00:00.0Z</domain:crDate>
<domain:upID>NewRegistrar</domain:upID>
<domain:upDate>1999-12-03T09:00:00.0Z</domain:upDate>
<domain:exDate>2005-04-03T22:00:00.0Z</domain:exDate>
<domain:trDate>2000-04-08T09:00:00.0Z</domain:trDate>
<domain:authInfo>
<domain:pw>2fooBAR</domain:pw>
</domain:authInfo>
</domain:infData>
</resData>
<extension>
<fee:infData xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
<fee:currency>USD</fee:currency>
<fee:command>renew</fee:command>
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">100.00</fee:fee>
<fee:class>premium</fee:class>
</fee:infData>
</extension>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>server-trid</svTRID>
</trID>
</response>
</epp>

View file

@ -1,46 +0,0 @@
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<domain:infData
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example.tld</domain:name>
<domain:roid>%ROID%</domain:roid>
<domain:status s="ok"/>
<domain:registrant>jd1234</domain:registrant>
<domain:contact type="admin">sh8013</domain:contact>
<domain:contact type="tech">sh8013</domain:contact>
<domain:ns>
<domain:hostObj>ns1.example.tld</domain:hostObj>
<domain:hostObj>ns1.example.net</domain:hostObj>
</domain:ns>
<domain:host>ns1.example.tld</domain:host>
<domain:host>ns2.example.tld</domain:host>
<domain:clID>NewRegistrar</domain:clID>
<domain:crID>TheRegistrar</domain:crID>
<domain:crDate>1999-04-03T22:00:00.0Z</domain:crDate>
<domain:upID>NewRegistrar</domain:upID>
<domain:upDate>1999-12-03T09:00:00.0Z</domain:upDate>
<domain:exDate>2005-04-03T22:00:00.0Z</domain:exDate>
<domain:trDate>2000-04-08T09:00:00.0Z</domain:trDate>
<domain:authInfo>
<domain:pw>2fooBAR</domain:pw>
</domain:authInfo>
</domain:infData>
</resData>
<extension>
<fee:infData xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
<fee:currency>USD</fee:currency>
<fee:command>renew</fee:command>
<fee:period unit="y">2</fee:period>
<fee:fee description="renew">22.00</fee:fee>
</fee:infData>
</extension>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>server-trid</svTRID>
</trID>
</response>
</epp>

View file

@ -33,9 +33,9 @@
<extension> <extension>
<fee:infData xmlns:fee="urn:ietf:params:xml:ns:fee-0.6"> <fee:infData xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
<fee:currency>USD</fee:currency> <fee:currency>USD</fee:currency>
<fee:command>create</fee:command> <fee:command>%COMMAND%</fee:command>
<fee:period unit="y">2</fee:period> <fee:period unit="y">%PERIOD%</fee:period>
<fee:fee description="create">26.00</fee:fee> <fee:fee description="%DESCRIPTION%">%FEE%</fee:fee>
</fee:infData> </fee:infData>
</extension> </extension>
<trID> <trID>

View file

@ -1,18 +0,0 @@
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<domain:info
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name hosts="all">example.tld</domain:name>
</domain:info>
</info>
<extension>
<fee:info xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
<fee:currency>USD</fee:currency>
<fee:command>restore</fee:command>
<fee:period unit="y">1</fee:period>
</fee:info>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>

View file

@ -1,18 +0,0 @@
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<domain:info
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name hosts="all">rich.example</domain:name>
</domain:info>
</info>
<extension>
<fee:info xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
<fee:currency>USD</fee:currency>
<fee:command>restore</fee:command>
<fee:period unit="y">1</fee:period>
</fee:info>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>

View file

@ -1,18 +0,0 @@
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<domain:info
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name hosts="all">example.tld</domain:name>
</domain:info>
</info>
<extension>
<fee:info xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
<fee:currency>USD</fee:currency>
<fee:command>transfer</fee:command>
<fee:period unit="y">1</fee:period>
</fee:info>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>

View file

@ -1,18 +0,0 @@
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<command>
<info>
<domain:info
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name hosts="all">rich.example</domain:name>
</domain:info>
</info>
<extension>
<fee:info xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
<fee:currency>USD</fee:currency>
<fee:command>transfer</fee:command>
<fee:period unit="y">1</fee:period>
</fee:info>
</extension>
<clTRID>ABC-12345</clTRID>
</command>
</epp>

View file

@ -1,46 +0,0 @@
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
<response>
<result code="1000">
<msg>Command completed successfully</msg>
</result>
<resData>
<domain:infData
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
<domain:name>example.tld</domain:name>
<domain:roid>%ROID%</domain:roid>
<domain:status s="ok"/>
<domain:registrant>jd1234</domain:registrant>
<domain:contact type="admin">sh8013</domain:contact>
<domain:contact type="tech">sh8013</domain:contact>
<domain:ns>
<domain:hostObj>ns1.example.tld</domain:hostObj>
<domain:hostObj>ns1.example.net</domain:hostObj>
</domain:ns>
<domain:host>ns1.example.tld</domain:host>
<domain:host>ns2.example.tld</domain:host>
<domain:clID>NewRegistrar</domain:clID>
<domain:crID>TheRegistrar</domain:crID>
<domain:crDate>1999-04-03T22:00:00.0Z</domain:crDate>
<domain:upID>NewRegistrar</domain:upID>
<domain:upDate>1999-12-03T09:00:00.0Z</domain:upDate>
<domain:exDate>2005-04-03T22:00:00.0Z</domain:exDate>
<domain:trDate>2000-04-08T09:00:00.0Z</domain:trDate>
<domain:authInfo>
<domain:pw>2fooBAR</domain:pw>
</domain:authInfo>
</domain:infData>
</resData>
<extension>
<fee:infData xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
<fee:currency>USD</fee:currency>
<fee:command>transfer</fee:command>
<fee:period unit="y">1</fee:period>
<fee:fee description="renew">11.00</fee:fee>
</fee:infData>
</extension>
<trID>
<clTRID>ABC-12345</clTRID>
<svTRID>server-trid</svTRID>
</trID>
</response>
</epp>