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
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
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
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
*** 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
This change also added a test to verify that EPP request to modify
both contacts and registrant at same time can be handled as expected.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=232935690