mirror of
https://github.com/google/nomulus.git
synced 2025-05-19 10:49:35 +02:00
Fix premium list command regressions
This CL fixes bugs introduced when the premium list commands were moved to be server-side commands. Fixes: - omitting the --name parameter actually works now; before it was failing in the local build() call since it uses the name as the @Id and tries to create a key for PremiumListRevision, but key IDs cannot be null. - premium list data larger than about 2K works now (see [] before it was stuffing the list data all into a POST query parameter, and URLs of more than 2K in length were all getting 404s. Fix was changing it to put the inputData param in the POST body. - misc test cleanup ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=119912494
This commit is contained in:
parent
625c34662b
commit
f20b1d89a9
4 changed files with 86 additions and 38 deletions
|
@ -15,8 +15,6 @@
|
|||
package com.google.domain.registry.tools;
|
||||
|
||||
import static com.google.domain.registry.request.JsonResponse.JSON_SAFETY_PREFIX;
|
||||
import static com.google.domain.registry.tools.CreateOrUpdatePremiumListCommandTestCase.generateInputData;
|
||||
import static com.google.domain.registry.tools.CreateOrUpdatePremiumListCommandTestCase.verifySentParams;
|
||||
import static com.google.domain.registry.util.ResourceUtils.readResourceUtf8;
|
||||
import static org.mockito.Matchers.any;
|
||||
import static org.mockito.Matchers.anyMapOf;
|
||||
|
@ -34,7 +32,7 @@ import org.mockito.Mock;
|
|||
|
||||
/** Unit tests for {@link UpdatePremiumListCommand}. */
|
||||
public class UpdatePremiumListCommandTest<C extends UpdatePremiumListCommand>
|
||||
extends CommandTestCase<C> {
|
||||
extends CreateOrUpdatePremiumListCommandTestCase<C> {
|
||||
|
||||
@Mock
|
||||
Connection connection;
|
||||
|
@ -47,22 +45,36 @@ public class UpdatePremiumListCommandTest<C extends UpdatePremiumListCommand>
|
|||
public void init() throws Exception {
|
||||
command.setConnection(connection);
|
||||
servletPath = "/_dr/admin/updatePremiumList";
|
||||
premiumTermsPath = writeToTmpFile(readResourceUtf8(
|
||||
UpdatePremiumListCommandTest.class,
|
||||
"testdata/example_premium_terms.csv"));
|
||||
premiumTermsPath = writeToNamedTmpFile(
|
||||
"example_premium_terms.csv",
|
||||
readResourceUtf8(
|
||||
UpdatePremiumListCommandTest.class,
|
||||
"testdata/example_premium_terms.csv"));
|
||||
when(connection.send(
|
||||
eq(UpdatePremiumListAction.PATH),
|
||||
anyMapOf(String.class, String.class),
|
||||
eq(MediaType.PLAIN_TEXT_UTF_8),
|
||||
any(MediaType.class),
|
||||
any(byte[].class)))
|
||||
.thenReturn(JSON_SAFETY_PREFIX + "{\"status\":\"success\",\"lines\":[]}");
|
||||
.thenReturn(JSON_SAFETY_PREFIX + "{\"status\":\"success\",\"lines\":[]}");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRun() throws Exception {
|
||||
ImmutableMap<String, String> params =
|
||||
ImmutableMap.of("name", "foo", "inputData", generateInputData(premiumTermsPath));
|
||||
runCommandForced("-i=" + premiumTermsPath, "-n=foo");
|
||||
verifySentParams(connection, servletPath, params);
|
||||
verifySentParams(
|
||||
connection,
|
||||
servletPath,
|
||||
ImmutableMap.of("name", "foo", "inputData", generateInputData(premiumTermsPath)));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRun_noProvidedName_usesBasenameOfInputFile() throws Exception {
|
||||
runCommandForced("-i=" + premiumTermsPath);
|
||||
assertInStdout("Successfully");
|
||||
verifySentParams(
|
||||
connection,
|
||||
servletPath,
|
||||
ImmutableMap.of(
|
||||
"name", "example_premium_terms", "inputData", generateInputData(premiumTermsPath)));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue