mirror of
https://github.com/google/nomulus.git
synced 2025-05-13 16:07:15 +02:00
Make some quality of life improvements to set_num_instances command
Allows correct service names (i.e. lowercased, as they appear in App Engine configuration files and the GCP console), and adds single letter parameters for common flags. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=229194479
This commit is contained in:
parent
8ac8ecf8f6
commit
6082addb86
2 changed files with 20 additions and 5 deletions
|
@ -35,6 +35,7 @@ import google.registry.tools.AppEngineConnection.Service;
|
|||
import google.registry.util.AppEngineServiceUtils;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Set;
|
||||
import javax.inject.Inject;
|
||||
|
||||
|
@ -57,21 +58,21 @@ final class SetNumInstancesCommand implements CommandWithRemoteApi {
|
|||
|
||||
// TODO(b/119629679): Use List<Service> after upgrading jcommander to latest version.
|
||||
@Parameter(
|
||||
names = "--services",
|
||||
names = {"-s", "--services"},
|
||||
description =
|
||||
"Comma-delimited list of App Engine services to set. "
|
||||
+ "Allowed values: [DEFAULT, TOOLS, BACKEND, PUBAPI]")
|
||||
private List<String> serviceNames = ImmutableList.of();
|
||||
|
||||
@Parameter(
|
||||
names = "--versions",
|
||||
names = {"-v", "--versions"},
|
||||
description =
|
||||
"Comma-delimited list of App Engine versions to set, e.g., canary. "
|
||||
+ "Cannot be set if --non_live_versions is set.")
|
||||
private List<String> versions = ImmutableList.of();
|
||||
|
||||
@Parameter(
|
||||
names = "--num_instances",
|
||||
names = {"-n", "--num_instances"},
|
||||
description =
|
||||
"The new number of instances for the given versions "
|
||||
+ "or for all non-live versions if --non_live_versions is set.",
|
||||
|
@ -92,10 +93,11 @@ final class SetNumInstancesCommand implements CommandWithRemoteApi {
|
|||
String projectId;
|
||||
|
||||
@Override
|
||||
public void run() throws Exception {
|
||||
public void run() {
|
||||
|
||||
ImmutableSet<Service> services =
|
||||
serviceNames.stream()
|
||||
.map(s -> s.toUpperCase(Locale.US))
|
||||
.map(
|
||||
name ->
|
||||
checkArgumentPresent(
|
||||
|
|
|
@ -99,7 +99,7 @@ public class SetNumInstancesCommandTest extends CommandTestCase<SetNumInstancesC
|
|||
ParameterException.class, () -> runCommand("--services=DEFAULT", "--versions=version"));
|
||||
assertThat(thrown)
|
||||
.hasMessageThat()
|
||||
.contains("The following option is required: --num_instances");
|
||||
.contains("The following option is required: -n, --num_instances");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -156,6 +156,19 @@ public class SetNumInstancesCommandTest extends CommandTestCase<SetNumInstancesC
|
|||
verify(appEngineServiceUtils, times(1)).setNumInstances("default", "version", 10L);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_validShortParametersAndLowercaseService_succeeds() throws Exception {
|
||||
command.appengine =
|
||||
new AppEngineAdminApiHelper.Builder()
|
||||
.setAppId(projectId)
|
||||
.setManualScalingVersionsMap(ImmutableMultimap.of("default", "version"))
|
||||
.build()
|
||||
.getAppengine();
|
||||
|
||||
runCommand("-s default", "-v version", "-n 10");
|
||||
verify(appEngineServiceUtils, times(1)).setNumInstances("default", "version", 10L);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_settingMultipleServicesAndVersions_succeeds() throws Exception {
|
||||
command.appengine =
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue