aka regexing for fun and profit.
This also makes sure that there are no statements after the
throwing statement, since these would be dead code. There
were a surprising number of places with assertions after
the throw, and none of these are actually triggered in tests
ever. When I found these, I replaced them with try/catch/rethrow
which makes the assertions actually happen:
before:
// This is the ExceptionRule that checks EppException marshaling
thrown.expect(FooException.class);
doThrowingThing();
assertSomething(); // Dead code!
after:
try {
doThrowingThing();
assertWithMessage("...").fail();
} catch (FooException e) {
assertSomething();
// For EppExceptions:
assertAboutEppExceptins().that(e).marshalsToXml();
}
To make this work, I added EppExceptionSubject.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135793407
There was a circular reference when hydrating a domain with a
subordinate host, since the host references the domain. To fix
this, I redid @DoNotHydrate to be the way it should have been,
rather than the hack I had originally submitted. I also beefed
up the unit tests of the epp resource types to check for cycles.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135792416
This eliminates the transactional load of ForeignKeyIndexes and
EppResourceIndexes, the latter of which was problematic because it is parented
on the EppResourceIndexBucket entity group, and can cause concurrent
modification exceptions on live code paths. By removing the transactional load
and only touching that entity group on the delete, the number of potential
concurrent modification exceptions is significantly reduced.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135706974
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
This also changes the default number of mapper shards in tests to 2, which is
the number of EppResourceIndex buckets in unit tests. Running more shards than
there are buckets causes unnecessary test load.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135520601
The ICAAN Operational Profile dictates that a notice be added to the RDAP search results response when there are more objects than the server's chosen result set size. This CL (hopefully the last one) handles the fixes for entity (contact and registrar) searches.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135494283
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
The ICAAN Operational Profile dictates that a notice be added to the RDAP search results response when there are more objects than the server's chosen result set size. This CL handles the fixes for nameserver searches.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135411617
The ICAAN Operational Profile dictates that a notice be added to the RDAP search results response when there are more objects than the server's chosen result set size. This CL handles the fixes for domain searches.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135407203
This fixes a whole mess of Eclipse warnings about a Closeable not calling
close().
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135407085
This makes it clear that the non-production environment project ids are all
constructed by adding a suffix to the production environment project id, and
makes it slightly easier to configure it for a new environment (because there is
only one string to change instead of two).
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135406763
I've also improved the install instructions based on what actually works when
deploying the GitHub-hosted version of the codebase to App Engine using an
external cloud account.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135390967
This is how it should be in every test, but we used to not be
so careful about this. I had to touch this file anyways, so
I fixed it here.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135387267
This changes everything with external visibility beyond the codebase
(i.e. the name of the compiled binary and the documentation that refers
to it). It does not change a lot of things internal to the codebase,
i.e. the "RegistryTool" class didn't change its name. We can rename that
in a subsequent CL if we want to.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135022087
/bin/sh is not always /bin/bash, and double bracket evaluations don't work on all sh implementations.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134998874
Almost all uses were in test classes, which I replaced with clock.nowUTC().
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134993149
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
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