Commit graph

411 commits

Author SHA1 Message Date
mountford
60cb1b4dfb Add extra flow logic hook for application create
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=137396935
2016-11-02 15:19:34 -04:00
nickfelt
bc0116f3a0 Add EPP controller logging for XML unmarshalling failures
This will make it much easier to detect issues with bad EPP XML (e.g. the one in the loadtest action fixed in [] based on the request logs, since otherwise the only indication of what went wrong is the EPP response returned to the client, which we don't store anywhere.

Now we'll get log messages that look like this:

google.registry.flows.EppController handleEppCommand: EPP request XML unmarshalling failed - "Syntax error at line 2, column 7: cvc-elt.1: Cannot find the declaration of element 'epp'.": (EppController.java:59)
{"clientId":"CharlestonRoad","resultCode":2001,"resultMessage":"Command syntax error","xmlBytes":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI\/Pgo8ZXBwLz4K"}
========================================
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<epp/>
========================================
google.registry.flows.EppXmlTransformer$GenericSyntaxErrorException: Syntax error at line 2, column 7: cvc-elt.1: Cannot find the declaration of element 'epp'.
	at google.registry.flows.EppXmlTransformer.unmarshal(EppXmlTransformer.java:89)
	at google.registry.flows.EppController.handleEppCommand(EppController.java:56)
	at google.registry.flows.EppRequestHandler.executeEpp(EppRequestHandler.java:37)
	at google.registry.flows.EppToolAction.run(EppToolAction.java:33)
        <snip>

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=137363446
2016-11-02 15:19:34 -04:00
ctingue
21c0b43af0 Fix missing LRP token during LRP period behavior
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=137321673
2016-11-02 15:19:34 -04:00
mountford
748dd34385 Save number of years in DomainApplication
Right now, DomainApplicationCreateFlow checks to make sure that the registration period is in years, but doesn't store it in the DomainApplication explicitly. Instead, when DomainAllocateFlow runs later, it goes back to the XML in the HistoryEntry to get the number of years. Corey suggests that it would be cleaner to store the number of years in the DomainApplication. This is stage one of a data migration; we store the value, but don't actually read it anywhere except in tests. If we have any outstanding domain applications, we will then need to write a scrap tool to populate the years field, after which we can start relying on the field.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=137317739
2016-11-02 15:19:34 -04:00
cgoldfeder
198558901d Remove old json logging from flows
This was meant for log replay and has long been ignored/useless.
As part of this, remove execution time from EppResponse since this
was the only thing consuming it.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=137293734
2016-11-02 15:19:34 -04:00
ctingue
5f8a95d853 Add additional LRP tests for non-application phases
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=137292394
2016-11-02 15:19:34 -04:00
mountford
e40db46822 Add extra flow logic for Restore
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=137191080
2016-11-02 15:19:34 -04:00
mountford
aecca10989 Add additional specific PricingEngineProxy methods
We already had methods to return just the create or just the renew price. I added more to return just the premium flag or just the fee class.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=136833071
2016-10-24 11:57:00 -04:00
mountford
fd1c68ffb9 Use TldSpecificLogicProxy to fetch renew price in DomainRenewFlow
The renew flow was still using PricingEngineProxy directly, meaning that it did not pick up on any TLD-specific pricing logic. Fixed this, and added tests to make sure.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=136757922
2016-10-24 10:47:23 -04:00
cgoldfeder
475203532e Flatten the domain and application create flows
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=136601151
2016-10-19 13:08:33 -04:00
cgoldfeder
064026a4a5 Use an empty interval instead of null to signal no LRP
This removes the need for some null checks

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=136146549
2016-10-14 17:00:33 -04:00
mcilwain
6a738557fb Use Dagger to @Inject DnsQueue everywhere that is feasible
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=136062053
2016-10-14 16:58:07 -04:00
cgoldfeder
70afce13fe Remove the fallback trid logic in DomainAllocateFlow.
There are no applications extant that predate the creationTrid field.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=136047561
2016-10-14 16:58:07 -04:00
ctingue
4e0b6d36c4 Change lrpTldStates to Interval
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135957698
2016-10-14 16:58:07 -04:00
ctingue
dd9137fbd1 Rename LrpToken to LrpTokenEntity
This is to better distinguish between an LRP "token" (the string passed along in EPP) and the datastore entity that contains the token and all metadata.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135943480
2016-10-14 16:58:07 -04:00
nickfelt
a500812a91 Remove overly broad try-catch in BaseDomainCreateFlow.createFlowRepoId()
This bit Hans as described in
https://groups.google.com/d/topic/nomulus-discuss/o897-hRP_3c/discussion

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135842526
2016-10-14 16:58:07 -04:00
cgoldfeder
c59227bb76 Remove useless createdRepoId from logging
It is no longer needed since we don't do log-replay and it's
annoying to support in the flat flows.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135805088
2016-10-14 16:58:07 -04:00
shikhman
f76bc70f91 Preserve test logs and test summary output for Kokoro CI runs
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135494972
2016-10-14 16:57:43 -04:00
cgoldfeder
049c636966 Add a missing verification to DomainApplicationUpdateFlow.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135712711
2016-10-11 11:27:53 -04:00
mountford
718da70b71 Add TLD extra flow logic for update
This CL implements the TLD-specific extra flow logic for updates, with tests, based on the static helper classes of the previous CL.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135683537
2016-10-11 11:27:48 -04:00
mcilwain
94c549d960 Delete obsoleted non-batched DNS refresh on host rename action
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135681285
2016-10-11 11:27:48 -04:00
cgoldfeder
a09d48a4a5 Decentralize how registry phase checks are done in flows
Very few flows actually check the phase. Push the checks down to the leaf
flows so that we can remove the inherited code from ResourceFlow and replace
it with utility methods. In the process, document and test two places that
throw the exception but did not previously test it.

This introduces a temporary hack in BaseDomainCreateFlow that does something
specific for DomainApplicationCreateFlow. It will go away literally tomorrow
when I flatten that flow.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135480538
2016-10-07 15:29:48 -04:00
mcilwain
43c67403fa Expurgate vestiges of superannuated flow hierarchy
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135407546
2016-10-07 15:29:48 -04:00
mcilwain
d4e4333c2e Remove stray unused injected field in ContactDeleteFlow
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135406351
2016-10-07 15:29:48 -04:00
mcilwain
e864fedab1 Remove trailing whitespace in files
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135386752
2016-10-07 15:29:47 -04:00
mcilwain
b65b855067 Always use the constructor to make Immutable Collection Builders
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135359669
2016-10-07 14:37:02 -04:00
cgoldfeder
886d6f8e17 Flatten the domain and domain application update flows
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135282371
2016-10-07 14:34:06 -04:00
mcilwain
dfb4888834 Make host update helper functions private
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135011679
2016-10-03 16:46:50 -04:00
mcilwain
d853e59c7f Cut over to batched DNS refreshing on host renames
TESTED=I deployed it on alpha, renamed some hosts, and verified that
the [] ran as expected.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134991941
2016-10-03 16:42:24 -04:00
mcilwain
3613eff204 Add human-readable responses when manually running batch []s
This will make potential issues a little nicer to debug in the future, because
the person hitting these endpoints manually will immediately know why they may
not be kicking off a [] console as might be expected.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134840223
2016-10-03 16:39:22 -04:00
mcilwain
67695bfc4b Handle already deleted contacts/hosts in async deletion better
This applies lessons learned from the async batch DNS refresh action, in
particular making testing more robust.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134833523
2016-10-03 16:33:23 -04:00
mountford
237e588d6c Do not require fee extension on free updates
This CL fixes a bug introduced in [] which caused an exception to be thrown when an attempt was made to update a domain without a fee extension, even if the update was free, as it usually is. The fee extension should only be required if the update is not free.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134830250
2016-10-03 16:28:53 -04:00
mcilwain
e192c11adf Add a batched [] for DNS refreshing on host renames
This will replace the existing DnsRefreshForHostRenameAction.

This is stage one of a three stage migration process. It adds the new queue and
[] but doesn't call them yet. Stage two will cut over to using the new
functionality, and stage three will remove the old functionality.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134793963
2016-10-03 16:11:00 -04:00
mcilwain
1dcc5e5cc6 Remove non-batch async contact/host deletion actions
They have been superseded by DeleteContactsAndHostsAction.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134424453
2016-10-03 15:47:58 -04:00
nickfelt
df53080f78 Reorganize DomainTransferRequestFlow helper method structure
This attempts to improve the organization of the helper methods in
DomainTransferRequestFlow created by the flattening in []

The primary changes are:

 - new createTransferServerApproveEntities() method that now makes
   all the server approve entities in one centralized place

 - new createPendingTransferData() method that takes the server
   approve entities and hides the slightly hacky code that parses out
   the right ones to stuff into the TransferData

This seems like an overall simpler structure to me.  With this change,
run() is 20 lines shorter and the flow overall is 40 lines shorter (not
counting a big blob of javadoc I added).

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134315295
2016-10-03 15:36:05 -04:00
cgoldfeder
099242e318 Flatten the domain restore flow
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134299792
2016-10-03 15:34:34 -04:00
cgoldfeder
afb2811704 Flatten the domain renew flow
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134120002
2016-09-26 13:45:39 -04:00
mmuller
1b4e73a50f Fix duplicate '/**' at the beginning of class javadocs
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134109886
2016-09-26 13:36:45 -04:00
cgoldfeder
8d4234090e Mark DomainDeleteFlow final like all the other flows
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134101058
2016-09-26 13:33:43 -04:00
cgoldfeder
dbb3977bcf Delete some of the old hierarchical flow files
These have already been totally replaced by flattened flows.
There are a few left that will get deleted when the remaining
flat flows go in.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134077510
2016-09-26 13:29:46 -04:00
jianglai
add9474e9a Change EAP fee billing event reason to EARLY_ACCESS
The reason field is 1:1 mapped to skus in billing reports. Need to add a new reason for EAP for this type of billing event for reporting to work correctly. Also map that reason to the correct SKU.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134005364
2016-09-26 13:28:07 -04:00
jianglai
b783acfcc6 Support date and notAfter in fee extension response v12
When custom effective date is passed in the check command, the response should
contain that date as an acknowledgemant that the check is performed at a time
different from now.

Also when the fee(s) returned contains a validDateRange (i. e. EAP fees that
are only valid during a certain period), the response will contain a notAfter
field which is the date after which the quoted fee(s) are no longer valid. (i.
e. the earliest of the end dates of all fees that would expire.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=133989775
2016-09-26 13:24:57 -04:00
cgoldfeder
863eac3b11 Flatten the domain delete flows
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=133989378
2016-09-26 13:23:26 -04:00
cgoldfeder
096877f03e Unify two exceptions that mean the same thing
These were historically separate due to the old flow
structure, but now they should be one exception.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=133984858
2016-09-26 13:21:54 -04:00
mcilwain
21a98b899c Replace loadByUniqueId() with methods that don't overload unique id
It is replaced by loadByForeignKey(), which does the same thing that
loadByUniqueId() did for contacts, hosts, and domains, and also
loadDomainApplication(), which loads domain application by ROID. This eliminates
the ugly mode-switching of attemping to load by other foreign key or ROID.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=133980156
2016-09-26 13:20:22 -04:00
cgoldfeder
025a4ae012 Flatten the domain check flows
Also pull out a small bit of common functionality across contact and host checks.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=133977324
2016-09-26 13:17:04 -04:00
cgoldfeder
740d49e22e Contact authInfo should not be visible to all registrars in <info> flows
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=133960014
2016-09-22 14:30:05 -04:00
mcilwain
4813ed392b Rename "clientIdentifier" to "clientId" almost everywhere
It's best to be consistent and use the same thing everywhere.  "clientId" was
already used in more places and is shorter and no more ambiguous, so it's the
logical one to win out.

Note that this CL is almost solely a big Eclipse-assisted refactoring. There are
two places that I did not change clientIdentifier -- the actual entity field on
Registrar (though I did change all getters and setters), and the name of a
column on the exported registrar spreadsheet. Both would require data
migrations.

Also fixes a few minor nits discovered in touched files, including an incorrect
test in OfyFilterTest.java and some superfluous uses of String.format() when
calling checkArgument().

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=133956465
2016-09-22 14:30:05 -04:00
cgoldfeder
0564bcdbc9 Add javadoc to contact/host flows and mark them final
Also make minor javadoc tweaks to domain transfer flows
to match what we are changing in contact/host flows.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=133955677
2016-09-22 14:30:05 -04:00
cgoldfeder
a69fc769af Flatten the domain info flows
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=133955573
2016-09-22 14:30:05 -04:00