Ten turns out to have been set too high; that will occasionally throw
500 Backend errors from the API (presumably having to do with
rate-limiting).
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=117549363
RFC 7483 defines a way to attach events (such as registration, renewal, etc.) to domains, nameservers and entities. The ICANN Profile calls out particular events: registration, expiration, last changed and last update. This CL implements all the ICANN-defined events except last update (defined to be the last update time of the database), which doesn't make so much sense in our system.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=117546838
This improves one of our gTech processes so they no longer have to remember to create Google Groups for a registrar after creating that registrar.
The ConfirmingCommand.verify() method is renamed to be more general purpose, so that it can do anything that follows naturally after a successful execution, such as creating Google Groups groups.
Minor refactoring is done around RegistryToolEnvironment handling for tests to make it more bullet-proof and general case.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=117494277
Here's an alternate approach that I think simplifies the existing
code quite a bit. Now instead of doing:
RegistryToolEnvironment.loadFromArgs(args);
RegistryToolEnvironment.get().setup();
You just do one chained call:
RegistryToolEnvironment.parseFromArgs(args).setup();
or call setup() on a known environment constant:
RegistryToolEnvironment.ALPHA.setup();
This avoids having loadFromArgs() implicitly set the active env
(but *not* do setup) and then having setup() *not* set the active
env, both of which were confusing. Now parseFromArgs() is only
responsible for parsing from args, and setup() both sets the env
as the active one and does the environment variable setup (which
also ensures that the RegistryToolEnvironment.instance field
doesn't get out of sync with the RegistryEnvironment value).
In addition, this CL adds a runCommandInEnvironment() method to
CommandTestCase and ensures that the UNITTEST environment is always
set before constructing the default command instance.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=117492978
The previous code would not execute after failure tests that ended
with thrown exceptions, potentially causing issues with post-run
verification inside of tests.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=117484219
This is cleanup from [] -- when I set up the hint, these files were recreated inadvertently. All other code is already fixed to use the classes in []/inputs.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=117270147
This frankenclass was starting to get a little cluttered, especially once I add the ChildEntityInput/Reader.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=117266882
This is cleanup relating to a naming decision that we made awhile ago
but never got around to.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=117244827
java.net.IDN uses outdated IDNA2003. We've created a replacement
class that uses the modern UTS46 transitional standard via the
IDNA library. This fixes uses of IDN in the RDAP code.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=117243868
This CL does a very similar cleanup to Cancellation as the diffbase
does to GracePeriod - see [] It simplifes logic where we
used to overload methods to accept eitherw OneTime or Recurring billing
events refs, despite storing them in separate fields in the entity
(since BillingEvent is not a polymorphic superclass, just a Java-only
one, you can't store them as refs to BillingEvent).
That overloading was ultimately only there as a convenience/hack from
when we added Recurring events and didn't want to go back and change
everything. It obfuscates what's really going on, requires extra
casting/loss of type-safety, and relies on indirect signals (e.g. the
Billing event reason being AUTO_RENEW) to guess what the right billing
event type is. That latter aspect will likely no longer work in a
monthly billing world, and was brittle anyways (as came up in the
context of removing the AUTO_RENEW reason - see []
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=117165174
This CL cleans up some old crufy logic in GracePeriod that overloaded
methods to accept either OneTime or Recurring billing events refs,
despite storing them in separate fields in the entity (since
BillingEvent is not a polymorphic superclass, just a Java-only one,
you can't store them as refs to BillingEvent).
That overloading was ultimately only there as a convenience/hack from
when we added Recurring events and didn't want to go back and change
everything. It obfuscates what's really going on, requires extra
casting/loss of type-safety, and relies on indirect signals (e.g. the
grace period type being AUTO_RENEW) to guess what the right billing
event type is. That latter aspect will likely no longer work in a
monthly billing world, and was brittle in any case.
A coming CL will rip the same logic out of Cancellation.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=117164286
*** Reason for rollback ***
Rollback --checks-only change
This isn't available in the open source release.
*** Original change description ***
Change --checks-only flag to --checks_only for consistency with other flags.
Tested:
TAP --sample for global presubmit queue
[]
***
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=117000962
The client ID is passed as the "customer ID" to Braintree. In order for
this to work, someone needs to go into the Braintree website beforehand,
click on "New Customer" link, and create the customer record with a
matching ID.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=116769955
The ExportDomainListsAction [] has a cron entry that runs it twice per day. It exports one flat text file per real (non-test) TLD to the "{project-id}-domain-lists" bucket in Google Cloud Storage, overwriting the existing ones in place. Each file is a newline-delimited list of active (non-deleted) domains in that TLD.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=116767987
Simple python script to generate the .project and .classpath files
for eclipse. The script bundles all jar dependencies into a single
jar file, collects all auto-generated java files into a single
source folder and adds them to the eclipse classpath.
This will make it easier for Donuts to do loose coupling of
repositories. Without this change, they would have to copy everything
from our WORKSPACE file by hand.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=116674743
Note that there is some configuration work necessary pre-push before this change will work.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=116660866
The new code pulls all pending update tasks, groups by TLD, and invokes PublishDnsUpdates for each group. It is running in Sandbox successfully, so we're going to try to move it to production. Both the old and new code have been in production for a while, so if there's a problem, we can revert just this CL to go back.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=116546323
The admin console needs public visibility for additional targets.
//java/com/google/domain/registry/tools/params
- Needed for the Whois test server
//java/com/google/domain/registry/whois
- Needed for reusing WhoisHttpServer in the whois appengine module
//javatests/com/google/domain/registry/server
- Needed for the Whois test server
We no longer reference @bazel_tools//third_party. All of our transitive
dependencies are now specified explicitly in our WORKSPACE file.
I also fixed the way that jar dependencies are exported, so we don't
break strict dependency checking.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=116421176
The ICANN RDAP Profile (dated 3 December 2015) requires certain boilerplate entries at the top level of the JSON object. Specifically:
1.4.4. The terms of service of the RDAP service MUST be specified in the
notices object in the topmost JSON object of the response. The notices
object MUST contain a links object [RFC7483]. The links object MUST
contain an URL of the contracted party providing the RDAP service.
1.4.10. An RDAP response MUST contain a remarks member with a description
containing the string “This response conforms to the RDAP Operational
Profile for gTLD Registries and Registrars version 1.0”.
1.5.18. A domain name RDAP response MUST contain a remarks member with
a title “EPP Status Codes”, a description containing the string “For
more information on domain status codes, please visit
https://icann.org/epp” and a links member with the
https://icann.org/epp URL.
1.5.20. A domain name RDAP response MUST contain a remarks member with
a title “Whois Inaccuracy Complaint Form”, a description containing
the string “URL of the ICANN Whois Inaccuracy Complaint Form:
https://www.icann.org/wicf” and a links member with the
https://www.icann.org/wicf URL.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=116389950
This is the penultimate step of migrating away from sharedFields. The next step is to remove them entirely.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=116364048
This is so Donuts can create entirely separate Bazel repositories that
link against the Domain Registry codebase.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=116182448
This protects us from the edge case of potentially stale
memcache data due to a DeadlineExceededExeption, or possibly
from MemcacheServiceException. If memcache gets stale and
misses a write that went to Datastore, it will catch up in
at most one hour.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=116174023
This dependency is only needed by the internal version of Dagger, which
hasn't been rolled out to the public yet.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=116097182
goog.dom.htmlToDocumentFragment is going to be removed in [] It is removed because its usage can cause XSS.
More information: []
Tested:
TAP --sample for global presubmit queue
[]
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=116081948