mirror of
https://github.com/google/nomulus.git
synced 2025-08-04 08:52:12 +02:00
Support multiple versions of the EPP Fee Extension
We want to support multiple versions of the fee extension, to allow new features while maintaining backward compatibility. This CL extends the framework and adds one new version, 0.11 (spec version 7), to the existing version 0.6 (spec version 3). A follow-on CL will add version 0.12 (spec version 8). ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=127849044
This commit is contained in:
parent
f75bb65fd3
commit
8443da5c5c
170 changed files with 4376 additions and 586 deletions
|
@ -50,6 +50,7 @@ import google.registry.testing.FakeClock;
|
|||
import google.registry.testing.FakeHttpSession;
|
||||
import google.registry.testing.InjectRule;
|
||||
import google.registry.testing.ShardableTestCase;
|
||||
import google.registry.testing.TestDataHelper;
|
||||
import google.registry.util.TypeUtils.TypeInstantiator;
|
||||
import google.registry.xml.ValidationMode;
|
||||
import java.util.List;
|
||||
|
@ -115,6 +116,10 @@ public abstract class FlowTestCase<F extends Flow> extends ShardableTestCase {
|
|||
return readResourceUtf8(getClass(), "testdata/" + filename);
|
||||
}
|
||||
|
||||
protected String readFile(String filename, Map<String, String> substitutions) {
|
||||
return TestDataHelper.loadFileWithSubstitutions(getClass(), filename, substitutions);
|
||||
}
|
||||
|
||||
protected String getClientTrid() throws Exception {
|
||||
return eppLoader.getEpp().getCommandWrapper().getClTrid();
|
||||
}
|
||||
|
|
|
@ -165,14 +165,36 @@ public class DomainApplicationCreateFlowTest
|
|||
|
||||
private void doSuccessfulTest(String responseXmlFile, boolean sunriseApplication)
|
||||
throws Exception {
|
||||
doSuccessfulTest(responseXmlFile, sunriseApplication, 1);
|
||||
doSuccessfulTest(responseXmlFile, sunriseApplication, 1, null, null);
|
||||
}
|
||||
|
||||
private void doSuccessfulTest(String responseXmlFile, boolean sunriseApplication, int years)
|
||||
private void doSuccessfulTest(
|
||||
String responseXmlFile, boolean sunriseApplication, int years)
|
||||
throws Exception {
|
||||
doSuccessfulTest(responseXmlFile, sunriseApplication, years, null, null);
|
||||
}
|
||||
|
||||
private void doSuccessfulTest(
|
||||
String responseXmlFile,
|
||||
boolean sunriseApplication,
|
||||
String feeExtensionVersion,
|
||||
String feeExtensionNamespace) throws Exception {
|
||||
doSuccessfulTest(
|
||||
responseXmlFile, sunriseApplication, 1, feeExtensionVersion, feeExtensionNamespace);
|
||||
}
|
||||
|
||||
private void doSuccessfulTest(
|
||||
String responseXmlFile,
|
||||
boolean sunriseApplication,
|
||||
int years, String feeExtensionVersion,
|
||||
String feeExtensionNamespace) throws Exception {
|
||||
assertTransactionalFlow(true);
|
||||
runFlowAssertResponse(
|
||||
readFile(responseXmlFile),
|
||||
(feeExtensionVersion == null)
|
||||
? readFile(responseXmlFile)
|
||||
: readFile(
|
||||
responseXmlFile,
|
||||
ImmutableMap.of("FEE_VERSION", feeExtensionVersion, "FEE_NS", feeExtensionNamespace)),
|
||||
"epp.response.extension.creData.applicationID",
|
||||
"epp.response.resData.creData.crDate");
|
||||
// Check that the domain application was created and persisted with a history entry.
|
||||
|
@ -440,50 +462,101 @@ public class DomainApplicationCreateFlowTest
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_landrushApplicationWithFee() throws Exception {
|
||||
public void testSuccess_landrushApplicationWithFee_v06() throws Exception {
|
||||
createTld("tld", TldState.LANDRUSH);
|
||||
setEppInput("domain_create_landrush_fee.xml");
|
||||
setEppInput("domain_create_landrush_fee.xml", ImmutableMap.of("FEE_VERSION", "0.6"));
|
||||
persistContactsAndHosts();
|
||||
clock.advanceOneMilli();
|
||||
doSuccessfulTest("domain_create_landrush_fee_response.xml", false);
|
||||
doSuccessfulTest("domain_create_landrush_fee_response.xml", false, "0.6", "fee");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_landrushApplicationWithFee_withDefaultAttributes() throws Exception {
|
||||
public void testSuccess_landrushApplicationWithFee_v11() throws Exception {
|
||||
createTld("tld", TldState.LANDRUSH);
|
||||
setEppInput("domain_create_landrush_fee_defaults.xml");
|
||||
setEppInput("domain_create_landrush_fee.xml", ImmutableMap.of("FEE_VERSION", "0.11"));
|
||||
persistContactsAndHosts();
|
||||
clock.advanceOneMilli();
|
||||
doSuccessfulTest("domain_create_landrush_fee_response.xml", false);
|
||||
doSuccessfulTest("domain_create_landrush_fee_response.xml", false, "0.11", "fee11");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_landrushApplicationWithRefundableFee() throws Exception {
|
||||
public void testSuccess_landrushApplicationWithFee_withDefaultAttributes_v06() throws Exception {
|
||||
createTld("tld", TldState.LANDRUSH);
|
||||
setEppInput("domain_create_landrush_fee_defaults.xml", ImmutableMap.of("FEE_VERSION", "0.6"));
|
||||
persistContactsAndHosts();
|
||||
clock.advanceOneMilli();
|
||||
doSuccessfulTest("domain_create_landrush_fee_response.xml", false, "0.6", "fee");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_landrushApplicationWithFee_withDefaultAttributes_v11() throws Exception {
|
||||
createTld("tld", TldState.LANDRUSH);
|
||||
setEppInput("domain_create_landrush_fee_defaults.xml", ImmutableMap.of("FEE_VERSION", "0.11"));
|
||||
persistContactsAndHosts();
|
||||
clock.advanceOneMilli();
|
||||
doSuccessfulTest("domain_create_landrush_fee_response.xml", false, "0.11", "fee11");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_landrushApplicationWithRefundableFee_v06() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
createTld("tld", TldState.LANDRUSH);
|
||||
persistContactsAndHosts();
|
||||
clock.advanceOneMilli();
|
||||
setEppInput("domain_create_landrush_fee_refundable.xml");
|
||||
setEppInput("domain_create_landrush_fee_refundable.xml", ImmutableMap.of("FEE_VERSION", "0.6"));
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_landrushApplicationWithGracePeriodFee() throws Exception {
|
||||
public void testFailure_landrushApplicationWithRefundableFee_v11() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
createTld("tld", TldState.LANDRUSH);
|
||||
persistContactsAndHosts();
|
||||
clock.advanceOneMilli();
|
||||
setEppInput("domain_create_landrush_fee_grace_period.xml");
|
||||
setEppInput(
|
||||
"domain_create_landrush_fee_refundable.xml", ImmutableMap.of("FEE_VERSION", "0.11"));
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_landrushApplicationWithAppliedFee() throws Exception {
|
||||
public void testFailure_landrushApplicationWithGracePeriodFee_v06() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
createTld("tld", TldState.LANDRUSH);
|
||||
persistContactsAndHosts();
|
||||
clock.advanceOneMilli();
|
||||
setEppInput("domain_create_landrush_fee_applied.xml");
|
||||
setEppInput(
|
||||
"domain_create_landrush_fee_grace_period.xml", ImmutableMap.of("FEE_VERSION", "0.6"));
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_landrushApplicationWithGracePeriodFee_v11() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
createTld("tld", TldState.LANDRUSH);
|
||||
persistContactsAndHosts();
|
||||
clock.advanceOneMilli();
|
||||
setEppInput(
|
||||
"domain_create_landrush_fee_grace_period.xml", ImmutableMap.of("FEE_VERSION", "0.11"));
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_landrushApplicationWithAppliedFee_v06() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
createTld("tld", TldState.LANDRUSH);
|
||||
persistContactsAndHosts();
|
||||
clock.advanceOneMilli();
|
||||
setEppInput("domain_create_landrush_fee_applied.xml", ImmutableMap.of("FEE_VERSION", "0.6"));
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_landrushApplicationWithAppliedFee_v11() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
createTld("tld", TldState.LANDRUSH);
|
||||
persistContactsAndHosts();
|
||||
clock.advanceOneMilli();
|
||||
setEppInput("domain_create_landrush_fee_applied.xml", ImmutableMap.of("FEE_VERSION", "0.11"));
|
||||
runFlow();
|
||||
}
|
||||
|
||||
|
@ -1115,10 +1188,10 @@ public class DomainApplicationCreateFlowTest
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_wrongFeeLandrushApplication() throws Exception {
|
||||
public void testFailure_wrongFeeLandrushApplication_v06() throws Exception {
|
||||
thrown.expect(FeesMismatchException.class);
|
||||
createTld("tld", TldState.LANDRUSH);
|
||||
setEppInput("domain_create_landrush_fee.xml");
|
||||
setEppInput("domain_create_landrush_fee.xml", ImmutableMap.of("FEE_VERSION", "0.6"));
|
||||
persistResource(
|
||||
Registry.get("tld").asBuilder().setCreateBillingCost(Money.of(USD, 20)).build());
|
||||
persistContactsAndHosts();
|
||||
|
@ -1127,10 +1200,22 @@ public class DomainApplicationCreateFlowTest
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_wrongCurrency() throws Exception {
|
||||
public void testFailure_wrongFeeLandrushApplication_v11() throws Exception {
|
||||
thrown.expect(FeesMismatchException.class);
|
||||
createTld("tld", TldState.LANDRUSH);
|
||||
setEppInput("domain_create_landrush_fee.xml", ImmutableMap.of("FEE_VERSION", "0.11"));
|
||||
persistResource(
|
||||
Registry.get("tld").asBuilder().setCreateBillingCost(Money.of(USD, 20)).build());
|
||||
persistContactsAndHosts();
|
||||
clock.advanceOneMilli();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_wrongCurrency_v06() throws Exception {
|
||||
thrown.expect(CurrencyUnitMismatchException.class);
|
||||
createTld("tld", TldState.LANDRUSH);
|
||||
setEppInput("domain_create_landrush_fee.xml");
|
||||
setEppInput("domain_create_landrush_fee.xml", ImmutableMap.of("FEE_VERSION", "0.6"));
|
||||
persistResource(Registry.get("tld").asBuilder()
|
||||
.setCurrency(CurrencyUnit.EUR)
|
||||
.setCreateBillingCost(Money.of(EUR, 13))
|
||||
|
@ -1145,10 +1230,38 @@ public class DomainApplicationCreateFlowTest
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_feeGivenInWrongScale() throws Exception {
|
||||
public void testFailure_wrongCurrency_v11() throws Exception {
|
||||
thrown.expect(CurrencyUnitMismatchException.class);
|
||||
createTld("tld", TldState.LANDRUSH);
|
||||
setEppInput("domain_create_landrush_fee.xml", ImmutableMap.of("FEE_VERSION", "0.11"));
|
||||
persistResource(Registry.get("tld").asBuilder()
|
||||
.setCurrency(CurrencyUnit.EUR)
|
||||
.setCreateBillingCost(Money.of(EUR, 13))
|
||||
.setRestoreBillingCost(Money.of(EUR, 11))
|
||||
.setRenewBillingCostTransitions(ImmutableSortedMap.of(START_OF_TIME, Money.of(EUR, 7)))
|
||||
.setEapFeeSchedule(ImmutableSortedMap.of(START_OF_TIME, Money.zero(EUR)))
|
||||
.setServerStatusChangeBillingCost(Money.of(EUR, 19))
|
||||
.build());
|
||||
persistContactsAndHosts();
|
||||
clock.advanceOneMilli();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_feeGivenInWrongScale_v06() throws Exception {
|
||||
thrown.expect(CurrencyValueScaleException.class);
|
||||
createTld("tld", TldState.LANDRUSH);
|
||||
setEppInput("domain_create_landrush_fee_bad_scale.xml");
|
||||
setEppInput("domain_create_landrush_fee_bad_scale.xml", ImmutableMap.of("FEE_VERSION", "0.6"));
|
||||
persistContactsAndHosts();
|
||||
clock.advanceOneMilli();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_feeGivenInWrongScale_v11() throws Exception {
|
||||
thrown.expect(CurrencyValueScaleException.class);
|
||||
createTld("tld", TldState.LANDRUSH);
|
||||
setEppInput("domain_create_landrush_fee_bad_scale.xml", ImmutableMap.of("FEE_VERSION", "0.11"));
|
||||
persistContactsAndHosts();
|
||||
clock.advanceOneMilli();
|
||||
runFlow();
|
||||
|
|
|
@ -381,28 +381,73 @@ public class DomainCheckFlowTest
|
|||
doCheckTest(create(true, "rich.example", null));
|
||||
}
|
||||
|
||||
|
||||
/** Test multiyear periods and explicitly correct currency and that the avail extension is ok. */
|
||||
@Test
|
||||
public void testFeeExtension() throws Exception {
|
||||
public void testFeeExtension_v06() throws Exception {
|
||||
persistActiveDomain("example1.tld");
|
||||
setEppInput("domain_check_fee.xml");
|
||||
runFlowAssertResponse(readFile("domain_check_fee_response.xml"));
|
||||
setEppInput("domain_check_fee_v06.xml");
|
||||
runFlowAssertResponse(readFile("domain_check_fee_response_v06.xml"));
|
||||
}
|
||||
|
||||
/** Test commands for create, renew, transfer and restore with implicit period and currency. */
|
||||
@Test
|
||||
public void testFeeExtension_multipleCommands() throws Exception {
|
||||
setEppInput("domain_check_fee_multiple_commands.xml");
|
||||
runFlowAssertResponse(readFile("domain_check_fee_multiple_commands_response.xml"));
|
||||
public void testFeeExtension_v11() throws Exception {
|
||||
persistActiveDomain("example1.tld");
|
||||
setEppInput("domain_check_fee_v11.xml");
|
||||
runFlowAssertResponse(readFile("domain_check_fee_response_v11.xml"));
|
||||
}
|
||||
|
||||
/** Test the same as {@link #testFeeExtension_multipleCommands} with premium labels. */
|
||||
/**
|
||||
* Test commands for create, renew, transfer, restore and update with implicit period and
|
||||
* currency. */
|
||||
@Test
|
||||
public void testFeeExtension_premiumLabels() throws Exception {
|
||||
public void testFeeExtension_multipleCommands_v06() throws Exception {
|
||||
setEppInput("domain_check_fee_multiple_commands_v06.xml");
|
||||
runFlowAssertResponse(readFile("domain_check_fee_multiple_commands_response_v06.xml"));
|
||||
}
|
||||
|
||||
// Version 11 cannot have multiple commands.
|
||||
|
||||
/** Test the same as {@link #testFeeExtension_multipleCommands_v06} with premium labels. */
|
||||
@Test
|
||||
public void testFeeExtension_premiumLabels_v06() throws Exception {
|
||||
createTld("example");
|
||||
setEppInput("domain_check_fee_premium.xml");
|
||||
runFlowAssertResponse(readFile("domain_check_fee_premium_response.xml"));
|
||||
setEppInput("domain_check_fee_premium_v06.xml");
|
||||
runFlowAssertResponse(readFile("domain_check_fee_premium_response_v06.xml"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeeExtension_premiumLabels_v11_create() throws Exception {
|
||||
createTld("example");
|
||||
setEppInput("domain_check_fee_premium_v11_create.xml");
|
||||
runFlowAssertResponse(readFile("domain_check_fee_premium_response_v11_create.xml"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeeExtension_premiumLabels_v11_renew() throws Exception {
|
||||
createTld("example");
|
||||
setEppInput("domain_check_fee_premium_v11_renew.xml");
|
||||
runFlowAssertResponse(readFile("domain_check_fee_premium_response_v11_renew.xml"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeeExtension_premiumLabels_v11_transfer() throws Exception {
|
||||
createTld("example");
|
||||
setEppInput("domain_check_fee_premium_v11_transfer.xml");
|
||||
runFlowAssertResponse(readFile("domain_check_fee_premium_response_v11_transfer.xml"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeeExtension_premiumLabels_v11_restore() throws Exception {
|
||||
createTld("example");
|
||||
setEppInput("domain_check_fee_premium_v11_restore.xml");
|
||||
runFlowAssertResponse(readFile("domain_check_fee_premium_response_v11_restore.xml"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeeExtension_premiumLabels_v11_update() throws Exception {
|
||||
createTld("example");
|
||||
setEppInput("domain_check_fee_premium_v11_update.xml");
|
||||
runFlowAssertResponse(readFile("domain_check_fee_premium_response_v11_update.xml"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -419,84 +464,222 @@ public class DomainCheckFlowTest
|
|||
|
||||
/** Test that create fees are properly omitted/classed on names on reserved lists. */
|
||||
@Test
|
||||
public void testFeeExtension_reservedName() throws Exception {
|
||||
public void testFeeExtension_reservedName_v06() throws Exception {
|
||||
persistResource(Registry.get("tld").asBuilder()
|
||||
.setReservedLists(createReservedList())
|
||||
.setPremiumList(persistPremiumList("tld", "premiumcollision,USD 70"))
|
||||
.build());
|
||||
setEppInput("domain_check_fee_reserved.xml");
|
||||
runFlowAssertResponse(readFile("domain_check_fee_reserved_response.xml"));
|
||||
setEppInput("domain_check_fee_reserved_v06.xml");
|
||||
runFlowAssertResponse(readFile("domain_check_fee_reserved_response_v06.xml"));
|
||||
}
|
||||
|
||||
/** The tests must be split up for version 11, which allows only one command at a time. */
|
||||
@Test
|
||||
public void testFeeExtension_reservedName_v11_create() throws Exception {
|
||||
persistResource(Registry.get("tld").asBuilder()
|
||||
.setReservedLists(createReservedList())
|
||||
.setPremiumList(persistPremiumList("tld", "premiumcollision,USD 70"))
|
||||
.build());
|
||||
setEppInput("domain_check_fee_reserved_v11_create.xml");
|
||||
runFlowAssertResponse(readFile("domain_check_fee_reserved_response_v11_create.xml"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeeExtension_feesNotOmittedOnReservedNamesInSunrise() throws Exception {
|
||||
public void testFeeExtension_reservedName_v11_renew() throws Exception {
|
||||
persistResource(Registry.get("tld").asBuilder()
|
||||
.setReservedLists(createReservedList())
|
||||
.setPremiumList(persistPremiumList("tld", "premiumcollision,USD 70"))
|
||||
.build());
|
||||
setEppInput("domain_check_fee_reserved_v11_renew.xml");
|
||||
runFlowAssertResponse(readFile("domain_check_fee_reserved_response_v11_renew.xml"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeeExtension_reservedName_v11_transfer() throws Exception {
|
||||
persistResource(Registry.get("tld").asBuilder()
|
||||
.setReservedLists(createReservedList())
|
||||
.setPremiumList(persistPremiumList("tld", "premiumcollision,USD 70"))
|
||||
.build());
|
||||
setEppInput("domain_check_fee_reserved_v11_transfer.xml");
|
||||
runFlowAssertResponse(readFile("domain_check_fee_reserved_response_v11_transfer.xml"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeeExtension_reservedName_v11_restore() throws Exception {
|
||||
persistResource(Registry.get("tld").asBuilder()
|
||||
.setReservedLists(createReservedList())
|
||||
.setPremiumList(persistPremiumList("tld", "premiumcollision,USD 70"))
|
||||
.build());
|
||||
setEppInput("domain_check_fee_reserved_v11_restore.xml");
|
||||
runFlowAssertResponse(readFile("domain_check_fee_reserved_response_v11_restore.xml"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeeExtension_feesNotOmittedOnReservedNamesInSunrise_v06() throws Exception {
|
||||
createTld("tld", TldState.SUNRISE);
|
||||
persistResource(Registry.get("tld").asBuilder()
|
||||
.setReservedLists(createReservedList())
|
||||
.setPremiumList(persistPremiumList("tld", "premiumcollision,USD 70"))
|
||||
.build());
|
||||
setEppInput("domain_check_fee_reserved.xml");
|
||||
runFlowAssertResponse(readFile("domain_check_fee_reserved_sunrise_response.xml"));
|
||||
setEppInput("domain_check_fee_reserved_v06.xml");
|
||||
runFlowAssertResponse(readFile("domain_check_fee_reserved_sunrise_response_v06.xml"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeeExtension_wrongCurrency() throws Exception {
|
||||
public void
|
||||
testFeeExtension_feesNotOmittedOnReservedNamesInSunrise_v11_create() throws Exception {
|
||||
createTld("tld", TldState.SUNRISE);
|
||||
persistResource(Registry.get("tld").asBuilder()
|
||||
.setReservedLists(createReservedList())
|
||||
.setPremiumList(persistPremiumList("tld", "premiumcollision,USD 70"))
|
||||
.build());
|
||||
setEppInput("domain_check_fee_reserved_v11_create.xml");
|
||||
runFlowAssertResponse(readFile("domain_check_fee_reserved_sunrise_response_v11_create.xml"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void
|
||||
testFeeExtension_feesNotOmittedOnReservedNamesInSunrise_v11_renew() throws Exception {
|
||||
createTld("tld", TldState.SUNRISE);
|
||||
persistResource(Registry.get("tld").asBuilder()
|
||||
.setReservedLists(createReservedList())
|
||||
.setPremiumList(persistPremiumList("tld", "premiumcollision,USD 70"))
|
||||
.build());
|
||||
setEppInput("domain_check_fee_reserved_v11_renew.xml");
|
||||
runFlowAssertResponse(readFile("domain_check_fee_reserved_sunrise_response_v11_renew.xml"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void
|
||||
testFeeExtension_feesNotOmittedOnReservedNamesInSunrise_v11_transfer() throws Exception {
|
||||
createTld("tld", TldState.SUNRISE);
|
||||
persistResource(Registry.get("tld").asBuilder()
|
||||
.setReservedLists(createReservedList())
|
||||
.setPremiumList(persistPremiumList("tld", "premiumcollision,USD 70"))
|
||||
.build());
|
||||
setEppInput("domain_check_fee_reserved_v11_transfer.xml");
|
||||
runFlowAssertResponse(readFile("domain_check_fee_reserved_sunrise_response_v11_transfer.xml"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void
|
||||
testFeeExtension_feesNotOmittedOnReservedNamesInSunrise_v11_restore() throws Exception {
|
||||
createTld("tld", TldState.SUNRISE);
|
||||
persistResource(Registry.get("tld").asBuilder()
|
||||
.setReservedLists(createReservedList())
|
||||
.setPremiumList(persistPremiumList("tld", "premiumcollision,USD 70"))
|
||||
.build());
|
||||
setEppInput("domain_check_fee_reserved_v11_restore.xml");
|
||||
runFlowAssertResponse(readFile("domain_check_fee_reserved_sunrise_response_v11_restore.xml"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeeExtension_wrongCurrency_v06() throws Exception {
|
||||
thrown.expect(CurrencyUnitMismatchException.class);
|
||||
setEppInput("domain_check_fee_euro.xml");
|
||||
setEppInput("domain_check_fee_euro_v06.xml");
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeeExtension_periodNotInYears() throws Exception {
|
||||
public void testFeeExtension_wrongCurrency_v11() throws Exception {
|
||||
thrown.expect(CurrencyUnitMismatchException.class);
|
||||
setEppInput("domain_check_fee_euro_v11.xml");
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeeExtension_periodNotInYears_v06() throws Exception {
|
||||
thrown.expect(BadPeriodUnitException.class);
|
||||
setEppInput("domain_check_fee_bad_period.xml");
|
||||
setEppInput("domain_check_fee_bad_period_v06.xml");
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeeExtension_commandWithPhase() throws Exception {
|
||||
thrown.expect(FeeChecksDontSupportPhasesException.class);
|
||||
setEppInput("domain_check_fee_command_phase.xml");
|
||||
public void testFeeExtension_periodNotInYears_v11() throws Exception {
|
||||
thrown.expect(BadPeriodUnitException.class);
|
||||
setEppInput("domain_check_fee_bad_period_v11.xml");
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeeExtension_commandSubphase() throws Exception {
|
||||
public void testFeeExtension_commandWithPhase_v06() throws Exception {
|
||||
thrown.expect(FeeChecksDontSupportPhasesException.class);
|
||||
setEppInput("domain_check_fee_command_subphase.xml");
|
||||
setEppInput("domain_check_fee_command_phase_v06.xml");
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeeExtension_commandWithPhase_v11() throws Exception {
|
||||
thrown.expect(FeeChecksDontSupportPhasesException.class);
|
||||
setEppInput("domain_check_fee_command_phase_v11.xml");
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeeExtension_commandSubphase_v06() throws Exception {
|
||||
thrown.expect(FeeChecksDontSupportPhasesException.class);
|
||||
setEppInput("domain_check_fee_command_subphase_v06.xml");
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeeExtension_commandSubphase_v11() throws Exception {
|
||||
thrown.expect(FeeChecksDontSupportPhasesException.class);
|
||||
setEppInput("domain_check_fee_command_subphase_v11.xml");
|
||||
runFlow();
|
||||
}
|
||||
|
||||
// This test is only relevant for v06, since domain names are not specified in v11 or v12.
|
||||
@Test
|
||||
public void testFeeExtension_feeCheckNotInAvailabilityCheck() throws Exception {
|
||||
thrown.expect(OnlyCheckedNamesCanBeFeeCheckedException.class);
|
||||
setEppInput("domain_check_fee_not_in_avail.xml");
|
||||
runFlow();
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testFeeExtension_multiyearRestore() throws Exception {
|
||||
public void testFeeExtension_multiyearRestore_v06() throws Exception {
|
||||
thrown.expect(RestoresAreAlwaysForOneYearException.class);
|
||||
setEppInput("domain_check_fee_multiyear_restore.xml");
|
||||
setEppInput("domain_check_fee_multiyear_restore_v06.xml");
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeeExtension_unknownCommand() throws Exception {
|
||||
public void testFeeExtension_multiyearRestore_v11() throws Exception {
|
||||
thrown.expect(RestoresAreAlwaysForOneYearException.class);
|
||||
setEppInput("domain_check_fee_multiyear_restore_v11.xml");
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeeExtension_unknownCommand_v06() throws Exception {
|
||||
thrown.expect(UnknownFeeCommandException.class);
|
||||
setEppInput("domain_check_fee_unknown_command.xml");
|
||||
setEppInput("domain_check_fee_unknown_command_v06.xml");
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeeExtension_invalidCommand() throws Exception {
|
||||
public void testFeeExtension_unknownCommand_v11() throws Exception {
|
||||
thrown.expect(UnknownFeeCommandException.class);
|
||||
setEppInput("domain_check_fee_invalid_command.xml");
|
||||
setEppInput("domain_check_fee_unknown_command_v11.xml");
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_eapFeeCheck() throws Exception {
|
||||
public void testFeeExtension_invalidCommand_v06() throws Exception {
|
||||
thrown.expect(UnknownFeeCommandException.class);
|
||||
setEppInput("domain_check_fee_invalid_command_v06.xml");
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeeExtension_invalidCommand_v11() throws Exception {
|
||||
thrown.expect(UnknownFeeCommandException.class);
|
||||
setEppInput("domain_check_fee_invalid_command_v11.xml");
|
||||
runFlow();
|
||||
}
|
||||
|
||||
private void runEapFeeCheckTest(String inputFile, String outputFile) throws Exception {
|
||||
clock.setTo(DateTime.parse("2010-01-01T10:00:00Z"));
|
||||
persistActiveDomain("example1.tld");
|
||||
persistResource(Registry.get("tld").asBuilder()
|
||||
|
@ -505,7 +688,18 @@ public class DomainCheckFlowTest
|
|||
clock.nowUtc().minusDays(1), Money.of(USD, 100),
|
||||
clock.nowUtc().plusDays(1), Money.of(USD, 0)))
|
||||
.build());
|
||||
setEppInput("domain_check_fee.xml");
|
||||
runFlowAssertResponse(readFile("domain_check_eap_fee_response.xml"));
|
||||
setEppInput(inputFile);
|
||||
runFlowAssertResponse(readFile(outputFile));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_eapFeeCheck_v06() throws Exception {
|
||||
runEapFeeCheckTest("domain_check_fee_v06.xml", "domain_check_eap_fee_response_v06.xml");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_eapFeeCheck_v11() throws Exception {
|
||||
runEapFeeCheckTest("domain_check_fee_v11.xml", "domain_check_eap_fee_response_v11.xml");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -112,6 +112,7 @@ import google.registry.model.registry.Registry;
|
|||
import google.registry.model.registry.Registry.TldState;
|
||||
import google.registry.model.reporting.HistoryEntry;
|
||||
import google.registry.testing.DatastoreHelper;
|
||||
import java.util.Map;
|
||||
import org.joda.money.CurrencyUnit;
|
||||
import org.joda.money.Money;
|
||||
import org.joda.time.DateTime;
|
||||
|
@ -247,12 +248,28 @@ public class DomainCreateFlowTest extends ResourceFlowTestCase<DomainCreateFlow,
|
|||
String domainTld,
|
||||
String responseXmlFile,
|
||||
UserPrivileges userPrivileges) throws Exception {
|
||||
doSuccessfulTest(domainTld, responseXmlFile, userPrivileges, ImmutableMap.<String, String>of());
|
||||
}
|
||||
|
||||
private void doSuccessfulTest(
|
||||
String domainTld,
|
||||
String responseXmlFile,
|
||||
UserPrivileges userPrivileges,
|
||||
Map<String, String> substitutions) throws Exception {
|
||||
assertTransactionalFlow(true);
|
||||
runFlowAssertResponse(CommitMode.LIVE, userPrivileges, readFile(responseXmlFile));
|
||||
runFlowAssertResponse(
|
||||
CommitMode.LIVE, userPrivileges, readFile(responseXmlFile, substitutions));
|
||||
assertSuccessfulCreate(domainTld, false);
|
||||
assertNoLordn();
|
||||
}
|
||||
|
||||
private void doSuccessfulTest(
|
||||
String domainTld,
|
||||
String responseXmlFile,
|
||||
Map<String, String> substitutions) throws Exception {
|
||||
doSuccessfulTest(domainTld, responseXmlFile, UserPrivileges.NORMAL, substitutions);
|
||||
}
|
||||
|
||||
private void doSuccessfulTest(String domainTld, String responseXmlFile) throws Exception {
|
||||
doSuccessfulTest(domainTld, responseXmlFile, UserPrivileges.NORMAL);
|
||||
}
|
||||
|
@ -303,39 +320,81 @@ public class DomainCreateFlowTest extends ResourceFlowTestCase<DomainCreateFlow,
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_fee() throws Exception {
|
||||
setEppInput("domain_create_fee.xml");
|
||||
public void testSuccess_fee_v06() throws Exception {
|
||||
setEppInput("domain_create_fee.xml", ImmutableMap.of("FEE_VERSION", "0.6"));
|
||||
persistContactsAndHosts();
|
||||
doSuccessfulTest("tld", "domain_create_response_fee.xml");
|
||||
doSuccessfulTest(
|
||||
"tld", "domain_create_response_fee.xml", ImmutableMap.of("FEE_VERSION", "0.6"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_fee_withDefaultAttributes() throws Exception {
|
||||
setEppInput("domain_create_fee_defaults.xml");
|
||||
public void testSuccess_fee_v11() throws Exception {
|
||||
setEppInput("domain_create_fee.xml", ImmutableMap.of("FEE_VERSION", "0.11"));
|
||||
persistContactsAndHosts();
|
||||
doSuccessfulTest("tld", "domain_create_response_fee.xml");
|
||||
doSuccessfulTest(
|
||||
"tld", "domain_create_response_fee.xml", ImmutableMap.of("FEE_VERSION", "0.11"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_refundableFee() throws Exception {
|
||||
public void testSuccess_fee_withDefaultAttributes_v06() throws Exception {
|
||||
setEppInput("domain_create_fee_defaults.xml", ImmutableMap.of("FEE_VERSION", "0.6"));
|
||||
persistContactsAndHosts();
|
||||
doSuccessfulTest(
|
||||
"tld", "domain_create_response_fee.xml", ImmutableMap.of("FEE_VERSION", "0.6"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_fee_withDefaultAttributes_v11() throws Exception {
|
||||
setEppInput("domain_create_fee_defaults.xml", ImmutableMap.of("FEE_VERSION", "0.11"));
|
||||
persistContactsAndHosts();
|
||||
doSuccessfulTest(
|
||||
"tld", "domain_create_response_fee.xml", ImmutableMap.of("FEE_VERSION", "0.11"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_refundableFee_v06() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
setEppInput("domain_create_fee_refundable.xml");
|
||||
setEppInput("domain_create_fee_refundable.xml", ImmutableMap.of("FEE_VERSION", "0.6"));
|
||||
persistContactsAndHosts();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_gracePeriodFee() throws Exception {
|
||||
public void testFailure_refundableFee_v11() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
setEppInput("domain_create_fee_grace_period.xml");
|
||||
setEppInput("domain_create_fee_refundable.xml", ImmutableMap.of("FEE_VERSION", "0.11"));
|
||||
persistContactsAndHosts();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_appliedFee() throws Exception {
|
||||
public void testFailure_gracePeriodFee_v06() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
setEppInput("domain_create_fee_applied.xml");
|
||||
setEppInput("domain_create_fee_grace_period.xml", ImmutableMap.of("FEE_VERSION", "0.6"));
|
||||
persistContactsAndHosts();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_gracePeriodFee_v11() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
setEppInput("domain_create_fee_grace_period.xml", ImmutableMap.of("FEE_VERSION", "0.11"));
|
||||
persistContactsAndHosts();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_appliedFee_v06() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
setEppInput("domain_create_fee_applied.xml", ImmutableMap.of("FEE_VERSION", "0.6"));
|
||||
persistContactsAndHosts();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_appliedFee_v11() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
setEppInput("domain_create_fee_applied.xml", ImmutableMap.of("FEE_VERSION", "0.11"));
|
||||
persistContactsAndHosts();
|
||||
runFlow();
|
||||
}
|
||||
|
@ -548,18 +607,43 @@ public class DomainCreateFlowTest extends ResourceFlowTestCase<DomainCreateFlow,
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_wrongFeeAmount() throws Exception {
|
||||
public void testFailure_wrongFeeAmount_v06() throws Exception {
|
||||
thrown.expect(FeesMismatchException.class);
|
||||
setEppInput("domain_create_fee.xml");
|
||||
setEppInput("domain_create_fee.xml", ImmutableMap.of("FEE_VERSION", "0.6"));
|
||||
persistResource(Registry.get("tld").asBuilder().setCreateBillingCost(Money.of(USD, 20)).build());
|
||||
persistContactsAndHosts();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_wrongCurrency() throws Exception {
|
||||
public void testFailure_wrongFeeAmount_v11() throws Exception {
|
||||
thrown.expect(FeesMismatchException.class);
|
||||
setEppInput("domain_create_fee.xml", ImmutableMap.of("FEE_VERSION", "0.11"));
|
||||
persistResource(Registry.get("tld").asBuilder().setCreateBillingCost(Money.of(USD, 20)).build());
|
||||
persistContactsAndHosts();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_wrongCurrency_v06() throws Exception {
|
||||
thrown.expect(CurrencyUnitMismatchException.class);
|
||||
setEppInput("domain_create_fee.xml");
|
||||
setEppInput("domain_create_fee.xml", ImmutableMap.of("FEE_VERSION", "0.6"));
|
||||
persistResource(Registry.get("tld").asBuilder()
|
||||
.setCurrency(CurrencyUnit.EUR)
|
||||
.setCreateBillingCost(Money.of(EUR, 13))
|
||||
.setRestoreBillingCost(Money.of(EUR, 11))
|
||||
.setRenewBillingCostTransitions(ImmutableSortedMap.of(START_OF_TIME, Money.of(EUR, 7)))
|
||||
.setEapFeeSchedule(ImmutableSortedMap.of(START_OF_TIME, Money.zero(EUR)))
|
||||
.setServerStatusChangeBillingCost(Money.of(EUR, 19))
|
||||
.build());
|
||||
persistContactsAndHosts();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_wrongCurrency_v11() throws Exception {
|
||||
thrown.expect(CurrencyUnitMismatchException.class);
|
||||
setEppInput("domain_create_fee.xml", ImmutableMap.of("FEE_VERSION", "0.11"));
|
||||
persistResource(Registry.get("tld").asBuilder()
|
||||
.setCurrency(CurrencyUnit.EUR)
|
||||
.setCreateBillingCost(Money.of(EUR, 13))
|
||||
|
@ -979,19 +1063,39 @@ public class DomainCreateFlowTest extends ResourceFlowTestCase<DomainCreateFlow,
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_omitFeeExtensionOnLogin() throws Exception {
|
||||
public void testFailure_omitFeeExtensionOnLogin_v06() throws Exception {
|
||||
thrown.expect(UndeclaredServiceExtensionException.class);
|
||||
removeServiceExtensionUri(ServiceExtension.FEE_0_6.getUri());
|
||||
removeServiceExtensionUri(ServiceExtension.FEE_0_11.getUri());
|
||||
createTld("net");
|
||||
setEppInput("domain_create_fee.xml");
|
||||
setEppInput("domain_create_fee.xml", ImmutableMap.of("FEE_VERSION", "0.6"));
|
||||
persistContactsAndHosts();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_feeGivenInWrongScale() throws Exception {
|
||||
public void testFailure_omitFeeExtensionOnLogin_v11() throws Exception {
|
||||
thrown.expect(UndeclaredServiceExtensionException.class);
|
||||
removeServiceExtensionUri(ServiceExtension.FEE_0_6.getUri());
|
||||
removeServiceExtensionUri(ServiceExtension.FEE_0_11.getUri());
|
||||
createTld("net");
|
||||
setEppInput("domain_create_fee.xml", ImmutableMap.of("FEE_VERSION", "0.11"));
|
||||
persistContactsAndHosts();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_feeGivenInWrongScale_v06() throws Exception {
|
||||
thrown.expect(CurrencyValueScaleException.class);
|
||||
setEppInput("domain_create_fee_bad_scale.xml");
|
||||
setEppInput("domain_create_fee_bad_scale.xml", ImmutableMap.of("FEE_VERSION", "0.6"));
|
||||
persistContactsAndHosts();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_feeGivenInWrongScale_v11() throws Exception {
|
||||
thrown.expect(CurrencyValueScaleException.class);
|
||||
setEppInput("domain_create_fee_bad_scale.xml", ImmutableMap.of("FEE_VERSION", "0.11"));
|
||||
persistContactsAndHosts();
|
||||
runFlow();
|
||||
}
|
||||
|
@ -1283,8 +1387,8 @@ public class DomainCreateFlowTest extends ResourceFlowTestCase<DomainCreateFlow,
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_eapFeeApplied() throws Exception {
|
||||
setEppInput("domain_create_eap_fee.xml");
|
||||
public void testSuccess_eapFeeApplied_v06() throws Exception {
|
||||
setEppInput("domain_create_eap_fee.xml", ImmutableMap.of("FEE_VERSION", "0.6"));
|
||||
persistContactsAndHosts();
|
||||
persistResource(Registry.get("tld").asBuilder()
|
||||
.setEapFeeSchedule(ImmutableSortedMap.of(
|
||||
|
@ -1292,7 +1396,22 @@ public class DomainCreateFlowTest extends ResourceFlowTestCase<DomainCreateFlow,
|
|||
clock.nowUtc().minusDays(1), Money.of(USD, 100),
|
||||
clock.nowUtc().plusDays(1), Money.of(USD, 0)))
|
||||
.build());
|
||||
doSuccessfulTest("tld", "domain_create_response_eap_fee.xml");
|
||||
doSuccessfulTest(
|
||||
"tld", "domain_create_response_eap_fee.xml", ImmutableMap.of("FEE_VERSION", "0.6"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_eapFeeApplied_v11() throws Exception {
|
||||
setEppInput("domain_create_eap_fee.xml", ImmutableMap.of("FEE_VERSION", "0.11"));
|
||||
persistContactsAndHosts();
|
||||
persistResource(Registry.get("tld").asBuilder()
|
||||
.setEapFeeSchedule(ImmutableSortedMap.of(
|
||||
START_OF_TIME, Money.of(USD, 0),
|
||||
clock.nowUtc().minusDays(1), Money.of(USD, 100),
|
||||
clock.nowUtc().plusDays(1), Money.of(USD, 0)))
|
||||
.build());
|
||||
doSuccessfulTest(
|
||||
"tld", "domain_create_response_eap_fee.xml", ImmutableMap.of("FEE_VERSION", "0.11"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -37,6 +37,7 @@ import static google.registry.util.DateTimeUtils.START_OF_TIME;
|
|||
import static org.joda.money.CurrencyUnit.USD;
|
||||
|
||||
import com.google.common.collect.FluentIterable;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.ImmutableSortedMap;
|
||||
import com.google.common.collect.Iterables;
|
||||
|
@ -57,6 +58,7 @@ import google.registry.model.contact.ContactResource;
|
|||
import google.registry.model.domain.DomainResource;
|
||||
import google.registry.model.domain.GracePeriod;
|
||||
import google.registry.model.domain.rgp.GracePeriodStatus;
|
||||
import google.registry.model.eppcommon.ProtocolDefinition.ServiceExtension;
|
||||
import google.registry.model.eppcommon.StatusValue;
|
||||
import google.registry.model.eppcommon.Trid;
|
||||
import google.registry.model.host.HostResource;
|
||||
|
@ -68,6 +70,7 @@ import google.registry.model.reporting.HistoryEntry;
|
|||
import google.registry.model.transfer.TransferData;
|
||||
import google.registry.model.transfer.TransferResponse;
|
||||
import google.registry.model.transfer.TransferStatus;
|
||||
import java.util.Map;
|
||||
import org.joda.money.Money;
|
||||
import org.joda.time.DateTime;
|
||||
import org.joda.time.Duration;
|
||||
|
@ -84,6 +87,11 @@ public class DomainDeleteFlowTest extends ResourceFlowTestCase<DomainDeleteFlow,
|
|||
private static final DateTime A_MONTH_AGO = TIME_BEFORE_FLOW.minusMonths(1);
|
||||
private static final DateTime A_MONTH_FROM_NOW = TIME_BEFORE_FLOW.plusMonths(1);
|
||||
|
||||
private static final ImmutableMap<String, String> FEE_06_MAP =
|
||||
ImmutableMap.of("FEE_VERSION", "0.6", "FEE_NS", "fee");
|
||||
private static final ImmutableMap<String, String> FEE_11_MAP =
|
||||
ImmutableMap.of("FEE_VERSION", "0.11", "FEE_NS", "fee11");
|
||||
|
||||
public DomainDeleteFlowTest() {
|
||||
setEppInput("domain_delete.xml");
|
||||
clock.setTo(TIME_BEFORE_FLOW);
|
||||
|
@ -226,6 +234,13 @@ public class DomainDeleteFlowTest extends ResourceFlowTestCase<DomainDeleteFlow,
|
|||
|
||||
private void doImmediateDeleteTest(GracePeriodStatus gracePeriodStatus, String responseFilename)
|
||||
throws Exception {
|
||||
doImmediateDeleteTest(gracePeriodStatus, responseFilename, ImmutableMap.<String, String>of());
|
||||
}
|
||||
|
||||
private void doImmediateDeleteTest(
|
||||
GracePeriodStatus gracePeriodStatus,
|
||||
String responseFilename,
|
||||
Map<String, String> substitutions) throws Exception {
|
||||
// Persist the billing event so it can be retrieved for cancellation generation and checking.
|
||||
setupSuccessfulTest();
|
||||
BillingEvent.OneTime graceBillingEvent =
|
||||
|
@ -234,7 +249,7 @@ public class DomainDeleteFlowTest extends ResourceFlowTestCase<DomainDeleteFlow,
|
|||
// We should see exactly one poll message, which is for the autorenew 1 month in the future.
|
||||
assertPollMessages(createAutorenewPollMessage("TheRegistrar").build());
|
||||
clock.advanceOneMilli();
|
||||
runFlowAssertResponse(readFile(responseFilename));
|
||||
runFlowAssertResponse(readFile(responseFilename, substitutions));
|
||||
// Check that the domain is fully deleted.
|
||||
assertThat(reloadResourceByUniqueId()).isNull();
|
||||
// The add grace period is for a billable action, so it should trigger a cancellation.
|
||||
|
@ -253,8 +268,14 @@ public class DomainDeleteFlowTest extends ResourceFlowTestCase<DomainDeleteFlow,
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_addGracePeriodCredit() throws Exception {
|
||||
doImmediateDeleteTest(GracePeriodStatus.ADD, "domain_delete_response_fee.xml");
|
||||
public void testSuccess_addGracePeriodCredit_v06() throws Exception {
|
||||
removeServiceExtensionUri(ServiceExtension.FEE_0_11.getUri());
|
||||
doImmediateDeleteTest(GracePeriodStatus.ADD, "domain_delete_response_fee.xml", FEE_06_MAP);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_addGracePeriodCredit_v11() throws Exception {
|
||||
doImmediateDeleteTest(GracePeriodStatus.ADD, "domain_delete_response_fee.xml", FEE_11_MAP);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -264,6 +285,11 @@ public class DomainDeleteFlowTest extends ResourceFlowTestCase<DomainDeleteFlow,
|
|||
}
|
||||
|
||||
private void doSuccessfulTest_noAddGracePeriod(String responseFilename) throws Exception {
|
||||
doSuccessfulTest_noAddGracePeriod(responseFilename, ImmutableMap.<String, String>of());
|
||||
}
|
||||
|
||||
private void doSuccessfulTest_noAddGracePeriod(
|
||||
String responseFilename, Map<String, String> substitutions) throws Exception {
|
||||
// Persist the billing event so it can be retrieved for cancellation generation and checking.
|
||||
setupSuccessfulTest();
|
||||
BillingEvent.OneTime renewBillingEvent =
|
||||
|
@ -275,7 +301,7 @@ public class DomainDeleteFlowTest extends ResourceFlowTestCase<DomainDeleteFlow,
|
|||
// We should see exactly one poll message, which is for the autorenew 1 month in the future.
|
||||
assertPollMessages(createAutorenewPollMessage("TheRegistrar").build());
|
||||
clock.advanceOneMilli();
|
||||
runFlowAssertResponse(readFile(responseFilename));
|
||||
runFlowAssertResponse(readFile(responseFilename, substitutions));
|
||||
DomainResource resource = reloadResourceByUniqueId();
|
||||
// Check that the domain is in the pending delete state.
|
||||
assertAboutDomains().that(resource)
|
||||
|
@ -315,8 +341,14 @@ public class DomainDeleteFlowTest extends ResourceFlowTestCase<DomainDeleteFlow,
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_renewGracePeriodCredit() throws Exception {
|
||||
doSuccessfulTest_noAddGracePeriod("domain_delete_response_pending_fee.xml");
|
||||
public void testSuccess_renewGracePeriodCredit_v06() throws Exception {
|
||||
removeServiceExtensionUri(ServiceExtension.FEE_0_11.getUri());
|
||||
doSuccessfulTest_noAddGracePeriod("domain_delete_response_pending_fee.xml", FEE_06_MAP);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_renewGracePeriodCredit_v11() throws Exception {
|
||||
doSuccessfulTest_noAddGracePeriod("domain_delete_response_pending_fee.xml", FEE_11_MAP);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -361,14 +393,23 @@ public class DomainDeleteFlowTest extends ResourceFlowTestCase<DomainDeleteFlow,
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_autoRenewGracePeriod() throws Exception {
|
||||
public void testSuccess_autoRenewGracePeriod_v06() throws Exception {
|
||||
removeServiceExtensionUri(ServiceExtension.FEE_0_11.getUri());
|
||||
setupAutorenewGracePeriod();
|
||||
clock.advanceOneMilli();
|
||||
runFlowAssertResponse(readFile("domain_delete_response_autorenew_fee.xml"));
|
||||
runFlowAssertResponse(readFile("domain_delete_response_autorenew_fee.xml", FEE_06_MAP));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_autoRenewGracePeriod_priceChanges() throws Exception {
|
||||
public void testSuccess_autoRenewGracePeriod_v11() throws Exception {
|
||||
setupAutorenewGracePeriod();
|
||||
clock.advanceOneMilli();
|
||||
runFlowAssertResponse(readFile("domain_delete_response_autorenew_fee.xml", FEE_11_MAP));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_autoRenewGracePeriod_priceChanges_v06() throws Exception {
|
||||
removeServiceExtensionUri(ServiceExtension.FEE_0_11.getUri());
|
||||
persistResource(
|
||||
Registry.get("tld")
|
||||
.asBuilder()
|
||||
|
@ -377,7 +418,20 @@ public class DomainDeleteFlowTest extends ResourceFlowTestCase<DomainDeleteFlow,
|
|||
.build());
|
||||
setupAutorenewGracePeriod();
|
||||
clock.advanceOneMilli();
|
||||
runFlowAssertResponse(readFile("domain_delete_response_autorenew_fee.xml"));
|
||||
runFlowAssertResponse(readFile("domain_delete_response_autorenew_fee.xml", FEE_06_MAP));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_autoRenewGracePeriod_priceChanges_v11() throws Exception {
|
||||
persistResource(
|
||||
Registry.get("tld")
|
||||
.asBuilder()
|
||||
.setRenewBillingCostTransitions(ImmutableSortedMap.of(
|
||||
START_OF_TIME, Money.of(USD, 11), TIME_BEFORE_FLOW.minusDays(5), Money.of(USD, 20)))
|
||||
.build());
|
||||
setupAutorenewGracePeriod();
|
||||
clock.advanceOneMilli();
|
||||
runFlowAssertResponse(readFile("domain_delete_response_autorenew_fee.xml", FEE_11_MAP));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -498,7 +498,10 @@ public class DomainInfoFlowTest extends ResourceFlowTestCase<DomainInfoFlow, Dom
|
|||
runFlow();
|
||||
}
|
||||
|
||||
/** Test create command. */
|
||||
/**
|
||||
* Test create command. Fee extension version 6 is the only one which supports fee extensions
|
||||
* on info commands and responses, so we don't need to test the other versions.
|
||||
*/
|
||||
@Test
|
||||
public void testFeeExtension_createCommand() throws Exception {
|
||||
setEppInput("domain_info_fee_create.xml");
|
||||
|
|
|
@ -58,6 +58,7 @@ import google.registry.model.poll.PollMessage;
|
|||
import google.registry.model.registrar.Registrar;
|
||||
import google.registry.model.registry.Registry;
|
||||
import google.registry.model.reporting.HistoryEntry;
|
||||
import java.util.Map;
|
||||
import org.joda.money.Money;
|
||||
import org.joda.time.DateTime;
|
||||
import org.joda.time.Duration;
|
||||
|
@ -67,6 +68,11 @@ import org.junit.Test;
|
|||
/** Unit tests for {@link DomainRenewFlow}. */
|
||||
public class DomainRenewFlowTest extends ResourceFlowTestCase<DomainRenewFlow, DomainResource> {
|
||||
|
||||
private static final ImmutableMap<String, String> FEE_06_MAP =
|
||||
ImmutableMap.of("FEE_VERSION", "0.6", "FEE_NS", "fee");
|
||||
private static final ImmutableMap<String, String> FEE_11_MAP =
|
||||
ImmutableMap.of("FEE_VERSION", "0.11", "FEE_NS", "fee11");
|
||||
|
||||
final DateTime expirationTime = DateTime.parse("2000-04-03T22:00:00.0Z");
|
||||
|
||||
public DomainRenewFlowTest() {
|
||||
|
@ -115,10 +121,16 @@ public class DomainRenewFlowTest extends ResourceFlowTestCase<DomainRenewFlow, D
|
|||
}
|
||||
|
||||
private void doSuccessfulTest(String responseFilename, int renewalYears) throws Exception {
|
||||
doSuccessfulTest(responseFilename, renewalYears, ImmutableMap.<String, String>of());
|
||||
}
|
||||
private void doSuccessfulTest(
|
||||
String responseFilename,
|
||||
int renewalYears,
|
||||
Map<String, String> substitutions) throws Exception {
|
||||
assertTransactionalFlow(true);
|
||||
DateTime currentExpiration = reloadResourceByUniqueId().getRegistrationExpirationTime();
|
||||
DateTime newExpiration = currentExpiration.plusYears(renewalYears);
|
||||
runFlowAssertResponse(readFile(responseFilename));
|
||||
runFlowAssertResponse(readFile(responseFilename, substitutions));
|
||||
DomainResource domain = reloadResourceByUniqueId();
|
||||
HistoryEntry historyEntryDomainRenew =
|
||||
getOnlyHistoryEntryOfType(domain, HistoryEntry.Type.DOMAIN_RENEW);
|
||||
|
@ -195,39 +207,77 @@ public class DomainRenewFlowTest extends ResourceFlowTestCase<DomainRenewFlow, D
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_fee() throws Exception {
|
||||
setEppInput("domain_renew_fee.xml");
|
||||
public void testSuccess_fee_v06() throws Exception {
|
||||
setEppInput("domain_renew_fee.xml", FEE_06_MAP);
|
||||
persistDomain();
|
||||
doSuccessfulTest("domain_renew_response_fee.xml", 5);
|
||||
doSuccessfulTest("domain_renew_response_fee.xml", 5, FEE_06_MAP);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_fee_withDefaultAttributes() throws Exception {
|
||||
setEppInput("domain_renew_fee_defaults.xml");
|
||||
public void testSuccess_fee_v11() throws Exception {
|
||||
setEppInput("domain_renew_fee.xml", FEE_11_MAP);
|
||||
persistDomain();
|
||||
doSuccessfulTest("domain_renew_response_fee.xml", 5);
|
||||
doSuccessfulTest("domain_renew_response_fee.xml", 5, FEE_11_MAP);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_refundableFee() throws Exception {
|
||||
public void testSuccess_fee_withDefaultAttributes_v06() throws Exception {
|
||||
setEppInput("domain_renew_fee_defaults.xml", FEE_06_MAP);
|
||||
persistDomain();
|
||||
doSuccessfulTest("domain_renew_response_fee.xml", 5, FEE_06_MAP);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_fee_withDefaultAttributes_v11() throws Exception {
|
||||
setEppInput("domain_renew_fee_defaults.xml", FEE_11_MAP);
|
||||
persistDomain();
|
||||
doSuccessfulTest("domain_renew_response_fee.xml", 5, FEE_11_MAP);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_refundableFee_v06() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
setEppInput("domain_renew_fee_refundable.xml");
|
||||
setEppInput("domain_renew_fee_refundable.xml", FEE_06_MAP);
|
||||
persistDomain();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_gracePeriodFee() throws Exception {
|
||||
public void testFailure_refundableFee_v11() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
setEppInput("domain_renew_fee_grace_period.xml");
|
||||
setEppInput("domain_renew_fee_refundable.xml", FEE_11_MAP);
|
||||
persistDomain();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_appliedFee() throws Exception {
|
||||
public void testFailure_gracePeriodFee_v06() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
setEppInput("domain_renew_fee_applied.xml");
|
||||
setEppInput("domain_renew_fee_grace_period.xml", FEE_06_MAP);
|
||||
persistDomain();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_gracePeriodFee_v11() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
setEppInput("domain_renew_fee_grace_period.xml", FEE_11_MAP);
|
||||
persistDomain();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_appliedFee_v06() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
setEppInput("domain_renew_fee_applied.xml", FEE_06_MAP);
|
||||
persistDomain();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_appliedFee_v11() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
setEppInput("domain_renew_fee_applied.xml", FEE_11_MAP);
|
||||
persistDomain();
|
||||
runFlow();
|
||||
}
|
||||
|
@ -313,9 +363,9 @@ public class DomainRenewFlowTest extends ResourceFlowTestCase<DomainRenewFlow, D
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_wrongFeeAmount() throws Exception {
|
||||
public void testFailure_wrongFeeAmount_v06() throws Exception {
|
||||
thrown.expect(FeesMismatchException.class);
|
||||
setEppInput("domain_renew_fee.xml");
|
||||
setEppInput("domain_renew_fee.xml", FEE_06_MAP);
|
||||
persistResource(
|
||||
Registry.get("tld")
|
||||
.asBuilder()
|
||||
|
@ -326,9 +376,22 @@ public class DomainRenewFlowTest extends ResourceFlowTestCase<DomainRenewFlow, D
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_wrongCurrency() throws Exception {
|
||||
public void testFailure_wrongFeeAmount_v11() throws Exception {
|
||||
thrown.expect(FeesMismatchException.class);
|
||||
setEppInput("domain_renew_fee.xml", FEE_11_MAP);
|
||||
persistResource(
|
||||
Registry.get("tld")
|
||||
.asBuilder()
|
||||
.setRenewBillingCostTransitions(ImmutableSortedMap.of(START_OF_TIME, Money.of(USD, 20)))
|
||||
.build());
|
||||
persistDomain();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_wrongCurrency_v06() throws Exception {
|
||||
thrown.expect(CurrencyUnitMismatchException.class);
|
||||
setEppInput("domain_renew_fee.xml");
|
||||
setEppInput("domain_renew_fee.xml", FEE_06_MAP);
|
||||
persistResource(
|
||||
Registry.get("tld")
|
||||
.asBuilder()
|
||||
|
@ -344,9 +407,35 @@ public class DomainRenewFlowTest extends ResourceFlowTestCase<DomainRenewFlow, D
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_feeGivenInWrongScale() throws Exception {
|
||||
public void testFailure_wrongCurrency_v11() throws Exception {
|
||||
thrown.expect(CurrencyUnitMismatchException.class);
|
||||
setEppInput("domain_renew_fee.xml", FEE_11_MAP);
|
||||
persistResource(
|
||||
Registry.get("tld")
|
||||
.asBuilder()
|
||||
.setCurrency(EUR)
|
||||
.setCreateBillingCost(Money.of(EUR, 13))
|
||||
.setRestoreBillingCost(Money.of(EUR, 11))
|
||||
.setRenewBillingCostTransitions(ImmutableSortedMap.of(START_OF_TIME, Money.of(EUR, 7)))
|
||||
.setEapFeeSchedule(ImmutableSortedMap.of(START_OF_TIME, Money.zero(EUR)))
|
||||
.setServerStatusChangeBillingCost(Money.of(EUR, 19))
|
||||
.build());
|
||||
persistDomain();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_feeGivenInWrongScale_v06() throws Exception {
|
||||
thrown.expect(CurrencyValueScaleException.class);
|
||||
setEppInput("domain_renew_fee_bad_scale.xml");
|
||||
setEppInput("domain_renew_fee_bad_scale.xml", FEE_06_MAP);
|
||||
persistDomain();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_feeGivenInWrongScale_v11() throws Exception {
|
||||
thrown.expect(CurrencyValueScaleException.class);
|
||||
setEppInput("domain_renew_fee_bad_scale.xml", FEE_11_MAP);
|
||||
persistDomain();
|
||||
runFlow();
|
||||
}
|
||||
|
|
|
@ -30,6 +30,7 @@ import static google.registry.util.DateTimeUtils.START_OF_TIME;
|
|||
import static org.joda.money.CurrencyUnit.EUR;
|
||||
import static org.joda.money.CurrencyUnit.USD;
|
||||
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.ImmutableSortedMap;
|
||||
import com.googlecode.objectify.Key;
|
||||
|
@ -58,6 +59,7 @@ import google.registry.model.poll.PollMessage;
|
|||
import google.registry.model.registrar.Registrar;
|
||||
import google.registry.model.registry.Registry;
|
||||
import google.registry.model.reporting.HistoryEntry;
|
||||
import java.util.Map;
|
||||
import org.joda.money.Money;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
@ -66,6 +68,11 @@ import org.junit.Test;
|
|||
public class DomainRestoreRequestFlowTest extends
|
||||
ResourceFlowTestCase<DomainRestoreRequestFlow, DomainResource> {
|
||||
|
||||
private static final ImmutableMap<String, String> FEE_06_MAP =
|
||||
ImmutableMap.of("FEE_VERSION", "0.6", "FEE_NS", "fee");
|
||||
private static final ImmutableMap<String, String> FEE_11_MAP =
|
||||
ImmutableMap.of("FEE_VERSION", "0.11", "FEE_NS", "fee11");
|
||||
|
||||
public DomainRestoreRequestFlowTest() {
|
||||
setEppInput("domain_update_restore_request.xml");
|
||||
}
|
||||
|
@ -175,39 +182,77 @@ public class DomainRestoreRequestFlowTest extends
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_fee() throws Exception {
|
||||
setEppInput("domain_update_restore_request_fee.xml");
|
||||
public void testSuccess_fee_v06() throws Exception {
|
||||
setEppInput("domain_update_restore_request_fee.xml", FEE_06_MAP);
|
||||
persistPendingDeleteDomain();
|
||||
runFlowAssertResponse(readFile("domain_update_restore_request_response_fee.xml"));
|
||||
runFlowAssertResponse(readFile("domain_update_restore_request_response_fee.xml", FEE_06_MAP));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_fee_withDefaultAttributes() throws Exception {
|
||||
setEppInput("domain_update_restore_request_fee_defaults.xml");
|
||||
public void testSuccess_fee_v11() throws Exception {
|
||||
setEppInput("domain_update_restore_request_fee.xml", FEE_11_MAP);
|
||||
persistPendingDeleteDomain();
|
||||
runFlowAssertResponse(readFile("domain_update_restore_request_response_fee.xml"));
|
||||
runFlowAssertResponse(readFile("domain_update_restore_request_response_fee.xml", FEE_11_MAP));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_refundableFee() throws Exception {
|
||||
public void testSuccess_fee_withDefaultAttributes_v06() throws Exception {
|
||||
setEppInput("domain_update_restore_request_fee_defaults.xml", FEE_06_MAP);
|
||||
persistPendingDeleteDomain();
|
||||
runFlowAssertResponse(readFile("domain_update_restore_request_response_fee.xml", FEE_06_MAP));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_fee_withDefaultAttributes_v11() throws Exception {
|
||||
setEppInput("domain_update_restore_request_fee_defaults.xml", FEE_11_MAP);
|
||||
persistPendingDeleteDomain();
|
||||
runFlowAssertResponse(readFile("domain_update_restore_request_response_fee.xml", FEE_11_MAP));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_refundableFee_v06() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
setEppInput("domain_update_restore_request_fee_refundable.xml");
|
||||
setEppInput("domain_update_restore_request_fee_refundable.xml", FEE_06_MAP);
|
||||
persistPendingDeleteDomain();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_gracePeriodFee() throws Exception {
|
||||
public void testFailure_refundableFee_v11() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
setEppInput("domain_update_restore_request_fee_grace_period.xml");
|
||||
setEppInput("domain_update_restore_request_fee_refundable.xml", FEE_11_MAP);
|
||||
persistPendingDeleteDomain();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_appliedFee() throws Exception {
|
||||
public void testFailure_gracePeriodFee_v06() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
setEppInput("domain_update_restore_request_fee_applied.xml");
|
||||
setEppInput("domain_update_restore_request_fee_grace_period.xml", FEE_06_MAP);
|
||||
persistPendingDeleteDomain();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_gracePeriodFee_v11() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
setEppInput("domain_update_restore_request_fee_grace_period.xml", FEE_11_MAP);
|
||||
persistPendingDeleteDomain();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_appliedFee_v06() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
setEppInput("domain_update_restore_request_fee_applied.xml", FEE_06_MAP);
|
||||
persistPendingDeleteDomain();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_appliedFee_v11() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
setEppInput("domain_update_restore_request_fee_applied.xml", FEE_11_MAP);
|
||||
persistPendingDeleteDomain();
|
||||
runFlow();
|
||||
}
|
||||
|
@ -259,9 +304,9 @@ public class DomainRestoreRequestFlowTest extends
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_wrongFeeAmount() throws Exception {
|
||||
public void testFailure_wrongFeeAmount_v06() throws Exception {
|
||||
thrown.expect(FeesMismatchException.class);
|
||||
setEppInput("domain_update_restore_request_fee.xml");
|
||||
setEppInput("domain_update_restore_request_fee.xml", FEE_06_MAP);
|
||||
persistPendingDeleteDomain();
|
||||
persistResource(
|
||||
Registry.get("tld").asBuilder().setRestoreBillingCost(Money.of(USD, 100)).build());
|
||||
|
@ -269,9 +314,18 @@ public class DomainRestoreRequestFlowTest extends
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_wrongCurrency() throws Exception {
|
||||
public void testFailure_wrongFeeAmount_v11() throws Exception {
|
||||
thrown.expect(FeesMismatchException.class);
|
||||
setEppInput("domain_update_restore_request_fee.xml", FEE_11_MAP);
|
||||
persistPendingDeleteDomain();
|
||||
persistResource(
|
||||
Registry.get("tld").asBuilder().setRestoreBillingCost(Money.of(USD, 100)).build());
|
||||
runFlow();
|
||||
}
|
||||
|
||||
private void runWrongCurrencyTest(Map<String, String> substitutions) throws Exception {
|
||||
thrown.expect(CurrencyUnitMismatchException.class);
|
||||
setEppInput("domain_update_restore_request_fee.xml");
|
||||
setEppInput("domain_update_restore_request_fee.xml", substitutions);
|
||||
persistPendingDeleteDomain();
|
||||
persistResource(
|
||||
Registry.get("tld")
|
||||
|
@ -283,13 +337,31 @@ public class DomainRestoreRequestFlowTest extends
|
|||
.setEapFeeSchedule(ImmutableSortedMap.of(START_OF_TIME, Money.zero(EUR)))
|
||||
.setServerStatusChangeBillingCost(Money.of(EUR, 19))
|
||||
.build());
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_wrongCurrency_v06() throws Exception {
|
||||
runWrongCurrencyTest(FEE_06_MAP);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_wrongCurrency_v11() throws Exception {
|
||||
runWrongCurrencyTest(FEE_11_MAP);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_feeGivenInWrongScale_v06() throws Exception {
|
||||
thrown.expect(CurrencyValueScaleException.class);
|
||||
setEppInput("domain_update_restore_request_fee_bad_scale.xml", FEE_06_MAP);
|
||||
persistPendingDeleteDomain();
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_feeGivenInWrongScale() throws Exception {
|
||||
public void testFailure_feeGivenInWrongScale_v11() throws Exception {
|
||||
thrown.expect(CurrencyValueScaleException.class);
|
||||
setEppInput("domain_update_restore_request_fee_bad_scale.xml");
|
||||
setEppInput("domain_update_restore_request_fee_bad_scale.xml", FEE_11_MAP);
|
||||
persistPendingDeleteDomain();
|
||||
runFlow();
|
||||
}
|
||||
|
|
|
@ -70,6 +70,7 @@ import google.registry.model.registry.Registry;
|
|||
import google.registry.model.reporting.HistoryEntry;
|
||||
import google.registry.model.transfer.TransferResponse;
|
||||
import google.registry.model.transfer.TransferStatus;
|
||||
import java.util.Map;
|
||||
import org.joda.money.Money;
|
||||
import org.joda.time.DateTime;
|
||||
import org.joda.time.Duration;
|
||||
|
@ -80,6 +81,11 @@ import org.junit.Test;
|
|||
public class DomainTransferRequestFlowTest
|
||||
extends DomainTransferFlowTestCase<DomainTransferRequestFlow, DomainResource> {
|
||||
|
||||
private static final ImmutableMap<String, String> FEE_06_MAP =
|
||||
ImmutableMap.of("FEE_VERSION", "0.6", "FEE_NS", "fee");
|
||||
private static final ImmutableMap<String, String> FEE_11_MAP =
|
||||
ImmutableMap.of("FEE_VERSION", "0.11", "FEE_NS", "fee11");
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
setEppInput("domain_transfer_request.xml");
|
||||
|
@ -118,8 +124,9 @@ public class DomainTransferRequestFlowTest
|
|||
String commandFilename,
|
||||
String expectedXmlFilename,
|
||||
DateTime expectedExpirationTime,
|
||||
Map<String, String> substitutions,
|
||||
BillingEvent.Cancellation.Builder... extraExpectedBillingEvents) throws Exception {
|
||||
setEppInput(commandFilename);
|
||||
setEppInput(commandFilename, substitutions);
|
||||
ImmutableSet<GracePeriod> originalGracePeriods = domain.getGracePeriods();
|
||||
// Replace the ROID in the xml file with the one generated in our test.
|
||||
eppLoader.replaceAll("JD1234-REP", contact.getRepoId());
|
||||
|
@ -130,7 +137,7 @@ public class DomainTransferRequestFlowTest
|
|||
clock.nowUtc().plus(Registry.get("tld").getAutomaticTransferLength());
|
||||
// Setup done; run the test.
|
||||
assertTransactionalFlow(true);
|
||||
runFlowAssertResponse(readFile(expectedXmlFilename));
|
||||
runFlowAssertResponse(readFile(expectedXmlFilename, substitutions));
|
||||
// Transfer should have been requested. Verify correct fields were set.
|
||||
domain = reloadResourceByUniqueId();
|
||||
final HistoryEntry historyEntryTransferRequest =
|
||||
|
@ -262,6 +269,31 @@ public class DomainTransferRequestFlowTest
|
|||
assertThat(afterGracePeriod.getGracePeriods()).isEmpty();
|
||||
}
|
||||
|
||||
private void doSuccessfulTest(
|
||||
String commandFilename,
|
||||
String expectedXmlFilename,
|
||||
DateTime expectedExpirationTime,
|
||||
BillingEvent.Cancellation.Builder... extraExpectedBillingEvents) throws Exception {
|
||||
doSuccessfulTest(
|
||||
commandFilename,
|
||||
expectedXmlFilename,
|
||||
expectedExpirationTime,
|
||||
ImmutableMap.<String, String>of(),
|
||||
extraExpectedBillingEvents);
|
||||
}
|
||||
|
||||
private void doSuccessfulTest(
|
||||
String commandFilename,
|
||||
String expectedXmlFilename,
|
||||
Map<String, String> substitutions) throws Exception {
|
||||
clock.advanceOneMilli();
|
||||
doSuccessfulTest(
|
||||
commandFilename,
|
||||
expectedXmlFilename,
|
||||
domain.getRegistrationExpirationTime().plusYears(1),
|
||||
substitutions);
|
||||
}
|
||||
|
||||
private void doSuccessfulTest(String commandFilename, String expectedXmlFilename)
|
||||
throws Exception {
|
||||
clock.advanceOneMilli();
|
||||
|
@ -269,17 +301,29 @@ public class DomainTransferRequestFlowTest
|
|||
commandFilename, expectedXmlFilename, domain.getRegistrationExpirationTime().plusYears(1));
|
||||
}
|
||||
|
||||
private void runTest(String commandFilename, UserPrivileges userPrivileges) throws Exception {
|
||||
setEppInput(commandFilename);
|
||||
private void runTest(
|
||||
String commandFilename,
|
||||
UserPrivileges userPrivileges,
|
||||
Map<String, String> substitutions) throws Exception {
|
||||
setEppInput(commandFilename, substitutions);
|
||||
// Replace the ROID in the xml file with the one generated in our test.
|
||||
eppLoader.replaceAll("JD1234-REP", contact.getRepoId());
|
||||
// Setup done; run the test.
|
||||
assertTransactionalFlow(true);
|
||||
runFlow(CommitMode.LIVE, userPrivileges);
|
||||
}
|
||||
|
||||
private void runTest(String commandFilename, UserPrivileges userPrivileges) throws Exception {
|
||||
runTest(commandFilename, userPrivileges, ImmutableMap.<String, String>of());
|
||||
}
|
||||
|
||||
private void doFailingTest(
|
||||
String commandFilename, Map<String, String> substitutions) throws Exception {
|
||||
runTest(commandFilename, UserPrivileges.NORMAL, substitutions);
|
||||
}
|
||||
|
||||
private void doFailingTest(String commandFilename) throws Exception {
|
||||
runTest(commandFilename, UserPrivileges.NORMAL);
|
||||
runTest(commandFilename, UserPrivileges.NORMAL, ImmutableMap.<String, String> of());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -295,34 +339,69 @@ public class DomainTransferRequestFlowTest
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_fee() throws Exception {
|
||||
doSuccessfulTest("domain_transfer_request_fee.xml", "domain_transfer_request_response_fee.xml");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_fee_withDefaultAttributes() throws Exception {
|
||||
public void testSuccess_fee_v06() throws Exception {
|
||||
doSuccessfulTest(
|
||||
"domain_transfer_request_fee_defaults.xml", "domain_transfer_request_response_fee.xml");
|
||||
"domain_transfer_request_fee.xml", "domain_transfer_request_response_fee.xml", FEE_06_MAP);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_refundableFee() throws Exception {
|
||||
public void testSuccess_fee_v11() throws Exception {
|
||||
doSuccessfulTest(
|
||||
"domain_transfer_request_fee.xml", "domain_transfer_request_response_fee.xml", FEE_11_MAP);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_fee_withDefaultAttributes_v06() throws Exception {
|
||||
doSuccessfulTest(
|
||||
"domain_transfer_request_fee_defaults.xml",
|
||||
"domain_transfer_request_response_fee.xml",
|
||||
FEE_06_MAP);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_fee_withDefaultAttributes_v11() throws Exception {
|
||||
doSuccessfulTest(
|
||||
"domain_transfer_request_fee_defaults.xml",
|
||||
"domain_transfer_request_response_fee.xml",
|
||||
FEE_11_MAP);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_refundableFee_v06() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
doFailingTest("domain_transfer_request_fee_refundable.xml");
|
||||
doFailingTest("domain_transfer_request_fee_refundable.xml", FEE_06_MAP);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testFailure_gracePeriodFee() throws Exception {
|
||||
public void testFailure_refundableFee_v11() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
doFailingTest("domain_transfer_request_fee_grace_period.xml");
|
||||
doFailingTest("domain_transfer_request_fee_refundable.xml", FEE_11_MAP);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testFailure_appliedFee() throws Exception {
|
||||
public void testFailure_gracePeriodFee_v06() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
doFailingTest("domain_transfer_request_fee_applied.xml");
|
||||
doFailingTest("domain_transfer_request_fee_grace_period.xml", FEE_06_MAP);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_gracePeriodFee_v11() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
doFailingTest("domain_transfer_request_fee_grace_period.xml", FEE_11_MAP);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_appliedFee_v06() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
doFailingTest("domain_transfer_request_fee_applied.xml", FEE_06_MAP);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_appliedFee_v11() throws Exception {
|
||||
thrown.expect(UnsupportedFeeAttributeException.class);
|
||||
doFailingTest("domain_transfer_request_fee_applied.xml", FEE_11_MAP);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -428,8 +507,7 @@ public class DomainTransferRequestFlowTest
|
|||
runTest("domain_transfer_request_premium.xml", UserPrivileges.SUPERUSER);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_wrongCurrency() throws Exception {
|
||||
private void runWrongCurrencyTest(Map<String, String> substitutions) throws Exception {
|
||||
thrown.expect(CurrencyUnitMismatchException.class);
|
||||
persistResource(
|
||||
Registry.get("tld")
|
||||
|
@ -441,24 +519,49 @@ public class DomainTransferRequestFlowTest
|
|||
.setEapFeeSchedule(ImmutableSortedMap.of(START_OF_TIME, Money.zero(EUR)))
|
||||
.setServerStatusChangeBillingCost(Money.of(EUR, 19))
|
||||
.build());
|
||||
doFailingTest("domain_transfer_request_fee.xml");
|
||||
doFailingTest("domain_transfer_request_fee.xml", substitutions);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_feeGivenInWrongScale() throws Exception {
|
||||
public void testFailure_wrongCurrency_v06() throws Exception {
|
||||
runWrongCurrencyTest(FEE_06_MAP);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_wrongCurrency_v11() throws Exception {
|
||||
runWrongCurrencyTest(FEE_11_MAP);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_feeGivenInWrongScale_v06() throws Exception {
|
||||
thrown.expect(CurrencyValueScaleException.class);
|
||||
doFailingTest("domain_transfer_request_fee_bad_scale.xml");
|
||||
doFailingTest("domain_transfer_request_fee_bad_scale.xml", FEE_06_MAP);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_wrongFeeAmount() throws Exception {
|
||||
public void testFailure_feeGivenInWrongScale_v11() throws Exception {
|
||||
thrown.expect(CurrencyValueScaleException.class);
|
||||
doFailingTest("domain_transfer_request_fee_bad_scale.xml", FEE_11_MAP);
|
||||
}
|
||||
|
||||
private void runWrongFeeAmountTest(Map<String, String> substitutions) throws Exception {
|
||||
thrown.expect(FeesMismatchException.class);
|
||||
persistResource(
|
||||
Registry.get("tld")
|
||||
.asBuilder()
|
||||
.setRenewBillingCostTransitions(ImmutableSortedMap.of(START_OF_TIME, Money.of(USD, 20)))
|
||||
.build());
|
||||
doFailingTest("domain_transfer_request_fee.xml");
|
||||
doFailingTest("domain_transfer_request_fee.xml", substitutions);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_wrongFeeAmount_v06() throws Exception {
|
||||
runWrongFeeAmountTest(FEE_06_MAP);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_wrongFeeAmount_v11() throws Exception {
|
||||
runWrongFeeAmountTest(FEE_11_MAP);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -471,7 +574,6 @@ public class DomainTransferRequestFlowTest
|
|||
doFailingTest("domain_transfer_request_premium.xml");
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testFailure_feeNotProvidedOnPremiumName() throws Exception {
|
||||
thrown.expect(FeesRequiredForPremiumNameException.class);
|
||||
|
|
60
javatests/google/registry/flows/domain/testdata/domain_check_eap_fee_response_v11.xml
vendored
Normal file
60
javatests/google/registry/flows/domain/testdata/domain_check_eap_fee_response_v11.xml
vendored
Normal file
|
@ -0,0 +1,60 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<response>
|
||||
<result code="1000">
|
||||
<msg>Command completed successfully</msg>
|
||||
</result>
|
||||
<resData>
|
||||
<domain:chkData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:cd>
|
||||
<domain:name avail="0">example1.tld</domain:name>
|
||||
<domain:reason>In use</domain:reason>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="1">example2.tld</domain:name>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="1">example3.tld</domain:name>
|
||||
</domain:cd>
|
||||
</domain:chkData>
|
||||
</resData>
|
||||
<extension>
|
||||
<fee:chkData xmlns:fee="urn:ietf:params:xml:ns:fee-0.11"
|
||||
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>example1.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>create</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="create">13.00</fee:fee>
|
||||
<fee:fee description="Early Access Period, fee expires: 2010-01-02T10:00:00.000Z">100.00</fee:fee>
|
||||
</fee:cd>
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>example2.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>create</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="create">13.00</fee:fee>
|
||||
<fee:fee description="Early Access Period, fee expires: 2010-01-02T10:00:00.000Z">100.00</fee:fee>
|
||||
</fee:cd>
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>example3.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>create</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="create">13.00</fee:fee>
|
||||
<fee:fee description="Early Access Period, fee expires: 2010-01-02T10:00:00.000Z">100.00</fee:fee>
|
||||
</fee:cd>
|
||||
</fee:chkData>
|
||||
</extension>
|
||||
<trID>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
<svTRID>server-trid</svTRID>
|
||||
</trID>
|
||||
</response>
|
||||
</epp>
|
16
javatests/google/registry/flows/domain/testdata/domain_check_fee_bad_period_v11.xml
vendored
Normal file
16
javatests/google/registry/flows/domain/testdata/domain_check_fee_bad_period_v11.xml
vendored
Normal file
|
@ -0,0 +1,16 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<command>
|
||||
<check>
|
||||
<domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:name>example1.tld</domain:name>
|
||||
</domain:check>
|
||||
</check>
|
||||
<extension>
|
||||
<fee:check xmlns:fee="urn:ietf:params:xml:ns:fee-0.11">
|
||||
<fee:command>create</fee:command>
|
||||
<fee:period unit="m">1</fee:period>
|
||||
</fee:check>
|
||||
</extension>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
</command>
|
||||
</epp>
|
15
javatests/google/registry/flows/domain/testdata/domain_check_fee_command_phase_v11.xml
vendored
Normal file
15
javatests/google/registry/flows/domain/testdata/domain_check_fee_command_phase_v11.xml
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<command>
|
||||
<check>
|
||||
<domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:name>example1.tld</domain:name>
|
||||
</domain:check>
|
||||
</check>
|
||||
<extension>
|
||||
<fee:check xmlns:fee="urn:ietf:params:xml:ns:fee-0.11">
|
||||
<fee:command phase="claims">create</fee:command>
|
||||
</fee:check>
|
||||
</extension>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
</command>
|
||||
</epp>
|
15
javatests/google/registry/flows/domain/testdata/domain_check_fee_command_subphase_v11.xml
vendored
Normal file
15
javatests/google/registry/flows/domain/testdata/domain_check_fee_command_subphase_v11.xml
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<command>
|
||||
<check>
|
||||
<domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:name>example1.tld</domain:name>
|
||||
</domain:check>
|
||||
</check>
|
||||
<extension>
|
||||
<fee:check xmlns:fee="urn:ietf:params:xml:ns:fee-0.11">
|
||||
<fee:command subphase="landrush">create</fee:command>
|
||||
</fee:check>
|
||||
</extension>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
</command>
|
||||
</epp>
|
22
javatests/google/registry/flows/domain/testdata/domain_check_fee_euro_v11.xml
vendored
Normal file
22
javatests/google/registry/flows/domain/testdata/domain_check_fee_euro_v11.xml
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<command>
|
||||
<check>
|
||||
<domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:name>example1.tld</domain:name>
|
||||
<domain:name>example2.tld</domain:name>
|
||||
<domain:name>example3.tld</domain:name>
|
||||
</domain:check>
|
||||
</check>
|
||||
<extension>
|
||||
<launch:check xmlns:launch="urn:ietf:params:xml:ns:launch-1.0" type="avail">
|
||||
<launch:phase name="foo">custom</launch:phase>
|
||||
</launch:check>
|
||||
<fee:check xmlns:fee="urn:ietf:params:xml:ns:fee-0.11">
|
||||
<fee:command>create</fee:command>
|
||||
<fee:currency>EUR</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
</fee:check>
|
||||
</extension>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
</command>
|
||||
</epp>
|
16
javatests/google/registry/flows/domain/testdata/domain_check_fee_invalid_command_v11.xml
vendored
Normal file
16
javatests/google/registry/flows/domain/testdata/domain_check_fee_invalid_command_v11.xml
vendored
Normal file
|
@ -0,0 +1,16 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<command>
|
||||
<check>
|
||||
<domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:name>example1.tld</domain:name>
|
||||
</domain:check>
|
||||
</check>
|
||||
<extension>
|
||||
<fee:check xmlns:fee="urn:ietf:params:xml:ns:fee-0.11">
|
||||
<fee:command>Create</fee:command>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
</fee:check>
|
||||
</extension>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
</command>
|
||||
</epp>
|
|
@ -41,6 +41,13 @@
|
|||
<fee:fee description="renew">11.00</fee:fee>
|
||||
<fee:fee description="restore">17.00</fee:fee>
|
||||
</fee:cd>
|
||||
<fee:cd xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:name>example1.tld</fee:name>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:command>update</fee:command>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">11.00</fee:fee>
|
||||
</fee:cd>
|
||||
</fee:chkData>
|
||||
</extension>
|
||||
<trID>
|
|
@ -23,6 +23,10 @@
|
|||
<fee:name>example1.tld</fee:name>
|
||||
<fee:command>restore</fee:command>
|
||||
</fee:domain>
|
||||
<fee:domain>
|
||||
<fee:name>example1.tld</fee:name>
|
||||
<fee:command>update</fee:command>
|
||||
</fee:domain>
|
||||
</fee:check>
|
||||
</extension>
|
||||
<clTRID>ABC-12345</clTRID>
|
19
javatests/google/registry/flows/domain/testdata/domain_check_fee_multiyear_restore_v11.xml
vendored
Normal file
19
javatests/google/registry/flows/domain/testdata/domain_check_fee_multiyear_restore_v11.xml
vendored
Normal file
|
@ -0,0 +1,19 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<command>
|
||||
<check>
|
||||
<domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:name>example1.tld</domain:name>
|
||||
</domain:check>
|
||||
</check>
|
||||
<extension>
|
||||
<launch:check xmlns:launch="urn:ietf:params:xml:ns:launch-1.0" type="avail">
|
||||
<launch:phase name="foo">custom</launch:phase>
|
||||
</launch:check>
|
||||
<fee:check xmlns:fee="urn:ietf:params:xml:ns:fee-0.11">
|
||||
<fee:command>restore</fee:command>
|
||||
<fee:period unit="y">2</fee:period>
|
||||
</fee:check>
|
||||
</extension>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
</command>
|
||||
</epp>
|
33
javatests/google/registry/flows/domain/testdata/domain_check_fee_premium_response_v11_create.xml
vendored
Normal file
33
javatests/google/registry/flows/domain/testdata/domain_check_fee_premium_response_v11_create.xml
vendored
Normal file
|
@ -0,0 +1,33 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<response>
|
||||
<result code="1000">
|
||||
<msg>Command completed successfully</msg>
|
||||
</result>
|
||||
<resData>
|
||||
<domain:chkData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:cd>
|
||||
<domain:name avail="1">rich.example</domain:name>
|
||||
</domain:cd>
|
||||
</domain:chkData>
|
||||
</resData>
|
||||
<extension>
|
||||
<fee:chkData xmlns:fee="urn:ietf:params:xml:ns:fee-0.11"
|
||||
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>rich.example</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>create</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="create">100.00</fee:fee>
|
||||
<fee:class>premium</fee:class>
|
||||
</fee:cd>
|
||||
</fee:chkData>
|
||||
</extension>
|
||||
<trID>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
<svTRID>server-trid</svTRID>
|
||||
</trID>
|
||||
</response>
|
||||
</epp>
|
33
javatests/google/registry/flows/domain/testdata/domain_check_fee_premium_response_v11_renew.xml
vendored
Normal file
33
javatests/google/registry/flows/domain/testdata/domain_check_fee_premium_response_v11_renew.xml
vendored
Normal file
|
@ -0,0 +1,33 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<response>
|
||||
<result code="1000">
|
||||
<msg>Command completed successfully</msg>
|
||||
</result>
|
||||
<resData>
|
||||
<domain:chkData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:cd>
|
||||
<domain:name avail="1">rich.example</domain:name>
|
||||
</domain:cd>
|
||||
</domain:chkData>
|
||||
</resData>
|
||||
<extension>
|
||||
<fee:chkData xmlns:fee="urn:ietf:params:xml:ns:fee-0.11"
|
||||
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>rich.example</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>renew</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">100.00</fee:fee>
|
||||
<fee:class>premium</fee:class>
|
||||
</fee:cd>
|
||||
</fee:chkData>
|
||||
</extension>
|
||||
<trID>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
<svTRID>server-trid</svTRID>
|
||||
</trID>
|
||||
</response>
|
||||
</epp>
|
|
@ -0,0 +1,34 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<response>
|
||||
<result code="1000">
|
||||
<msg>Command completed successfully</msg>
|
||||
</result>
|
||||
<resData>
|
||||
<domain:chkData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:cd>
|
||||
<domain:name avail="1">rich.example</domain:name>
|
||||
</domain:cd>
|
||||
</domain:chkData>
|
||||
</resData>
|
||||
<extension>
|
||||
<fee:chkData xmlns:fee="urn:ietf:params:xml:ns:fee-0.11"
|
||||
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>rich.example</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>restore</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">100.00</fee:fee>
|
||||
<fee:fee description="restore">17.00</fee:fee>
|
||||
<fee:class>premium</fee:class>
|
||||
</fee:cd>
|
||||
</fee:chkData>
|
||||
</extension>
|
||||
<trID>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
<svTRID>server-trid</svTRID>
|
||||
</trID>
|
||||
</response>
|
||||
</epp>
|
|
@ -0,0 +1,33 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<response>
|
||||
<result code="1000">
|
||||
<msg>Command completed successfully</msg>
|
||||
</result>
|
||||
<resData>
|
||||
<domain:chkData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:cd>
|
||||
<domain:name avail="1">rich.example</domain:name>
|
||||
</domain:cd>
|
||||
</domain:chkData>
|
||||
</resData>
|
||||
<extension>
|
||||
<fee:chkData xmlns:fee="urn:ietf:params:xml:ns:fee-0.11"
|
||||
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>rich.example</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>transfer</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">100.00</fee:fee>
|
||||
<fee:class>premium</fee:class>
|
||||
</fee:cd>
|
||||
</fee:chkData>
|
||||
</extension>
|
||||
<trID>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
<svTRID>server-trid</svTRID>
|
||||
</trID>
|
||||
</response>
|
||||
</epp>
|
33
javatests/google/registry/flows/domain/testdata/domain_check_fee_premium_response_v11_update.xml
vendored
Normal file
33
javatests/google/registry/flows/domain/testdata/domain_check_fee_premium_response_v11_update.xml
vendored
Normal file
|
@ -0,0 +1,33 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<response>
|
||||
<result code="1000">
|
||||
<msg>Command completed successfully</msg>
|
||||
</result>
|
||||
<resData>
|
||||
<domain:chkData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:cd>
|
||||
<domain:name avail="1">rich.example</domain:name>
|
||||
</domain:cd>
|
||||
</domain:chkData>
|
||||
</resData>
|
||||
<extension>
|
||||
<fee:chkData xmlns:fee="urn:ietf:params:xml:ns:fee-0.11"
|
||||
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>rich.example</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>update</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">100.00</fee:fee>
|
||||
<fee:class>premium</fee:class>
|
||||
</fee:cd>
|
||||
</fee:chkData>
|
||||
</extension>
|
||||
<trID>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
<svTRID>server-trid</svTRID>
|
||||
</trID>
|
||||
</response>
|
||||
</epp>
|
15
javatests/google/registry/flows/domain/testdata/domain_check_fee_premium_v11_create.xml
vendored
Normal file
15
javatests/google/registry/flows/domain/testdata/domain_check_fee_premium_v11_create.xml
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<command>
|
||||
<check>
|
||||
<domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:name>rich.example</domain:name>
|
||||
</domain:check>
|
||||
</check>
|
||||
<extension>
|
||||
<fee:check xmlns:fee="urn:ietf:params:xml:ns:fee-0.11">
|
||||
<fee:command>create</fee:command>
|
||||
</fee:check>
|
||||
</extension>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
</command>
|
||||
</epp>
|
15
javatests/google/registry/flows/domain/testdata/domain_check_fee_premium_v11_renew.xml
vendored
Normal file
15
javatests/google/registry/flows/domain/testdata/domain_check_fee_premium_v11_renew.xml
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<command>
|
||||
<check>
|
||||
<domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:name>rich.example</domain:name>
|
||||
</domain:check>
|
||||
</check>
|
||||
<extension>
|
||||
<fee:check xmlns:fee="urn:ietf:params:xml:ns:fee-0.11">
|
||||
<fee:command>renew</fee:command>
|
||||
</fee:check>
|
||||
</extension>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
</command>
|
||||
</epp>
|
15
javatests/google/registry/flows/domain/testdata/domain_check_fee_premium_v11_restore.xml
vendored
Normal file
15
javatests/google/registry/flows/domain/testdata/domain_check_fee_premium_v11_restore.xml
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<command>
|
||||
<check>
|
||||
<domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:name>rich.example</domain:name>
|
||||
</domain:check>
|
||||
</check>
|
||||
<extension>
|
||||
<fee:check xmlns:fee="urn:ietf:params:xml:ns:fee-0.11">
|
||||
<fee:command>restore</fee:command>
|
||||
</fee:check>
|
||||
</extension>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
</command>
|
||||
</epp>
|
15
javatests/google/registry/flows/domain/testdata/domain_check_fee_premium_v11_transfer.xml
vendored
Normal file
15
javatests/google/registry/flows/domain/testdata/domain_check_fee_premium_v11_transfer.xml
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<command>
|
||||
<check>
|
||||
<domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:name>rich.example</domain:name>
|
||||
</domain:check>
|
||||
</check>
|
||||
<extension>
|
||||
<fee:check xmlns:fee="urn:ietf:params:xml:ns:fee-0.11">
|
||||
<fee:command>transfer</fee:command>
|
||||
</fee:check>
|
||||
</extension>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
</command>
|
||||
</epp>
|
15
javatests/google/registry/flows/domain/testdata/domain_check_fee_premium_v11_update.xml
vendored
Normal file
15
javatests/google/registry/flows/domain/testdata/domain_check_fee_premium_v11_update.xml
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<command>
|
||||
<check>
|
||||
<domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:name>rich.example</domain:name>
|
||||
</domain:check>
|
||||
</check>
|
||||
<extension>
|
||||
<fee:check xmlns:fee="urn:ietf:params:xml:ns:fee-0.11">
|
||||
<fee:command>update</fee:command>
|
||||
</fee:check>
|
||||
</extension>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
</command>
|
||||
</epp>
|
|
@ -0,0 +1,76 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<response>
|
||||
<result code="1000">
|
||||
<msg>Command completed successfully</msg>
|
||||
</result>
|
||||
<resData>
|
||||
<domain:chkData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:cd>
|
||||
<domain:name avail="0">reserved.tld</domain:name>
|
||||
<domain:reason>Reserved</domain:reason>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="0">allowedinsunrise.tld</domain:name>
|
||||
<domain:reason>Reserved for non-sunrise</domain:reason>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="0">collision.tld</domain:name>
|
||||
<domain:reason>Cannot be delegated</domain:reason>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="0">premiumcollision.tld</domain:name>
|
||||
<domain:reason>Cannot be delegated</domain:reason>
|
||||
</domain:cd>
|
||||
</domain:chkData>
|
||||
</resData>
|
||||
<extension>
|
||||
<fee:chkData xmlns:fee="urn:ietf:params:xml:ns:fee-0.11"
|
||||
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<fee:cd avail="0">
|
||||
<fee:object>
|
||||
<domain:name>reserved.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>create</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:class>reserved</fee:class>
|
||||
<fee:reason>reserved</fee:reason>
|
||||
</fee:cd>
|
||||
<fee:cd avail="0">
|
||||
<fee:object>
|
||||
<domain:name>allowedinsunrise.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>create</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:class>reserved</fee:class>
|
||||
<fee:reason>reserved</fee:reason>
|
||||
</fee:cd>
|
||||
<fee:cd avail="0">
|
||||
<fee:object>
|
||||
<domain:name>collision.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>create</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:class>reserved</fee:class>
|
||||
<fee:reason>reserved</fee:reason>
|
||||
</fee:cd>
|
||||
<fee:cd avail="0">
|
||||
<fee:object>
|
||||
<domain:name>premiumcollision.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>create</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:class>reserved</fee:class>
|
||||
<fee:reason>reserved</fee:reason>
|
||||
</fee:cd>
|
||||
</fee:chkData>
|
||||
</extension>
|
||||
<trID>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
<svTRID>server-trid</svTRID>
|
||||
</trID>
|
||||
</response>
|
||||
</epp>
|
73
javatests/google/registry/flows/domain/testdata/domain_check_fee_reserved_response_v11_renew.xml
vendored
Normal file
73
javatests/google/registry/flows/domain/testdata/domain_check_fee_reserved_response_v11_renew.xml
vendored
Normal file
|
@ -0,0 +1,73 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<response>
|
||||
<result code="1000">
|
||||
<msg>Command completed successfully</msg>
|
||||
</result>
|
||||
<resData>
|
||||
<domain:chkData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:cd>
|
||||
<domain:name avail="0">reserved.tld</domain:name>
|
||||
<domain:reason>Reserved</domain:reason>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="0">allowedinsunrise.tld</domain:name>
|
||||
<domain:reason>Reserved for non-sunrise</domain:reason>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="0">collision.tld</domain:name>
|
||||
<domain:reason>Cannot be delegated</domain:reason>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="0">premiumcollision.tld</domain:name>
|
||||
<domain:reason>Cannot be delegated</domain:reason>
|
||||
</domain:cd>
|
||||
</domain:chkData>
|
||||
</resData>
|
||||
<extension>
|
||||
<fee:chkData xmlns:fee="urn:ietf:params:xml:ns:fee-0.11"
|
||||
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>reserved.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>renew</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">11.00</fee:fee>
|
||||
</fee:cd>
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>allowedinsunrise.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>renew</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">11.00</fee:fee>
|
||||
</fee:cd>
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>collision.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>renew</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">11.00</fee:fee>
|
||||
</fee:cd>
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>premiumcollision.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>renew</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">70.00</fee:fee>
|
||||
<fee:class>premium</fee:class>
|
||||
</fee:cd>
|
||||
</fee:chkData>
|
||||
</extension>
|
||||
<trID>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
<svTRID>server-trid</svTRID>
|
||||
</trID>
|
||||
</response>
|
||||
</epp>
|
|
@ -0,0 +1,77 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<response>
|
||||
<result code="1000">
|
||||
<msg>Command completed successfully</msg>
|
||||
</result>
|
||||
<resData>
|
||||
<domain:chkData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:cd>
|
||||
<domain:name avail="0">reserved.tld</domain:name>
|
||||
<domain:reason>Reserved</domain:reason>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="0">allowedinsunrise.tld</domain:name>
|
||||
<domain:reason>Reserved for non-sunrise</domain:reason>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="0">collision.tld</domain:name>
|
||||
<domain:reason>Cannot be delegated</domain:reason>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="0">premiumcollision.tld</domain:name>
|
||||
<domain:reason>Cannot be delegated</domain:reason>
|
||||
</domain:cd>
|
||||
</domain:chkData>
|
||||
</resData>
|
||||
<extension>
|
||||
<fee:chkData xmlns:fee="urn:ietf:params:xml:ns:fee-0.11"
|
||||
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>reserved.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>restore</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">11.00</fee:fee>
|
||||
<fee:fee description="restore">17.00</fee:fee>
|
||||
</fee:cd>
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>allowedinsunrise.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>restore</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">11.00</fee:fee>
|
||||
<fee:fee description="restore">17.00</fee:fee>
|
||||
</fee:cd>
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>collision.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>restore</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">11.00</fee:fee>
|
||||
<fee:fee description="restore">17.00</fee:fee>
|
||||
</fee:cd>
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>premiumcollision.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>restore</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">70.00</fee:fee>
|
||||
<fee:class>premium</fee:class>
|
||||
<fee:fee description="restore">17.00</fee:fee>
|
||||
</fee:cd>
|
||||
</fee:chkData>
|
||||
</extension>
|
||||
<trID>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
<svTRID>server-trid</svTRID>
|
||||
</trID>
|
||||
</response>
|
||||
</epp>
|
|
@ -0,0 +1,73 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<response>
|
||||
<result code="1000">
|
||||
<msg>Command completed successfully</msg>
|
||||
</result>
|
||||
<resData>
|
||||
<domain:chkData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:cd>
|
||||
<domain:name avail="0">reserved.tld</domain:name>
|
||||
<domain:reason>Reserved</domain:reason>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="0">allowedinsunrise.tld</domain:name>
|
||||
<domain:reason>Reserved for non-sunrise</domain:reason>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="0">collision.tld</domain:name>
|
||||
<domain:reason>Cannot be delegated</domain:reason>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="0">premiumcollision.tld</domain:name>
|
||||
<domain:reason>Cannot be delegated</domain:reason>
|
||||
</domain:cd>
|
||||
</domain:chkData>
|
||||
</resData>
|
||||
<extension>
|
||||
<fee:chkData xmlns:fee="urn:ietf:params:xml:ns:fee-0.11"
|
||||
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>reserved.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>transfer</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">11.00</fee:fee>
|
||||
</fee:cd>
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>allowedinsunrise.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>transfer</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">11.00</fee:fee>
|
||||
</fee:cd>
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>collision.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>transfer</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">11.00</fee:fee>
|
||||
</fee:cd>
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>premiumcollision.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>transfer</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">70.00</fee:fee>
|
||||
<fee:class>premium</fee:class>
|
||||
</fee:cd>
|
||||
</fee:chkData>
|
||||
</extension>
|
||||
<trID>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
<svTRID>server-trid</svTRID>
|
||||
</trID>
|
||||
</response>
|
||||
</epp>
|
|
@ -0,0 +1,75 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<response>
|
||||
<result code="1000">
|
||||
<msg>Command completed successfully</msg>
|
||||
</result>
|
||||
<resData>
|
||||
<domain:chkData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:cd>
|
||||
<domain:name avail="0">reserved.tld</domain:name>
|
||||
<domain:reason>Reserved</domain:reason>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="0">allowedinsunrise.tld</domain:name>
|
||||
<domain:reason>Reserved for non-sunrise</domain:reason>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="0">collision.tld</domain:name>
|
||||
<domain:reason>Cannot be delegated</domain:reason>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="0">premiumcollision.tld</domain:name>
|
||||
<domain:reason>Cannot be delegated</domain:reason>
|
||||
</domain:cd>
|
||||
</domain:chkData>
|
||||
</resData>
|
||||
<extension>
|
||||
<fee:chkData xmlns:fee="urn:ietf:params:xml:ns:fee-0.11"
|
||||
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<fee:cd avail="0">
|
||||
<fee:object>
|
||||
<domain:name>reserved.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>create</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:class>reserved</fee:class>
|
||||
<fee:reason>reserved</fee:reason>
|
||||
</fee:cd>
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>allowedinsunrise.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>create</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="create">13.00</fee:fee>
|
||||
</fee:cd>
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>collision.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>create</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="create">13.00</fee:fee>
|
||||
<fee:class>collision</fee:class>
|
||||
</fee:cd>
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>premiumcollision.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>create</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="create">70.00</fee:fee>
|
||||
<fee:class>premium-collision</fee:class>
|
||||
</fee:cd>
|
||||
</fee:chkData>
|
||||
</extension>
|
||||
<trID>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
<svTRID>server-trid</svTRID>
|
||||
</trID>
|
||||
</response>
|
||||
</epp>
|
|
@ -0,0 +1,74 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<response>
|
||||
<result code="1000">
|
||||
<msg>Command completed successfully</msg>
|
||||
</result>
|
||||
<resData>
|
||||
<domain:chkData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:cd>
|
||||
<domain:name avail="0">reserved.tld</domain:name>
|
||||
<domain:reason>Reserved</domain:reason>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="0">allowedinsunrise.tld</domain:name>
|
||||
<domain:reason>Reserved for non-sunrise</domain:reason>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="0">collision.tld</domain:name>
|
||||
<domain:reason>Cannot be delegated</domain:reason>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="0">premiumcollision.tld</domain:name>
|
||||
<domain:reason>Cannot be delegated</domain:reason>
|
||||
</domain:cd>
|
||||
</domain:chkData>
|
||||
</resData>
|
||||
<extension>
|
||||
<fee:chkData xmlns:fee="urn:ietf:params:xml:ns:fee-0.11"
|
||||
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>reserved.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>renew</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">11.00</fee:fee>
|
||||
</fee:cd>
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>allowedinsunrise.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>renew</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">11.00</fee:fee>
|
||||
</fee:cd>
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>collision.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>renew</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">11.00</fee:fee>
|
||||
<fee:class>collision</fee:class>
|
||||
</fee:cd>
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>premiumcollision.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>renew</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">70.00</fee:fee>
|
||||
<fee:class>premium-collision</fee:class>
|
||||
</fee:cd>
|
||||
</fee:chkData>
|
||||
</extension>
|
||||
<trID>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
<svTRID>server-trid</svTRID>
|
||||
</trID>
|
||||
</response>
|
||||
</epp>
|
|
@ -0,0 +1,78 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<response>
|
||||
<result code="1000">
|
||||
<msg>Command completed successfully</msg>
|
||||
</result>
|
||||
<resData>
|
||||
<domain:chkData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:cd>
|
||||
<domain:name avail="0">reserved.tld</domain:name>
|
||||
<domain:reason>Reserved</domain:reason>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="0">allowedinsunrise.tld</domain:name>
|
||||
<domain:reason>Reserved for non-sunrise</domain:reason>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="0">collision.tld</domain:name>
|
||||
<domain:reason>Cannot be delegated</domain:reason>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="0">premiumcollision.tld</domain:name>
|
||||
<domain:reason>Cannot be delegated</domain:reason>
|
||||
</domain:cd>
|
||||
</domain:chkData>
|
||||
</resData>
|
||||
<extension>
|
||||
<fee:chkData xmlns:fee="urn:ietf:params:xml:ns:fee-0.11"
|
||||
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>reserved.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>restore</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">11.00</fee:fee>
|
||||
<fee:fee description="restore">17.00</fee:fee>
|
||||
</fee:cd>
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>allowedinsunrise.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>restore</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">11.00</fee:fee>
|
||||
<fee:fee description="restore">17.00</fee:fee>
|
||||
</fee:cd>
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>collision.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>restore</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">11.00</fee:fee>
|
||||
<fee:fee description="restore">17.00</fee:fee>
|
||||
<fee:class>collision</fee:class>
|
||||
</fee:cd>
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>premiumcollision.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>restore</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">70.00</fee:fee>
|
||||
<fee:fee description="restore">17.00</fee:fee>
|
||||
<fee:class>premium-collision</fee:class>
|
||||
</fee:cd>
|
||||
</fee:chkData>
|
||||
</extension>
|
||||
<trID>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
<svTRID>server-trid</svTRID>
|
||||
</trID>
|
||||
</response>
|
||||
</epp>
|
|
@ -0,0 +1,74 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<response>
|
||||
<result code="1000">
|
||||
<msg>Command completed successfully</msg>
|
||||
</result>
|
||||
<resData>
|
||||
<domain:chkData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:cd>
|
||||
<domain:name avail="0">reserved.tld</domain:name>
|
||||
<domain:reason>Reserved</domain:reason>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="0">allowedinsunrise.tld</domain:name>
|
||||
<domain:reason>Reserved for non-sunrise</domain:reason>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="0">collision.tld</domain:name>
|
||||
<domain:reason>Cannot be delegated</domain:reason>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="0">premiumcollision.tld</domain:name>
|
||||
<domain:reason>Cannot be delegated</domain:reason>
|
||||
</domain:cd>
|
||||
</domain:chkData>
|
||||
</resData>
|
||||
<extension>
|
||||
<fee:chkData xmlns:fee="urn:ietf:params:xml:ns:fee-0.11"
|
||||
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>reserved.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>transfer</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">11.00</fee:fee>
|
||||
</fee:cd>
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>allowedinsunrise.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>transfer</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">11.00</fee:fee>
|
||||
</fee:cd>
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>collision.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>transfer</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">11.00</fee:fee>
|
||||
<fee:class>collision</fee:class>
|
||||
</fee:cd>
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>premiumcollision.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>transfer</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">70.00</fee:fee>
|
||||
<fee:class>premium-collision</fee:class>
|
||||
</fee:cd>
|
||||
</fee:chkData>
|
||||
</extension>
|
||||
<trID>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
<svTRID>server-trid</svTRID>
|
||||
</trID>
|
||||
</response>
|
||||
</epp>
|
23
javatests/google/registry/flows/domain/testdata/domain_check_fee_reserved_v11_create.xml
vendored
Normal file
23
javatests/google/registry/flows/domain/testdata/domain_check_fee_reserved_v11_create.xml
vendored
Normal file
|
@ -0,0 +1,23 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<command>
|
||||
<check>
|
||||
<domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:name>reserved.tld</domain:name>
|
||||
<domain:name>allowedinsunrise.tld</domain:name>
|
||||
<domain:name>collision.tld</domain:name>
|
||||
<domain:name>premiumcollision.tld</domain:name>
|
||||
</domain:check>
|
||||
</check>
|
||||
<extension>
|
||||
<launch:check xmlns:launch="urn:ietf:params:xml:ns:launch-1.0" type="avail">
|
||||
<launch:phase name="foo">custom</launch:phase>
|
||||
</launch:check>
|
||||
<fee:check xmlns:fee="urn:ietf:params:xml:ns:fee-0.11">
|
||||
<fee:command>create</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
</fee:check>
|
||||
</extension>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
</command>
|
||||
</epp>
|
23
javatests/google/registry/flows/domain/testdata/domain_check_fee_reserved_v11_renew.xml
vendored
Normal file
23
javatests/google/registry/flows/domain/testdata/domain_check_fee_reserved_v11_renew.xml
vendored
Normal file
|
@ -0,0 +1,23 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<command>
|
||||
<check>
|
||||
<domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:name>reserved.tld</domain:name>
|
||||
<domain:name>allowedinsunrise.tld</domain:name>
|
||||
<domain:name>collision.tld</domain:name>
|
||||
<domain:name>premiumcollision.tld</domain:name>
|
||||
</domain:check>
|
||||
</check>
|
||||
<extension>
|
||||
<launch:check xmlns:launch="urn:ietf:params:xml:ns:launch-1.0" type="avail">
|
||||
<launch:phase name="foo">custom</launch:phase>
|
||||
</launch:check>
|
||||
<fee:check xmlns:fee="urn:ietf:params:xml:ns:fee-0.11">
|
||||
<fee:command>renew</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
</fee:check>
|
||||
</extension>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
</command>
|
||||
</epp>
|
23
javatests/google/registry/flows/domain/testdata/domain_check_fee_reserved_v11_restore.xml
vendored
Normal file
23
javatests/google/registry/flows/domain/testdata/domain_check_fee_reserved_v11_restore.xml
vendored
Normal file
|
@ -0,0 +1,23 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<command>
|
||||
<check>
|
||||
<domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:name>reserved.tld</domain:name>
|
||||
<domain:name>allowedinsunrise.tld</domain:name>
|
||||
<domain:name>collision.tld</domain:name>
|
||||
<domain:name>premiumcollision.tld</domain:name>
|
||||
</domain:check>
|
||||
</check>
|
||||
<extension>
|
||||
<launch:check xmlns:launch="urn:ietf:params:xml:ns:launch-1.0" type="avail">
|
||||
<launch:phase name="foo">custom</launch:phase>
|
||||
</launch:check>
|
||||
<fee:check xmlns:fee="urn:ietf:params:xml:ns:fee-0.11">
|
||||
<fee:command>restore</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
</fee:check>
|
||||
</extension>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
</command>
|
||||
</epp>
|
23
javatests/google/registry/flows/domain/testdata/domain_check_fee_reserved_v11_transfer.xml
vendored
Normal file
23
javatests/google/registry/flows/domain/testdata/domain_check_fee_reserved_v11_transfer.xml
vendored
Normal file
|
@ -0,0 +1,23 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<command>
|
||||
<check>
|
||||
<domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:name>reserved.tld</domain:name>
|
||||
<domain:name>allowedinsunrise.tld</domain:name>
|
||||
<domain:name>collision.tld</domain:name>
|
||||
<domain:name>premiumcollision.tld</domain:name>
|
||||
</domain:check>
|
||||
</check>
|
||||
<extension>
|
||||
<launch:check xmlns:launch="urn:ietf:params:xml:ns:launch-1.0" type="avail">
|
||||
<launch:phase name="foo">custom</launch:phase>
|
||||
</launch:check>
|
||||
<fee:check xmlns:fee="urn:ietf:params:xml:ns:fee-0.11">
|
||||
<fee:command>transfer</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
</fee:check>
|
||||
</extension>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
</command>
|
||||
</epp>
|
57
javatests/google/registry/flows/domain/testdata/domain_check_fee_response_v11.xml
vendored
Normal file
57
javatests/google/registry/flows/domain/testdata/domain_check_fee_response_v11.xml
vendored
Normal file
|
@ -0,0 +1,57 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<response>
|
||||
<result code="1000">
|
||||
<msg>Command completed successfully</msg>
|
||||
</result>
|
||||
<resData>
|
||||
<domain:chkData xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:cd>
|
||||
<domain:name avail="0">example1.tld</domain:name>
|
||||
<domain:reason>In use</domain:reason>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="1">example2.tld</domain:name>
|
||||
</domain:cd>
|
||||
<domain:cd>
|
||||
<domain:name avail="1">example3.tld</domain:name>
|
||||
</domain:cd>
|
||||
</domain:chkData>
|
||||
</resData>
|
||||
<extension>
|
||||
<fee:chkData xmlns:fee="urn:ietf:params:xml:ns:fee-0.11"
|
||||
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>example1.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>create</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="create">13.00</fee:fee>
|
||||
</fee:cd>
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>example2.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>create</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="create">13.00</fee:fee>
|
||||
</fee:cd>
|
||||
<fee:cd avail="1">
|
||||
<fee:object>
|
||||
<domain:name>example3.tld</domain:name>
|
||||
</fee:object>
|
||||
<fee:command>create</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="create">13.00</fee:fee>
|
||||
</fee:cd>
|
||||
</fee:chkData>
|
||||
</extension>
|
||||
<trID>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
<svTRID>server-trid</svTRID>
|
||||
</trID>
|
||||
</response>
|
||||
</epp>
|
16
javatests/google/registry/flows/domain/testdata/domain_check_fee_unknown_command_v11.xml
vendored
Normal file
16
javatests/google/registry/flows/domain/testdata/domain_check_fee_unknown_command_v11.xml
vendored
Normal file
|
@ -0,0 +1,16 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<command>
|
||||
<check>
|
||||
<domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:name>example1.tld</domain:name>
|
||||
</domain:check>
|
||||
</check>
|
||||
<extension>
|
||||
<fee:check xmlns:fee="urn:ietf:params:xml:ns:fee-0.11">
|
||||
<fee:command>delete</fee:command>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
</fee:check>
|
||||
</extension>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
</command>
|
||||
</epp>
|
23
javatests/google/registry/flows/domain/testdata/domain_check_fee_v11.xml
vendored
Normal file
23
javatests/google/registry/flows/domain/testdata/domain_check_fee_v11.xml
vendored
Normal file
|
@ -0,0 +1,23 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<command>
|
||||
<check>
|
||||
<domain:check xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:name>example1.tld</domain:name>
|
||||
<domain:name>example2.tld</domain:name>
|
||||
<domain:name>example3.tld</domain:name>
|
||||
</domain:check>
|
||||
</check>
|
||||
<extension>
|
||||
<launch:check xmlns:launch="urn:ietf:params:xml:ns:launch-1.0" type="avail">
|
||||
<launch:phase name="foo">custom</launch:phase>
|
||||
</launch:check>
|
||||
<fee:check xmlns:fee="urn:ietf:params:xml:ns:fee-0.11">
|
||||
<fee:command>create</fee:command>
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:class>premium</fee:class>
|
||||
</fee:check>
|
||||
</extension>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
</command>
|
||||
</epp>
|
|
@ -18,7 +18,7 @@
|
|||
</domain:create>
|
||||
</create>
|
||||
<extension>
|
||||
<fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee>26.00</fee:fee>
|
||||
<fee:fee description="Early Access Period">100.00</fee:fee>
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
</domain:create>
|
||||
</create>
|
||||
<extension>
|
||||
<fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee>26.00</fee:fee>
|
||||
</fee:create>
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
</domain:create>
|
||||
</create>
|
||||
<extension>
|
||||
<fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee applied="delayed">26.00</fee:fee>
|
||||
</fee:create>
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
</domain:create>
|
||||
</create>
|
||||
<extension>
|
||||
<fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee>26.000</fee:fee>
|
||||
</fee:create>
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
</domain:create>
|
||||
</create>
|
||||
<extension>
|
||||
<fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee refundable="true" grace-period="P0D" applied="immediate">26.00</fee:fee>
|
||||
</fee:create>
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
</domain:create>
|
||||
</create>
|
||||
<extension>
|
||||
<fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee grace-period="P1D">26.00</fee:fee>
|
||||
</fee:create>
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
</domain:create>
|
||||
</create>
|
||||
<extension>
|
||||
<fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee refundable="false">26.00</fee:fee>
|
||||
</fee:create>
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
|
||||
<launch:phase>landrush</launch:phase>
|
||||
</launch:create>
|
||||
<fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee>13.00</fee:fee>
|
||||
</fee:create>
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
|
||||
<launch:phase>landrush</launch:phase>
|
||||
</launch:create>
|
||||
<fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee applied="delayed">13.00</fee:fee>
|
||||
</fee:create>
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
|
||||
<launch:phase>landrush</launch:phase>
|
||||
</launch:create>
|
||||
<fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee>13.000</fee:fee>
|
||||
</fee:create>
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
|
||||
<launch:phase>landrush</launch:phase>
|
||||
</launch:create>
|
||||
<fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee refundable="true" grace-period="P0D" applied="immediate">13.00</fee:fee>
|
||||
</fee:create>
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
|
||||
<launch:phase>landrush</launch:phase>
|
||||
</launch:create>
|
||||
<fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee grace-period="P1D">13.00</fee:fee>
|
||||
</fee:create>
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
xmlns:launch="urn:ietf:params:xml:ns:launch-1.0">
|
||||
<launch:phase>landrush</launch:phase>
|
||||
</launch:create>
|
||||
<fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:create xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee refundable="false">13.00</fee:fee>
|
||||
</fee:create>
|
||||
|
|
|
@ -16,10 +16,10 @@
|
|||
<launch:phase>landrush</launch:phase>
|
||||
<launch:applicationID>1-TLD</launch:applicationID>
|
||||
</launch:creData>
|
||||
<fee:creData xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee description="create">13.00</fee:fee>
|
||||
</fee:creData>
|
||||
<%FEE_NS%:creData xmlns:%FEE_NS%="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<%FEE_NS%:currency>USD</%FEE_NS%:currency>
|
||||
<%FEE_NS%:fee description="create">13.00</%FEE_NS%:fee>
|
||||
</%FEE_NS%:creData>
|
||||
</extension>
|
||||
<trID>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
</domain:creData>
|
||||
</resData>
|
||||
<extension>
|
||||
<fee:creData xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:creData xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee description="create">26.00</fee:fee>
|
||||
<fee:fee description="Early Access Period, fee expires: 1999-04-04T22:00:00.000Z">100.00</fee:fee>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
</domain:creData>
|
||||
</resData>
|
||||
<extension>
|
||||
<fee:creData xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:creData xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee description="create">26.00</fee:fee>
|
||||
</fee:creData>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
</result>
|
||||
<extension>
|
||||
<fee:delData
|
||||
xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:credit description="autoRenewPeriod credit">-11.00</fee:credit>
|
||||
</fee:delData>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
</result>
|
||||
<extension>
|
||||
<fee:delData
|
||||
xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:credit description="addPeriod credit">-123.00</fee:credit>
|
||||
</fee:delData>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
</result>
|
||||
<extension>
|
||||
<fee:delData
|
||||
xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:credit description="renewPeriod credit">-456.00</fee:credit>
|
||||
</fee:delData>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
</domain:renew>
|
||||
</renew>
|
||||
<extension>
|
||||
<fee:renew xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:renew xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee>55.00</fee:fee>
|
||||
</fee:renew>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
</domain:renew>
|
||||
</renew>
|
||||
<extension>
|
||||
<fee:renew xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:renew xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee applied="delayed">55.00</fee:fee>
|
||||
</fee:renew>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
</domain:renew>
|
||||
</renew>
|
||||
<extension>
|
||||
<fee:renew xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:renew xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee refundable="true" grace-period="P0D" applied="immediate">55.00</fee:fee>
|
||||
</fee:renew>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
</domain:renew>
|
||||
</renew>
|
||||
<extension>
|
||||
<fee:renew xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:renew xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee grace-period="P1D">55.00</fee:fee>
|
||||
</fee:renew>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
</domain:renew>
|
||||
</renew>
|
||||
<extension>
|
||||
<fee:renew xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:renew xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee refundable="false">55.00</fee:fee>
|
||||
</fee:renew>
|
||||
|
|
|
@ -11,10 +11,10 @@
|
|||
</domain:renData>
|
||||
</resData>
|
||||
<extension>
|
||||
<fee:renData xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee description="renew">55.00</fee:fee>
|
||||
</fee:renData>
|
||||
<%FEE_NS%:renData xmlns:%FEE_NS%="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<%FEE_NS%:currency>USD</%FEE_NS%:currency>
|
||||
<%FEE_NS%:fee description="renew">55.00</%FEE_NS%:fee>
|
||||
</%FEE_NS%:renData>
|
||||
</extension>
|
||||
<trID>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
</domain:transfer>
|
||||
</transfer>
|
||||
<extension>
|
||||
<fee:transfer xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:transfer xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee>11.00</fee:fee>
|
||||
</fee:transfer>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
</domain:transfer>
|
||||
</transfer>
|
||||
<extension>
|
||||
<fee:transfer xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:transfer xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee refundable="true" grace-period="P0D" applied="immediate">11.00</fee:fee>
|
||||
</fee:transfer>
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
</domain:trnData>
|
||||
</resData>
|
||||
<extension>
|
||||
<fee:trnData xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:trnData xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee description="renew">11.00</fee:fee>
|
||||
</fee:trnData>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<rgp:update xmlns:rgp="urn:ietf:params:xml:ns:rgp-1.0">
|
||||
<rgp:restore op="request"/>
|
||||
</rgp:update>
|
||||
<fee:update xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:update xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee>28.00</fee:fee>
|
||||
</fee:update>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<rgp:update xmlns:rgp="urn:ietf:params:xml:ns:rgp-1.0">
|
||||
<rgp:restore op="request"/>
|
||||
</rgp:update>
|
||||
<fee:update xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:update xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee applied="delayed">28.00</fee:fee>
|
||||
</fee:update>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<rgp:update xmlns:rgp="urn:ietf:params:xml:ns:rgp-1.0">
|
||||
<rgp:restore op="request"/>
|
||||
</rgp:update>
|
||||
<fee:update xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:update xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee>28.000</fee:fee>
|
||||
</fee:update>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<rgp:update xmlns:rgp="urn:ietf:params:xml:ns:rgp-1.0">
|
||||
<rgp:restore op="request"/>
|
||||
</rgp:update>
|
||||
<fee:update xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:update xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee refundable="true" grace-period="P0D" applied="immediate">28.00</fee:fee>
|
||||
</fee:update>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<rgp:update xmlns:rgp="urn:ietf:params:xml:ns:rgp-1.0">
|
||||
<rgp:restore op="request"/>
|
||||
</rgp:update>
|
||||
<fee:update xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:update xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee grace-period="P1D">28.00</fee:fee>
|
||||
</fee:update>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<rgp:update xmlns:rgp="urn:ietf:params:xml:ns:rgp-1.0">
|
||||
<rgp:restore op="request"/>
|
||||
</rgp:update>
|
||||
<fee:update xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:update xmlns:fee="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee refundable="false">28.00</fee:fee>
|
||||
</fee:update>
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
<msg>Command completed successfully</msg>
|
||||
</result>
|
||||
<extension>
|
||||
<fee:updData xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:fee description="restore">17.00</fee:fee>
|
||||
<fee:fee description="renew">11.00</fee:fee>
|
||||
</fee:updData>
|
||||
<%FEE_NS%:updData xmlns:%FEE_NS%="urn:ietf:params:xml:ns:fee-%FEE_VERSION%">
|
||||
<%FEE_NS%:currency>USD</%FEE_NS%:currency>
|
||||
<%FEE_NS%:fee description="restore">17.00</%FEE_NS%:fee>
|
||||
<%FEE_NS%:fee description="renew">11.00</%FEE_NS%:fee>
|
||||
</%FEE_NS%:updData>
|
||||
</extension>
|
||||
<trID>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
<extURI>urn:ietf:params:xml:ns:rgp-1.0</extURI>
|
||||
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
|
||||
<extURI>urn:ietf:params:xml:ns:fee-0.6</extURI>
|
||||
<extURI>urn:ietf:params:xml:ns:fee-0.11</extURI>
|
||||
</svcExtension>
|
||||
</svcMenu>
|
||||
<dcp>
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
<extURI>urn:ietf:params:xml:ns:rgp-1.0</extURI>
|
||||
<extURI>urn:ietf:params:xml:ns:secDNS-1.1</extURI>
|
||||
<extURI>urn:ietf:params:xml:ns:fee-0.6</extURI>
|
||||
<extURI>urn:ietf:params:xml:ns:fee-0.11</extURI>
|
||||
</svcExtension>
|
||||
</svcMenu>
|
||||
<dcp>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue