mirror of
https://github.com/google/nomulus.git
synced 2025-07-24 19:48:32 +02:00
Restrict domain transfer pricing to 1 year
This CL restricts domain transfer pricing lookups (on domain check and info) to only support a 1-year period for inquiring about transfer fees. That treatment matches what we do for domain restores, which are also always one year. This is a followup to [] which disallowed actual transfer request flows from specifying multi-year periods. Since it's no longer necessary, this CL also changes the domain transfer pricing logic to drop the years parameter, including removing the parameter from the custom pricing logic TransferPriceParameters object. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=150367839
This commit is contained in:
parent
8b37620af1
commit
70fbdccea2
15 changed files with 133 additions and 18 deletions
|
@ -47,6 +47,7 @@ import google.registry.flows.domain.DomainFlowUtils.NotAuthorizedForTldException
|
|||
import google.registry.flows.domain.DomainFlowUtils.RestoresAreAlwaysForOneYearException;
|
||||
import google.registry.flows.domain.DomainFlowUtils.TldDoesNotExistException;
|
||||
import google.registry.flows.domain.DomainFlowUtils.TrailingDashException;
|
||||
import google.registry.flows.domain.DomainFlowUtils.TransfersAreAlwaysForOneYearException;
|
||||
import google.registry.flows.domain.DomainFlowUtils.UnknownFeeCommandException;
|
||||
import google.registry.flows.exceptions.TooManyResourceChecksException;
|
||||
import google.registry.model.domain.DomainResource;
|
||||
|
@ -767,6 +768,27 @@ public class DomainCheckFlowTest
|
|||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeeExtension_multiyearTransfer_v06() throws Exception {
|
||||
setEppInput("domain_check_fee_multiyear_transfer_v06.xml");
|
||||
thrown.expect(TransfersAreAlwaysForOneYearException.class);
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeeExtension_multiyearTransfer_v11() throws Exception {
|
||||
setEppInput("domain_check_fee_multiyear_transfer_v11.xml");
|
||||
thrown.expect(TransfersAreAlwaysForOneYearException.class);
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeeExtension_multiyearTransfer_v12() throws Exception {
|
||||
setEppInput("domain_check_fee_multiyear_transfer_v12.xml");
|
||||
thrown.expect(TransfersAreAlwaysForOneYearException.class);
|
||||
runFlow();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFeeExtension_unknownCommand_v06() throws Exception {
|
||||
setEppInput("domain_check_fee_unknown_command_v06.xml");
|
||||
|
|
|
@ -43,6 +43,7 @@ import google.registry.flows.domain.DomainFlowUtils.BadPeriodUnitException;
|
|||
import google.registry.flows.domain.DomainFlowUtils.CurrencyUnitMismatchException;
|
||||
import google.registry.flows.domain.DomainFlowUtils.FeeChecksDontSupportPhasesException;
|
||||
import google.registry.flows.domain.DomainFlowUtils.RestoresAreAlwaysForOneYearException;
|
||||
import google.registry.flows.domain.DomainFlowUtils.TransfersAreAlwaysForOneYearException;
|
||||
import google.registry.model.billing.BillingEvent.Recurring;
|
||||
import google.registry.model.contact.ContactAuthInfo;
|
||||
import google.registry.model.contact.ContactResource;
|
||||
|
@ -625,6 +626,15 @@ public class DomainInfoFlowTest extends ResourceFlowTestCase<DomainInfoFlow, Dom
|
|||
runFlow();
|
||||
}
|
||||
|
||||
/** Test a transfer for more than one year. */
|
||||
@Test
|
||||
public void testFeeExtension_multiyearTransfer() throws Exception {
|
||||
setEppInput("domain_info_fee_multiyear_transfer.xml");
|
||||
persistTestEntities(false);
|
||||
thrown.expect(TransfersAreAlwaysForOneYearException.class);
|
||||
runFlow();
|
||||
}
|
||||
|
||||
/** Test that we load contacts and hosts as a batch rather than individually. */
|
||||
@Test
|
||||
public void testBatchLoadingOfReferences() throws Exception {
|
||||
|
|
22
javatests/google/registry/flows/domain/testdata/domain_check_fee_multiyear_transfer_v06.xml
vendored
Normal file
22
javatests/google/registry/flows/domain/testdata/domain_check_fee_multiyear_transfer_v06.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: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.6">
|
||||
<fee:domain>
|
||||
<fee:name>example1.tld</fee:name>
|
||||
<fee:command>transfer</fee:command>
|
||||
<fee:period unit="y">2</fee:period>
|
||||
</fee:domain>
|
||||
</fee:check>
|
||||
</extension>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
</command>
|
||||
</epp>
|
19
javatests/google/registry/flows/domain/testdata/domain_check_fee_multiyear_transfer_v11.xml
vendored
Normal file
19
javatests/google/registry/flows/domain/testdata/domain_check_fee_multiyear_transfer_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>transfer</fee:command>
|
||||
<fee:period unit="y">2</fee:period>
|
||||
</fee:check>
|
||||
</extension>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
</command>
|
||||
</epp>
|
20
javatests/google/registry/flows/domain/testdata/domain_check_fee_multiyear_transfer_v12.xml
vendored
Normal file
20
javatests/google/registry/flows/domain/testdata/domain_check_fee_multiyear_transfer_v12.xml
vendored
Normal file
|
@ -0,0 +1,20 @@
|
|||
<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.12">
|
||||
<fee:command name="transfer">
|
||||
<fee:period unit="y">2</fee:period>
|
||||
</fee:command>
|
||||
</fee:check>
|
||||
</extension>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
</command>
|
||||
</epp>
|
18
javatests/google/registry/flows/domain/testdata/domain_info_fee_multiyear_transfer.xml
vendored
Normal file
18
javatests/google/registry/flows/domain/testdata/domain_info_fee_multiyear_transfer.xml
vendored
Normal file
|
@ -0,0 +1,18 @@
|
|||
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
|
||||
<command>
|
||||
<info>
|
||||
<domain:info
|
||||
xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
|
||||
<domain:name hosts="all">example.tld</domain:name>
|
||||
</domain:info>
|
||||
</info>
|
||||
<extension>
|
||||
<fee:info xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:command>transfer</fee:command>
|
||||
<fee:period unit="y">2</fee:period>
|
||||
</fee:info>
|
||||
</extension>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
</command>
|
||||
</epp>
|
|
@ -10,7 +10,7 @@
|
|||
<fee:info xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:command>transfer</fee:command>
|
||||
<fee:period unit="y">2</fee:period>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
</fee:info>
|
||||
</extension>
|
||||
<clTRID>ABC-12345</clTRID>
|
||||
|
|
|
@ -34,8 +34,8 @@
|
|||
<fee:infData xmlns:fee="urn:ietf:params:xml:ns:fee-0.6">
|
||||
<fee:currency>USD</fee:currency>
|
||||
<fee:command>transfer</fee:command>
|
||||
<fee:period unit="y">2</fee:period>
|
||||
<fee:fee description="renew">22.00</fee:fee>
|
||||
<fee:period unit="y">1</fee:period>
|
||||
<fee:fee description="renew">11.00</fee:fee>
|
||||
</fee:infData>
|
||||
</extension>
|
||||
<trID>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue