mirror of
https://github.com/google/nomulus.git
synced 2025-06-25 05:51:07 +02:00
Prevent accidentally using full Drive URL as folder ID (#144)
* Prevent accidentally using full Drive URL as folder ID
This commit is contained in:
parent
0ffe7cd5dc
commit
012d9d5893
7 changed files with 14 additions and 4 deletions
|
@ -868,7 +868,9 @@ public class Registrar extends ImmutableObject implements Buildable, Jsonifiable
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder setDriveFolderId(String driveFolderId) {
|
public Builder setDriveFolderId(@Nullable String driveFolderId) {
|
||||||
|
checkArgument(driveFolderId == null || !driveFolderId.contains("/"),
|
||||||
|
"Drive folder ID must not be a full URL");
|
||||||
getInstance().driveFolderId = driveFolderId;
|
getInstance().driveFolderId = driveFolderId;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
|
@ -237,7 +237,7 @@ abstract class CreateOrUpdateRegistrarCommand extends MutatingCommand {
|
||||||
@Nullable
|
@Nullable
|
||||||
@Parameter(
|
@Parameter(
|
||||||
names = "--drive_folder_id",
|
names = "--drive_folder_id",
|
||||||
description = "Id of this registrar's folder in Drive",
|
description = "Id (not full URL) of this registrar's folder in Drive",
|
||||||
converter = OptionalStringParameter.class,
|
converter = OptionalStringParameter.class,
|
||||||
validateWith = OptionalStringParameter.class)
|
validateWith = OptionalStringParameter.class)
|
||||||
Optional<String> driveFolderId;
|
Optional<String> driveFolderId;
|
||||||
|
|
|
@ -240,12 +240,12 @@
|
||||||
{param required: true /}
|
{param required: true /}
|
||||||
{/call}
|
{/call}
|
||||||
{call registry.soy.forms.inputFieldRowWithValue}
|
{call registry.soy.forms.inputFieldRowWithValue}
|
||||||
{param label: 'DRIVE ID' /}
|
{param label: 'Drive ID' /}
|
||||||
{param name: 'driveId' /}
|
{param name: 'driveId' /}
|
||||||
{param value: $driveId /}
|
{param value: $driveId /}
|
||||||
{param placeholder: 'required' /}
|
{param placeholder: 'required' /}
|
||||||
{param description kind="text"}
|
{param description kind="text"}
|
||||||
Id of this registrar's folder in Drive.
|
ID (not full URL) of this registrar's folder in Google Drive.
|
||||||
{/param}
|
{/param}
|
||||||
{param required: true /}
|
{param required: true /}
|
||||||
{/call}
|
{/call}
|
||||||
|
|
|
@ -452,6 +452,14 @@ public class RegistrarTest extends EntityTestCase {
|
||||||
() -> registrar.asBuilder().setAllowedTldsUncached(ImmutableSet.of("bad")));
|
() -> registrar.asBuilder().setAllowedTldsUncached(ImmutableSet.of("bad")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testFailure_driveFolderId_asFullUrl() {
|
||||||
|
IllegalArgumentException thrown =
|
||||||
|
assertThrows(IllegalArgumentException.class, () -> registrar.asBuilder().setDriveFolderId(
|
||||||
|
"https://drive.google.com/drive/folders/1j3v7RZkU25DjbTx2-Q93H04zKOBau89M"));
|
||||||
|
assertThat(thrown).hasMessageThat().isEqualTo("Drive folder ID must not be a full URL");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testFailure_nullEmail() {
|
public void testFailure_nullEmail() {
|
||||||
NullPointerException thrown =
|
NullPointerException thrown =
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 94 KiB |
Binary file not shown.
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 86 KiB |
Binary file not shown.
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 93 KiB |
Loading…
Add table
Add a link
Reference in a new issue