Commit graph

1405 commits

Author SHA1 Message Date
shicong
387042bf3a Enable flow documentation in external build
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=241934689
2019-04-05 11:49:49 -04:00
mcilwain
9b80b31917 Make RDE report generation correctly handle DISABLED registrars
This is a follow-up to [] We can't set registrars as DISABLED until
this is deployed.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=241767990
2019-04-05 11:46:29 -04:00
gbrodman
d16f3ae590 Continue Spec11 emails even if one fails
One failure should not stop the rest from sending.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=241760092
2019-04-05 11:44:49 -04:00
shicong
aae1e42da8 Use Docker Java API to manage container for WebDriver
Previously we had a few customized Gradle build task to manage
the Docker container for provisioning browser and ChromeDriverService
used by WebDriver tests. This CL changed to use a java library
from testcontainers.org to achieve the same purpose. The main
benefit of it is that we can expect to run the WebDriver tests
from IDE going forward.

Also, this CL refactored the structure of WebDriver related classes
to have JUnit rule to manage the lifecycle of WebDriver instance,
this is also compatible with the API from testcontainers library.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=241539861
2019-04-05 11:38:16 -04:00
guyben
55673ceb2d Update the rdapConformance and notices fields
We're changing rdapConformance from rdap_level_0 to icann_rdap_response_profile_0, and changing the EPP status notices title from "EPP Status Codes" to "Status Codes" to conform with the changing spec.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=241527211
2019-04-05 11:35:08 -04:00
gbrodman
822c1d129f Include the registrar name in the Spec11 threats report
Because we make use of previous reports, it's easier to add this in and then use it later as two steps, rather than trying to add this and use it in one change. This way we don't really need to deal with backcompat issues.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=241378853
2019-04-05 11:33:33 -04:00
gbrodman
397f222521 Automated g4 rollback of changelist 240574585.
*** Reason for rollback ***

The inconsistent class loading is breaking the tests

*** Original change description ***

Validate provided email addresses when creating a Registrar

***

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=241014945
2019-03-29 16:23:59 -04:00
gbrodman
78e87e4b93 Sort the Spec11 pipeline test output by string length
The JSON object toString isn't necessarily deterministic in its ordering of the keys, so we can only rely on length

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=241003060
2019-03-29 16:22:23 -04:00
gbrodman
c174c86437 Skip emailing registrars with a null or empty email address
Obviously this is a bad thing and would fail if it ever happened. If this does occur, we will send a warning email.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=240977242
2019-03-29 16:20:47 -04:00
shicong
c8aa6005f2 Use reflection to inject the attempt number
This CL is to address the public static field in RepeatableRunner
for caller to get the current attempt number. We tried to have
a JUnit TestRule to achieve the purpose but it ended up with having
a RuleChain in each class where we already have multiple rules and
need to add the retry rule. This is because we have to make sure
the retry rule is the last one to wrap the test statement so that
the actual retry can include the actions defined in other rules.
Having a rule chain is not scalable and confuses engineer so we
gave it up.

Instead, we decided to expand the current RepeatableRunner to
use reflection to inject the attempt number to the test class.
Doing it this way can reduce the burden from the caller and it also
gets rid of the global state from the previous public static field.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=240789045
2019-03-29 16:17:35 -04:00
gbrodman
308d5eb76b Validate provided email addresses when creating a Registrar
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=240574585
2019-03-29 16:14:22 -04:00
mcilwain
4240be268a Check registrar existence prior to verifying access
This way the error messages are more sensible when a registrar doesn't exist
(which realistically shouldn't happen in the typical case anyway).

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=240376239
2019-03-29 16:11:10 -04:00
gbrodman
f5bf6e4f3d Coalesce null to the empty string in the Spec11 pipeline
We'll have a separate change to make sure we're not actually trying to email these folks, but this will make it so that the entire pipeline doesn't crash. The test makes sure that we can run the pipeline properly with these empty strings.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=240346954
2019-03-29 16:07:54 -04:00
guyben
c431dcbd73 Consolidate domain_info_fee xml test files
This removes a LOT of "almost duplicate" test files, and moves some of the info into the java test itself making it clearer what's actually different between tests.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=240230982
2019-03-29 16:06:09 -04:00
mcilwain
5ef4c4edf1 Display created domain name in get_allocation_token command
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=240212479
2019-03-29 16:02:48 -04:00
gbrodman
5d25290d42 Remove compareTo() from DelegationSignerData
The only reason why it existed was so that we could get tests to print information in a consistent order and there are other ways of doing that. By removing compareTo we can use the properties of the extended ImmutableObject properly and properly implement the RFC https://tools.ietf.org/html/rfc5910#page-18

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=240170488
2019-03-29 15:56:15 -04:00
guyben
31700a99ba Consolidate the domain_renew_fee xml test files
Moving some of the info into the java test file itself makes it more easily readable. Maybe.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=240148747
2019-03-29 15:53:03 -04:00
mcilwain
d7fbd93dca Remove authcode fallback for registering anchor tenants
We won't be using this for future launches, so get rid of it now.

Also reorganizes existing anchor tenant test cases and adds a new one for
creation of a TMDBed anchor tenant domain in sunrise.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=239669950
2019-03-25 11:59:38 -04:00
mcilwain
91febfd945 Add a nomulus tool command to get allocation tokens
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=239624232
2019-03-21 15:05:12 -04:00
mcilwain
d7306652eb Allow registrars to be completely DISABLED
Disabled registrar cannot perform any actions via EPP and cannot log in to the
registrar web console.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=239606389
2019-03-21 15:03:33 -04:00
gbrodman
e4ac18ec31 Require abuse WHOIS contact when adding TLDs from web
We do not enforce this for non-REAL registrars or in any environment other than UNITTEST or PRODUCTION. This is similar but separate to [] since we can add allowed TLDs in either location.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=239602978
2019-03-21 15:01:54 -04:00
gbrodman
4544aa1efe Enforce abuse WHOIS contact for REAL registrars when adding TLDs
We do not enforce this for non-REAL registrars or in any environment other than UNITTEST or PRODUCTION. This is similar but separate to [] since we can add allowed TLDs in either location.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=239510275
2019-03-21 15:00:16 -04:00
gbrodman
2a18e705a2 Add generic XML syntax testing to a flow test
Adding it to one test is sufficient because we use the same loading logic across all flows.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=239506003
2019-03-21 14:58:31 -04:00
gbrodman
36fd13f8e0 Fall back to icannReferralEmail when creating registrars through the command line
This is if the separate email field isn't specified.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=239504636
2019-03-21 14:56:53 -04:00
gbrodman
86968e004f Add more width to the failing test
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=239500726
2019-03-21 14:55:14 -04:00
gbrodman
6e01d400cd Test UnknownCurrencyEppException in the flow tests
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=239279335
2019-03-20 14:25:28 -04:00
Ben McIlwain
351eba3f6d Allow third_party/java_src/gtld/ to use :mockito2_for_third_party
In [] a change would have been made to your project that is incompatible with
your open source integration. To make sure the open source variant of your
project remains working, we have eagerly updated your open source copy to use
Mockito 2. This CL integrates that change into [].

Please read []and
understand the consequences of this change.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=238445356
2019-03-20 14:25:28 -04:00
shicong
bc3bdc7347 Upgrade the version of google/errorprone plug-in
This CL upgraded google/errorprone plug-in to 2.3.3 and resolved
some warnings detected from the plug-in.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=238047862
2019-03-20 14:25:28 -04:00
gbrodman
50e0a9b532 Refactor common email sending utility
The main thrust of this is to create a common POJO that contains email content in a simple way, then have one class that converts that to an email and sends it. Any class that uses email should only have to deal with creating that POJO.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=237883643
2019-03-20 14:25:28 -04:00
mmuller
450e867534 E-mail changes initiated from console to registrar contacts
Also, fix misspelling of "recipient."

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=237857289
2019-03-20 14:25:28 -04:00
shicong
a7d099d2a3 Enable screenshot comparison in external build
This change actually enabled the screenshot comparison in the
visual regression tests. We used Docker to provision Chrome
and ChromeDriver to eliminate the discrepancy of environment
between local development and Travis CI.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=237811918
2019-03-20 14:25:28 -04:00
gbrodman
44e3668510 Display pricing tier even when a domain is reserved
Even though it's not directly related, I also fixed a typo in PREMIUM because it bugged me.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=237796791
2019-03-20 14:25:28 -04:00
mcilwain
241dbea9d9 De-premiumize wing.dev for internal registration
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=236661149
2019-03-20 14:25:28 -04:00
jianglai
b573b10ae1 Remove backported MockitoJUnitRule
Mockito in third_party is updated to 1.10. We do not need to backport this rule anymore.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=237496086
2019-03-08 18:35:00 -05:00
jianglai
90e298fb39 Only show OT&E admin actions when not in production environment
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=237061813
2019-03-08 18:27:11 -05:00
Weimin Yu
69b7815dd0 Update create registrar form
Changed the order of the create registrar form fields and updated the delegate email and country code labels to be more intuitive

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=236354256
2019-03-05 14:22:09 -05:00
guyben
847795d58d Remove the web console EPP endpoint
This removes the "create Domain/Host/Contact" forms that were supposed to be used instead of regular EPPs for CC-TLD that wanted to support it.

We're removing it because we don't use it and want to reduce unneeded code for the registry 3.0 migration.

Also, this is a security risk, as it allowed to do "billable actions" (creating a new domain for example) with the only authentication being access to the registrar's G Suite account.

This bypassed the certificate, IP whitelist, and EPP password, which is bad.

PUBLIC:
Remove the web console EPP endpoint

This removes the "create Domain/Host/Contact" forms that were supposed to be used instead of regular EPPs for CC-TLD that wanted to support it.

We're removing it because we don't use it and want to reduce unneeded code for the registry 3.0 migration.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=236244195
2019-03-05 14:20:42 -05:00
jianglai
4418d45595 Do not require auth info in super user transfer
Super users can look up auth info in Datastore or BigQuery backup anyway.
Requiring it only adds friction when using the super user extension, without
any additional security benefit.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=235786090
2019-03-05 14:17:42 -05:00
guyben
5b94364bb9 Set the registrar WHOIS email in the web console creation endpoint
We set the initial value to the "icann referral email", but registrars can change it later if they want.

Although this value isn't strictly required, we assume it exists in the spec11 report.

Also changed the name of the contact email from "email" to "consoleUserEmail"

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=235734200
2019-03-05 14:14:46 -05:00
shicong
756a3b41e1 Implement screenshot comparison
This change added the implementation of screenshot comparison with
ChromeWebDriver which will be used in the open-source code base.

This change also set a default window size(1200x2000) for each screenshot
test. This is to make the size of screenshot deterministic to help
build the screenshot comparison tests.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=235539713
2019-03-05 14:13:13 -05:00
gbrodman
7ddd8b55d2 Set domain create fee cost to be 0 for anchor tenants
We already properly remove EAP fees for anchor tenants.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=235529469
2019-03-05 14:11:36 -05:00
jianglai
8fac22f0f3 Fix .bzl files with buildifier
This CL fixes .bzl files to make them compatible with the next versions of Bazel. This is done by running the following command on all the .bzl files:

    buildifier --lint=fix --warnings=attr-non-empty,attr-single-file,ctx-actions,output-group

More information: []

Tested:
    tap_presubmit
    Some tests failed; test failures are believed to be unrelated to this CL

BEGIN_PUBLIC
Internal cleanup
END_PUBLIC

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=235192309
2019-02-25 11:13:08 -05:00
Michael Muller
fc4268b470 Revert "Merge branch 'master' into master"
This reverts commit 9dfbfc5e32, reversing
changes made to 94a2681127.
2019-02-19 15:44:11 -05:00
Michael Muller
6dbb74c1d0 Merge branch 'master' into master 2019-02-19 15:28:01 -05:00
mcilwain
94a2681127 Send deletion poll messages when requested by superuser
Otherwise, registrars will never receive a notification through EPP that a
domain has been synchronously deleted by us.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=234172289
2019-02-18 17:34:36 -05:00
mcilwain
067756722d Change nomulus registrar --drive_id parameter to --drive_folder_id
This makes it consistent with the parameter of the same name on the tld commands.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=234148699
2019-02-18 17:32:57 -05:00
jianglai
4241c7658f Add admin page link to create new registrar
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=233956155
2019-02-14 16:08:57 -05:00
shicong
76028ba1b4 Partially externalize WebDriver tests
This change does a few things:

  1. Partially externalized WebDriver tests by using ChromeDriver
     as an implementation of WebDriver API in the external build.
  2. Refactored WebDriverRule.java to decouple the creation and
     using of WebDriver related stuff so we can have different
     implementations in internal and external builds.
  3. Refactored the usage of some internal libraries to have a
     central place to store all of them to make it easier to
     remove them in the external build.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=233661757
2019-02-13 16:11:02 -05:00
guyben
4097dae3b2 Only inject @Parameter-created variables in the Action itself
Icann reports have 3 parameter-provided injections:

- yearMonth
- subdir
- reportType

We move all of them away from the "inner classes" and only @Inject them in the Actions themselves.

This has 2 benefits:
- it's much clearer what all the parameter inputs of the Actions are
- the "inner injected classes" don't assume anything about the Action that uses them - they will work just as well for JSON actions as for "regular" actions.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=233625765
2019-02-13 16:07:45 -05:00
mcilwain
49ac4e3e69 Improve Datastore efficiency of duplicate contact messages
I should have caught this in the review, but [] is loading *ALL*
contacts individually from Datastore on every domain update. This will add a
large number of Datastore round trips and thus significantly reduce update
performance.

This CL changes the behavior to *ONLY* load contacts when there is a duplicate
(which is needed to determine the contact's display name to generate the error
message), and loads all of them in a single batch rather than individually.

This also makes some minor changes around domain getters returning empty sets
instead of null.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=233128140
2019-02-11 11:22:34 -05:00