Commit graph

897 commits

Author SHA1 Message Date
mcilwain
c35c3a678b Change commit log bucket counts in tests
I'm setting it to three buckets across all tests, because the default one bucket
wasn't realistic enough, and allowed some tests to pass that shouldn't have,
essentially by accident.

This also changes RegistryConfig from being an interface to being an abstract
base class. The medium term goal here is to have it be a static class so that it
can provide fields from the YAML-derived POJO in situations where Dagger
injection isn't feasible.

The expected end state is as follows:

default-config.yaml -- The master config file that provides defaults for all
values.

nomulus-config.yaml -- A per-environment config file that overrides the defaults
from the previous file.

YamlConfig.java -- The POJO that the aforementioned YAML files are deserialized
into.

RegistryConfig.java -- Contains a static, memoized instance of YamlConfig and
provides static methods for getting some of those values.

ConfigModule -- Will become a static inner class of RegistryConfig, using Dagger
to provide most of the fields from the memoized YamlConfig instance. This way,
all configuration will be coming from a single place: RegistryConfig.java.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=143567288
2017-01-09 11:59:04 -05:00
jart
734130aa73 Restructure Maven dependencies in build
We're now using java_import_external instead of maven_jar. This allows
us to specify the relationships between jars, thereby allowing us to
eliminate scores of vendor BUILD files that did nothing but re-export
@foo//jar targets, thus addressing the concerns of djhworld on Hacker
News: https://news.ycombinator.com/item?id=12738072

We now have redundant failover mirrors, which is a feature I added to
Bazel 0.4.2 in ed7ced0018

A new standard naming convention is now being used for all Maven repos.
Those names are calculated from the group_artifact name using the
following algorithm that eliminates redundancy:
https://gist.github.com/jart/41bfd977b913c2301627162f1c038e55

The JSR330 dep has been removed from java targets if they also depend
on Dagger, since Dagger always exports JSR330.

Annotation processor dependencies should now be leaner and meaner, by
more appropriately managing what needs to be on the classpath at
runtime. This should trim down the production jar by >1MB. As it stands
currently in the open source world:

- backend_jar_deploy.jar: 50MB
- frontend_jar_deploy.jar: 30MB
- tools_jar_deploy.jar: 45MB

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=143487929
2017-01-09 11:59:04 -05:00
mcilwain
0b112f17a7 Move ROID suffix handling from RegistryConfig to ConfigModule
This is the first in a decently long series of commits to delete RegistryConfig
entirely and centralize all configuration in ConfigModule using Dagger. Once
this is done, then the text-based YAML configuration work can begin in earnest.

Note that the configuration settings from TestRegistryConfig will be moving
into ConfigModule.LocalTestConfig. This way they can be referred to in a static
context from test and test utility helpers, rather than having to be injected
everywhere, which we don't typically bother with for tests.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=143473089
2017-01-09 11:59:04 -05:00
mcilwain
393eeabc5e Ensure that poll messages are created in domain create flow tests
Also ensures that a custom logic hook is called on create.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=143112481
2017-01-09 11:59:04 -05:00
mcilwain
6fb9858198 Remove the unused flags extension
It can always be brought back if we find an actual use case for it, but for now, it shouldn't be in the standard distribution given that it has no users.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=143044153
2017-01-09 11:59:04 -05:00
mcilwain
be523f7ce2 Increment the clock in expand recurring billings events test
Also adds some clarity on when to use the non-incrementing version.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=143037508
2017-01-09 11:59:04 -05:00
mcilwain
48a1bacbb0 Get rid of the delete() method on ReservedList
It wasn't being used by any actual code, and having helper methods handling
saving/persistence on entities like this is not a pattern we want to encourage,
since it hides Datastore transactions from further up in the call chain. The
idea is that you can always look for ofy() calls in the same layer of code to
see where persisted data is being changed.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=143036027
2017-01-09 11:59:04 -05:00
mcilwain
28f6c770c8 Add MOE equivalence for sync on 2016-12-19
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=142449539
2017-01-09 11:59:04 -05:00
nickfelt
0405a427f1 Remove unnecessary SecureRandom from UrlFetchUtils
We're only using it for generating multiparty boundaries, and there's no real need for the random boundary values to be cryptographically secure.  The point of the randomness is just to make collisions with content in the payload sufficiently unlikely.  The app itself controls the payload contents, and while it might be derived from user-submitted content, in practice it would be nearly infeasible to get the payload to contain arbitrary boundary values even if the RNG-produced boundaries could be determined in advance.

To further insulate against this, I've increased the boundary size (from 40 bits to 192) and added an actual check that the boundary isn't present in the input data, so that in the extremely unlikely event of a collision, we fail rather than producing an invalid multipart request.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=142784289
2016-12-22 16:10:44 -05:00
mcilwain
9d9c527917 Reconcile FeesAndCredits handling in price customization
Also adds a mechanism to ensure that fee extensions are included when custom
pricing logic adds a custom fee, and fixes up the domain restore flow to
properly use the restore price.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=142715136
2016-12-22 16:09:14 -05:00
mcilwain
720f03cc17 Wire in domain transfer custom pricing and add a test
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=142593949
2016-12-22 16:07:39 -05:00
mcilwain
f0d2f96c26 Clean up some more TLD-specific code
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=142300719
2016-12-19 11:09:20 -05:00
mcilwain
a02c3676b4 Clean up some TLD-specific code
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=142297621
2016-12-19 11:09:20 -05:00
mcilwain
d485c5d7e2 Add a domain application update custom pricing logic test
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=142294037
2016-12-19 11:09:20 -05:00
mcilwain
f44557f34f Remove deprecated extra flow logic and TLD-specific pricing proxy
This also adds a domain update pricing hook to DomainPricingCustomLogic.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=142286755
2016-12-19 11:09:20 -05:00
mountford
0afafeff03 Move VerifyEntityIntegrityAction to batch package
By moving []s into the batch package, which is not included in the frontend service, we pave the way to remove the dependency of frontend on the [] library.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=142265351
2016-12-19 11:09:20 -05:00
mountford
246098d8e8 Remove unneeded reference to [] libraries
The flows package no longer needs [].

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=142263353
2016-12-19 11:09:20 -05:00
ctingue
8fdf67d332 Increase rde package test size
The open source build uses a single shard for the rde package's tests. In order to account for the longer runtime, increase the timeout for this package.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=142261623
2016-12-19 11:09:19 -05:00
ctingue
8f9939cf56 Add anchor tenant tests to DomainCreateFlowTest
Per a passing conversation with Corey, want to make sure that anchor tenants can still register during an active LRP period. No changes to the flows, just some explicit testing.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=142181395
2016-12-19 11:09:19 -05:00
mountford
669c3dc975 Move the async [] classes out of the flows package
We should be able to remove the dependency on the App Engine [] library from the frontend service, since no []s actually run there. In order to do this, we need to remove the various []-reliant classes from the frontend service build. This CL begins the process by moving the two async "flows" to a different package which is not included in the frontend service.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=142159568
2016-12-19 11:09:19 -05:00
mcilwain
352ef13160 In ExportConstantsTest, write path to golden file instead of contents
In my previous refactoring I failed to realize that getResource() was not
returning the contents of the file.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=142065550
2016-12-19 11:09:19 -05:00
mcilwain
1ed1ba20ba Refactor ExportConstantsTest to reduce duplicated code
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=142047229
2016-12-19 11:09:19 -05:00
Tom Johnson
b0ebeed5a5 Add @ReportedOn annotation for BigQuery exports
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=142038227
2016-12-19 11:09:11 -05:00
mcilwain
c1759fa9d4 Fix Objectify versions in imports in javatests packages
This was broken in []

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=142006563
2016-12-14 09:45:03 -05:00
mcilwain
e46fdf9a87 Fix missing RDE imports files in Nomulus
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141942879
2016-12-13 18:01:39 -05:00
cgoldfeder
5b9219fbdd Add filter support to the test server
The lack of ObjectifyFilter means that in any tests using
RegistryTestServer the Objectify session cache persists
between "requests" in the same test method. This is wrong
but had not caused any failures because we didn't assert
anything that mattered. However, a CL I'm working on
asserts that there is a creationTime on a created resource,
which is set automatically on Datastore save, and therefore
is still null in the session cache's version of the resource
if you don't clear it before the next command. Fixing it here
separately from that CL.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141939330
2016-12-13 18:00:15 -05:00
ctingue
50c862b7c1 Disable test sharding for rde package
The tests in this package are failing for reasons likely related to resource consumption. Sharding an expensive test within a single test runner is probably causing more harm than good, so run this test in a single shard.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141766295
2016-12-13 16:02:21 -05:00
mcilwain
7cef9ca2c6 Make javatests/flows package have public visibility
It's reasonable for people extending the code base to want access to
ResourceFlowTestCase and others.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141765523
2016-12-13 16:00:49 -05:00
jianglai
74d64f502e Modify create price custom logic to return FeesAndCredits
Previously DomainPricingCustomLogic#customizeCreatePrice takes in the create
price itself and modifies it. Change it to take in the entire FeesAndCredits (previously named EppCommandOperations) which may contain other fees related to domain creation,
such as EAP fees, and returns FeesAndCredits that may either change the
fees or add new type of fees.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141600614
2016-12-13 15:59:16 -05:00
mcilwain
a56a0677ba Refactor RDE import stuff into its own rde.imports package
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141566236
2016-12-13 15:57:46 -05:00
ctingue
bf13c2a131 Disable sharding for batch package
The tests in this package are failing for reasons likely related to resource consumption. Sharding an expensive test within a single test runner is probably causing more harm than good, so run this test in a single shard.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141480921
2016-12-13 15:54:47 -05:00
mcilwain
78123dfe7b Fix Nomulus build broken by invalid import of JSch
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141318398
2016-12-07 15:19:43 -05:00
mountford
50aad72383 Add retry logic to RDE upload
We experience intermittent exceptions when connecting to Iron Mountain. Just retrying is probably the easiest solution to the problem.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141221179
2016-12-07 15:19:43 -05:00
mcilwain
c7cc97d62b Fix Nomulus SchemaVersionTest by adding missing RDE_IMPORT
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141210906
2016-12-07 15:19:43 -05:00
mcilwain
2620097599 Retry attempted syncs to Google Groups that fail
I also moved to a non-concurrent modification syncing model. It was adding more
complexity than was justified just to have two requests going simultaneously
instead of one. The API doesn't reliably allow much more than that anyway.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141210192
2016-12-07 15:19:43 -05:00
kak
c496f369c1 Prefer Multimap interface types over implementation types.
This change is required before the migration to MultimapBuilder can be
completed.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141208944
2016-12-07 15:19:35 -05:00
Wolfgang Meyers
f2faf49d58 Add XjcToDomainResourceConverter for RDE import
With some code cleanup/refactoring/formatting by Ben McIlwain.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141199855
2016-12-07 15:19:29 -05:00
mountford
c0d9b54872 Do not cancel pending transfers unless there is one to cancel
A previous CL inadvertently caused the system to always set the transfer status to SERVER_CANCELLED when deleting a resource, even if there was no transfer. This led to RDE problems.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140890919
2016-12-06 11:52:46 -05:00
mountford
c59b738b5b Inject RDAP help information in ConfigModule
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140849879
2016-12-06 11:52:46 -05:00
mcilwain
3740171bbf Update create logic to ignore signed marks unless in sunrise
This addresses an issue where the existing logic assumed that the presence of a
signed mark means the current flow is a sunrise/sunrush request, when this isn't
necessarily true. It's safe to ignore signed marks in other circumstances.

This is a combination of work by Justin Graham <justin.af.graham@gmail.com>,
Nick Felt, and me (Ben). It is based on the original PR located at:
https://github.com/google/nomulus/pull/41

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140784461
2016-12-06 11:52:46 -05:00
jart
59f4984083 Upgrade Nomulus to latest Closure Rules
Significant technical debt has been eliminated. The latest best
practices are also now adopted for dealing with runfiles and dealing
with files across repositories.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140762937
2016-12-06 11:52:46 -05:00
jianglai
79a72387ee Migrate getCreatePrice() call to DomainPricingLogic
Swap all calls to TldSpecificLogicProxy.getCreatePrice() to the counterpart in
DomainPricingLogic. Also makes necessary changes for testing to work, including
fake implementations of DomainPricingCustomLogic and
DomainCreateLofwCustomLogic.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140754334
2016-12-06 11:52:46 -05:00
ctingue
e51e220a98 Log the start and finish of tests within ShardableTestCase
Kokoro's logs do not identify which test is allocated to which shard, so explicitly log the test names at start and finish.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140594581
2016-12-06 11:52:46 -05:00
mcilwain
5f32d1bbeb Correctly set HTTP error status codes when list objects fails
This makes the associated nomulus tool commands correctly return error
exit codes when the server-side component fails. This improves
scriptability.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140543216
2016-12-06 11:52:46 -05:00
ctingue
6373784858 Revert test size change in ExpandRecurringBillingEventsActionTest
Also adding some temporary logging to the test class in order to diagnose some mysterious behavior on Kokoro. I'll back this out once I get a test run to fail.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140482533
2016-12-06 11:52:46 -05:00
mcilwain
2b7d580bb3 Run buildifier on codebase to format BUILD files
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140362453
2016-11-28 18:15:21 -05:00
cgoldfeder
9129c74201 Cleanup HostInfoFlowTest by removing unclear boolean param
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140399843
2016-11-28 17:44:37 -05:00
ctingue
82f6146468 Back out [] make batch tests large
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140379458
2016-11-28 17:40:13 -05:00
cgoldfeder
bcceb87c9b Fix typo in test name
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140373464
2016-11-28 17:38:46 -05:00
ctingue
e0fad37734 Increase timeout on batch package tests
ExpandRecurringBillingEventsActionTest is occasionally timing out on Kokoro

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140363421
2016-11-28 17:37:14 -05:00