mirror of
https://github.com/google/nomulus.git
synced 2025-07-25 03:58:34 +02:00
Add domain_lock nomulus command
This command is used by registry operators to apply registry locks to domain names. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176549874
This commit is contained in:
parent
8cd3979385
commit
f041b1bac0
18 changed files with 453 additions and 35 deletions
|
@ -14,12 +14,14 @@
|
|||
|
||||
package google.registry.tools;
|
||||
|
||||
import static com.google.common.collect.ImmutableList.toImmutableList;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static google.registry.xml.XmlTestUtils.assertXmlEquals;
|
||||
import static java.nio.charset.StandardCharsets.UTF_8;
|
||||
import static org.mockito.Matchers.eq;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.verifyZeroInteractions;
|
||||
|
||||
import com.google.common.base.Splitter;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
|
@ -27,6 +29,7 @@ import com.google.common.net.MediaType;
|
|||
import google.registry.tools.ServerSideCommand.Connection;
|
||||
import google.registry.tools.server.ToolsTestData;
|
||||
import java.net.URLDecoder;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
|
@ -67,29 +70,34 @@ public class EppToolVerifier {
|
|||
return new EppToolVerifier(connection, clientId, superuser, true);
|
||||
}
|
||||
|
||||
void verifySent(String... xmlToMatch) throws Exception {
|
||||
void verifySent(String... expectedXmlFiles) throws Exception {
|
||||
verifySentContents(
|
||||
Arrays.stream(expectedXmlFiles).map(ToolsTestData::loadUtf8).collect(toImmutableList()));
|
||||
}
|
||||
|
||||
void verifySentContents(List<String> expectedXmlContents) throws Exception {
|
||||
ArgumentCaptor<byte[]> params = ArgumentCaptor.forClass(byte[].class);
|
||||
verify(connection, times(xmlToMatch.length)).send(
|
||||
verify(connection, times(expectedXmlContents.size())).send(
|
||||
eq("/_dr/epptool"),
|
||||
eq(ImmutableMap.<String, Object>of()),
|
||||
eq(MediaType.FORM_DATA),
|
||||
params.capture());
|
||||
List<byte[]> capturedParams = params.getAllValues();
|
||||
assertThat(capturedParams).hasSize(xmlToMatch.length);
|
||||
for (int i = 0; i < xmlToMatch.length; i++) {
|
||||
String xml = xmlToMatch[i];
|
||||
assertThat(capturedParams).hasSize(expectedXmlContents.size());
|
||||
for (int i = 0; i < expectedXmlContents.size(); i++) {
|
||||
byte[] capturedParam = capturedParams.get(i);
|
||||
Map<String, String> map =
|
||||
Splitter.on('&')
|
||||
.withKeyValueSeparator('=')
|
||||
.split(new String(capturedParam, UTF_8));
|
||||
Splitter.on('&').withKeyValueSeparator('=').split(new String(capturedParam, UTF_8));
|
||||
assertThat(map).hasSize(4);
|
||||
assertXmlEquals(
|
||||
ToolsTestData.loadUtf8(xml),
|
||||
URLDecoder.decode(map.get("xml"), UTF_8.toString()));
|
||||
expectedXmlContents.get(i), URLDecoder.decode(map.get("xml"), UTF_8.toString()));
|
||||
assertThat(map).containsEntry("dryRun", Boolean.toString(dryRun));
|
||||
assertThat(map).containsEntry("clientId", clientId);
|
||||
assertThat(map).containsEntry("superuser", Boolean.toString(superuser));
|
||||
}
|
||||
}
|
||||
|
||||
void verifyNothingSent() {
|
||||
verifyZeroInteractions(connection);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue