Commit graph

311 commits

Author SHA1 Message Date
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
mountford
8ce6b16de7 Add TLD extra renew flow logic
This CL implements the TLD-specific extra flow logic for Renew commands, including tests.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135950104
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
mountford
1a9f91ed9e Add TLD extra create flow logic
This CL implements the TLD-specific extra flow logic for Create commands, including tests.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135922961
2016-10-14 16:58:07 -04:00
mcilwain
cfbf62ef4e Move ExceptionRule up to FlowTestCase
This removes a much larger number of independent field defs.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135846921
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
cgoldfeder
2d518ed666 Move thrown.expect() right before the throwing statement
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
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
f3a0b78145 Move thrown.expect() right before the throwing statement
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
2016-10-11 11:27:54 -04:00
cgoldfeder
cb8320ff40 Change @DoNotHydrate to work on fields, not types.
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
2016-10-11 11:27:54 -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
mcilwain
222ccd912a Centralize creation of MapreduceRunner in unit tests
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
2016-10-11 11:27:41 -04:00
mountford
b224a90a4c RDAP: Display truncation notice for large entity result sets
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
2016-10-07 15:29:49 -04:00
mcilwain
49fd75300e Fix call to @CheckReturnValue method in tests that wasn't checking
The exception being thrown during the build is described here:
http://errorprone.info/bugpattern/CheckReturnValue. Since this is just in a test
class, the most expedient thing to do is ignore the error.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135492692
2016-10-07 15:29:49 -04:00
cgoldfeder
fabbf8871c Fix more deprecated methods in truth tests
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135481064
2016-10-07 15:29:49 -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
aaa84d6ec6 Improve a few assertion fails in tests
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135479183
2016-10-07 15:29:48 -04:00
mountford
5c5499d598 RDAP: Display truncation notice for large nameserver result sets
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
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
mountford
179bd22531 RDAP: Display truncation notice for large domain result sets
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
2016-10-07 15:29:48 -04:00
mcilwain
5a4926323e Use try-with-resources pattern in RdeParserTest
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
2016-10-07 15:29:48 -04:00
mmuller
129cbe8103 Make product name driven from config in the console
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135399007
2016-10-07 15:29:48 -04:00
ctingue
74369b69be Fix build by adding missing LrpToken.metadata field to schema file
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135392862
2016-10-07 15:29:47 -04:00
cgoldfeder
940fadff8a Move thrown.expect() right before runFlow() in one test file
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
2016-10-07 15:29:47 -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
ctingue
0ae5d10632 Add metadata map to LrpToken
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135382828
2016-10-07 15:29:47 -04:00
ctingue
3525205984 Replace Truth's deprecated getSubject() method with actual()
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135361382
2016-10-07 14:38:31 -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
ctingue
79387f5d1e Centralize token generation and formats
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135313726
2016-10-07 14:35:35 -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
jart
ad66f805cf Fix Closure transpile.js build error
See also:
- google/closure-compiler#2051
- bazelbuild/rules_closure@9e92334

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=135138725
2016-10-05 11:58:23 -04:00
mcilwain
b7a2c36be8 Fix all uses of DateTime.now() to use DateTimeZone.UTC
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
2016-10-03 16:43:53 -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
nickfelt
730cca257d Remove GtechCommand and other vestiges of gtech_tool
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134836647
2016-10-03 16:36:23 -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
3d5ab8d068 Add success exception for TestExtraLogicManager
TestExtraLogicManager is pretty kludgy, and should be replaced with injection, mocking, etc. But in the meantime, using a dedicated error to signal its success, rather than IllegalArgumentException as was done before, at least makes things a little easier to follow.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134832315
2016-10-03 16:30:22 -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
nickfelt
ee13ee35b0 Merge gtech_tool functionality into registry_tool
This change consolidates gtech_tool into registry_tool.  Since App Engine has
no actual ACLs on the remote API (any access is essentially root access), we're
removing this to avoid giving the impression to users that gtech_tool is truly
locked down from a security perspective compared to registry_tool.

In addition to merging GtechTool.COMMAND_MAP into RegistryTool.COMMAND_MAP, this
change also removes the {create,update}_sandbox_tld commands (which only made
sense for gtech_tool) and removes references to gtech_tool in the documentation.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134828710
2016-10-03 16:27:24 -04:00
mcilwain
f969e58025 Make DatastoreHelper set creation time to START_OF_TIME for contacts
It was already doing this for domains and hosts, and that it wasn't doing it for
contacts was confusing and caused me to experience a difficult-to-track-down
error in writing new code.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134827468
2016-10-03 16:25:55 -04:00
mountford
d0c102e680 RDAP: Fixes for domain search by nameserver
Use ordered sets to make sure that we don't pick up the same domain more than once if we find more than one of its nameservers, while preserving the order in which the domains are found. Add tests to make sure it works.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134821458
2016-10-03 16:21:32 -04:00
mcilwain
c517c98d17 Fix confusing "now" parameters on persist deleted helper methods
They were taking a DateTime "now", which would seem like it would be the time of
when the resource was deleted, but it was actually the time by which the
resource was deleted, with the actual deletion time being hardcoded to a day
prior.  The confusion was evident because a fair number of tests were passing
the wrong thing.  I renamed the parameter "deletionTime" to make it exactly
clear what it's doing and fixed up some callsites where necessary.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134818032
2016-10-03 16:20:03 -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
bf75c4ca48 Make registrar console logo non-Google-Registry-specific
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134691115
2016-10-03 16:05:02 -04:00
ctingue
36249021ac Remove redemptionHistoryEntry from LrpToken index
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134570879
2016-10-03 15:54:10 -04:00
nickfelt
51f5c8bcfe Improve tests for RegistryTool and GtechTool
This improves the tests by:

 1) Adding tests for alphabetical ordering of the command maps, to keep them
    organized, and fixing existing mis-orderings.  Note that this is a no-op
    test for RegistryTool since it uses ImmutableSortedMap (to resort the
    commands after inserting GtechTool.COMMAND_MAP), but it'll be relevant
    in the upcoming CL when they get merged.  I changed GtechTool.COMMAND_MAP
    to use regular ImmutableMap.

 2) Checking that RegistryTool.COMMAND_MAP (the full map, after the existing
    GtechTool.COMMAND_MAP has been merged in) contains the exact same set of
    commands as all the concrete classes implementing Command that we can find.

    This is a stronger test than what we had before, which just checked that
    every Command class appeared in RegistryTool (i.e. that RegistryTool's
    commands are a superset of all Commands found).  You'd think that it'd be
    impossible for RegistryTool to contain commands that aren't in the set of
    Commands we found, but it is if we're not searching for commands properly,
    which we weren't (we were only checking within the .tools package and not
    within any subpackages (e.g. tools.javascrap).  This has now been fixed.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134451859
2016-10-03 15:51:08 -04:00
mcilwain
b6fbe1f3df Consolidate expand billing events action into 'batch' package
Now it lives alongside the delete prober data action, as well as any future
batch/maintenance tasks that should run periodically.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134435668
2016-10-03 15:49:35 -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
shikhman
e19546ffb4 Fix encoding error for Stackdriver metrics of cumulative points
The Stackdriver API requires that the end time always be greater than the start
time for cumulative metric points.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=134396192
2016-10-03 15:43:16 -04:00