mirror of
https://github.com/google/nomulus.git
synced 2025-05-14 00:17:20 +02:00
Make driveFolderId on Registry entity optional
This defaults to null, and leaving it to null now simply disables reserved terms exporting, rather than throwing an error every time the action runs. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=138763161
This commit is contained in:
parent
9122372e38
commit
274b070b54
3 changed files with 14 additions and 11 deletions
|
@ -14,7 +14,6 @@
|
|||
|
||||
package google.registry.export;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
import static com.google.common.base.Strings.isNullOrEmpty;
|
||||
import static com.google.common.net.MediaType.PLAIN_TEXT_UTF_8;
|
||||
import static google.registry.export.ExportUtils.exportReservedTerms;
|
||||
|
@ -62,8 +61,11 @@ public class ExportReservedTermsAction implements Runnable {
|
|||
if (registry.getReservedLists().isEmpty() && isNullOrEmpty(registry.getDriveFolderId())) {
|
||||
resultMsg = "No reserved lists configured";
|
||||
logger.infofmt("No reserved terms to export for TLD %s", tld);
|
||||
} else if (registry.getDriveFolderId() == null) {
|
||||
resultMsg = "Skipping export because no Drive folder is associated with this TLD";
|
||||
logger.infofmt(
|
||||
"Skipping reserved terms export for TLD %s because Drive folder isn't specified", tld);
|
||||
} else {
|
||||
checkNotNull(registry.getDriveFolderId(), "No drive folder associated with this TLD");
|
||||
resultMsg = driveConnection.createOrUpdateFile(
|
||||
RESERVED_TERMS_FILENAME,
|
||||
EXPORT_MIME_TYPE,
|
||||
|
|
|
@ -270,7 +270,11 @@ public class Registry extends ImmutableObject implements Buildable {
|
|||
*/
|
||||
String tldUnicode;
|
||||
|
||||
/** Id of the folder in drive used to publish information for this TLD. */
|
||||
/**
|
||||
* Id of the folder in drive used to public (export) information for this TLD.
|
||||
*
|
||||
* <p>This is optional; if not configured, then information won't be exported for this TLD.
|
||||
*/
|
||||
String driveFolderId;
|
||||
|
||||
/** The type of the TLD, whether it's real or for testing. */
|
||||
|
|
|
@ -110,15 +110,12 @@ public class ExportReservedTermsActionTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void test_uploadFileToDrive_failsWhenDriveFolderIdIsNull() throws Exception {
|
||||
public void test_uploadFileToDrive_doesNothingWhenDriveFolderIdIsNull() throws Exception {
|
||||
persistResource(Registry.get("tld").asBuilder().setDriveFolderId(null).build());
|
||||
try {
|
||||
runAction("tld");
|
||||
assertWithMessage("Expected RuntimeException to be thrown").fail();
|
||||
} catch (RuntimeException e) {
|
||||
verify(response).setStatus(SC_INTERNAL_SERVER_ERROR);
|
||||
assertThat(getRootCause(e)).hasMessage("No drive folder associated with this TLD");
|
||||
}
|
||||
verify(response).setStatus(SC_OK);
|
||||
verify(response)
|
||||
.setPayload("Skipping export because no Drive folder is associated with this TLD");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue