mirror of
https://github.com/google/nomulus.git
synced 2025-07-13 06:28:15 +02:00
Add a boolean for when a registrar has enabled registry lock (#228)
* Add a boolean for when a registrar has enabled registry lock * enabled -> allowed * get -> is
This commit is contained in:
parent
57975898d5
commit
92f2f3274e
5 changed files with 80 additions and 0 deletions
|
@ -409,6 +409,9 @@ public class Registrar extends ImmutableObject implements Buildable, Jsonifiable
|
|||
*/
|
||||
boolean contactsRequireSyncing = true;
|
||||
|
||||
/** Whether or not registry lock is allowed for this registrar. */
|
||||
boolean registryLockAllowed = false;
|
||||
|
||||
@NonFinalForTesting
|
||||
private static Supplier<byte[]> saltSupplier =
|
||||
() -> {
|
||||
|
@ -545,6 +548,10 @@ public class Registrar extends ImmutableObject implements Buildable, Jsonifiable
|
|||
return contactsRequireSyncing;
|
||||
}
|
||||
|
||||
public boolean isRegistryLockAllowed() {
|
||||
return registryLockAllowed;
|
||||
}
|
||||
|
||||
public String getUrl() {
|
||||
return url;
|
||||
}
|
||||
|
@ -895,6 +902,11 @@ public class Registrar extends ImmutableObject implements Buildable, Jsonifiable
|
|||
return this;
|
||||
}
|
||||
|
||||
public Builder setRegistryLockAllowed(boolean registryLockAllowed) {
|
||||
getInstance().registryLockAllowed = registryLockAllowed;
|
||||
return this;
|
||||
}
|
||||
|
||||
/** Build the registrar, nullifying empty fields. */
|
||||
@Override
|
||||
public Registrar build() {
|
||||
|
|
|
@ -234,6 +234,13 @@ abstract class CreateOrUpdateRegistrarCommand extends MutatingCommand {
|
|||
arity = 1)
|
||||
private Boolean contactsRequireSyncing;
|
||||
|
||||
@Nullable
|
||||
@Parameter(
|
||||
names = "--registry_lock_allowed",
|
||||
description = "Whether this registrar is allowed to use registry lock",
|
||||
arity = 1)
|
||||
private Boolean registryLockAllowed;
|
||||
|
||||
@Nullable
|
||||
@Parameter(
|
||||
names = "--drive_folder_id",
|
||||
|
@ -393,6 +400,7 @@ abstract class CreateOrUpdateRegistrarCommand extends MutatingCommand {
|
|||
}
|
||||
Optional.ofNullable(blockPremiumNames).ifPresent(builder::setBlockPremiumNames);
|
||||
Optional.ofNullable(contactsRequireSyncing).ifPresent(builder::setContactsRequireSyncing);
|
||||
Optional.ofNullable(registryLockAllowed).ifPresent(builder::setRegistryLockAllowed);
|
||||
Optional.ofNullable(phonePasscode).ifPresent(builder::setPhonePasscode);
|
||||
Optional.ofNullable(icannReferralEmail).ifPresent(builder::setIcannReferralEmail);
|
||||
Optional.ofNullable(whoisServer).ifPresent(builder::setWhoisServer);
|
||||
|
|
|
@ -88,6 +88,7 @@ public class CreateRegistrarCommandTest extends CommandTestCase<CreateRegistrarC
|
|||
assertThat(registrar.getCreationTime()).isIn(Range.closed(before, after));
|
||||
assertThat(registrar.getLastUpdateTime()).isEqualTo(registrar.getCreationTime());
|
||||
assertThat(registrar.getBlockPremiumNames()).isFalse();
|
||||
assertThat(registrar.isRegistryLockAllowed()).isFalse();
|
||||
assertThat(registrar.getPoNumber()).isEmpty();
|
||||
assertThat(registrar.getIcannReferralEmail()).isEqualTo("foo@bar.test");
|
||||
|
||||
|
@ -766,6 +767,50 @@ public class CreateRegistrarCommandTest extends CommandTestCase<CreateRegistrarC
|
|||
assertThat(registrar.get().getBlockPremiumNames()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_registryLockAllowed() throws Exception {
|
||||
runCommandForced(
|
||||
"--name=blobio",
|
||||
"--password=some_password",
|
||||
"--registrar_type=REAL",
|
||||
"--iana_id=8",
|
||||
"--registry_lock_allowed=true",
|
||||
"--passcode=01234",
|
||||
"--icann_referral_email=foo@bar.test",
|
||||
"--street=\"123 Fake St\"",
|
||||
"--city Fakington",
|
||||
"--state MA",
|
||||
"--zip 00351",
|
||||
"--cc US",
|
||||
"clientz");
|
||||
|
||||
Optional<Registrar> registrar = Registrar.loadByClientId("clientz");
|
||||
assertThat(registrar).isPresent();
|
||||
assertThat(registrar.get().isRegistryLockAllowed()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_registryLockDisallowed() throws Exception {
|
||||
runCommandForced(
|
||||
"--name=blobio",
|
||||
"--password=some_password",
|
||||
"--registrar_type=REAL",
|
||||
"--iana_id=8",
|
||||
"--registry_lock_allowed=false",
|
||||
"--passcode=01234",
|
||||
"--icann_referral_email=foo@bar.test",
|
||||
"--street=\"123 Fake St\"",
|
||||
"--city Fakington",
|
||||
"--state MA",
|
||||
"--zip 00351",
|
||||
"--cc US",
|
||||
"clientz");
|
||||
|
||||
Optional<Registrar> registrar = Registrar.loadByClientId("clientz");
|
||||
assertThat(registrar).isPresent();
|
||||
assertThat(registrar.get().isRegistryLockAllowed()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFailure_badPhoneNumber() {
|
||||
ParameterException thrown =
|
||||
|
|
|
@ -364,6 +364,20 @@ public class UpdateRegistrarCommandTest extends CommandTestCase<UpdateRegistrarC
|
|||
assertThat(loadRegistrar("NewRegistrar").getBlockPremiumNames()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_allowRegistryLock() throws Exception {
|
||||
assertThat(loadRegistrar("NewRegistrar").isRegistryLockAllowed()).isFalse();
|
||||
runCommandForced("--registry_lock_allowed=true", "NewRegistrar");
|
||||
assertThat(loadRegistrar("NewRegistrar").isRegistryLockAllowed()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_disallowRegistryLock() throws Exception {
|
||||
persistResource(loadRegistrar("NewRegistrar").asBuilder().setRegistryLockAllowed(true).build());
|
||||
runCommandForced("--registry_lock_allowed=false", "NewRegistrar");
|
||||
assertThat(loadRegistrar("NewRegistrar").isRegistryLockAllowed()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSuccess_unspecifiedBooleansArentChanged() throws Exception {
|
||||
persistResource(
|
||||
|
|
|
@ -409,6 +409,7 @@ class google.registry.model.registrar.Registrar {
|
|||
@Parent com.googlecode.objectify.Key<google.registry.model.common.EntityGroupRoot> parent;
|
||||
boolean blockPremiumNames;
|
||||
boolean contactsRequireSyncing;
|
||||
boolean registryLockAllowed;
|
||||
google.registry.model.CreateAutoTimestamp creationTime;
|
||||
google.registry.model.UpdateAutoTimestamp lastUpdateTime;
|
||||
google.registry.model.registrar.Registrar$State state;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue