Do not use InjectRule to mock stdin in ExecuteEppCommandTest

Use System.setIn() to do the same thing.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=217595385
This commit is contained in:
jianglai 2018-10-17 15:06:59 -07:00
parent 4140ef6315
commit f174ec6cd4
2 changed files with 2 additions and 14 deletions

View file

@ -20,10 +20,8 @@ import com.beust.jcommander.Parameter;
import com.beust.jcommander.Parameters;
import com.google.common.io.CharStreams;
import com.google.common.io.Files;
import google.registry.util.NonFinalForTesting;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
@ -40,14 +38,10 @@ final class ExecuteEppCommand extends MutatingEppToolCommand {
required = true)
String clientId;
@NonFinalForTesting
private static InputStream stdin = System.in;
@Override
protected void initMutatingEppToolCommand() throws IOException {
if (mainParameters.isEmpty()) {
addXmlCommand(
clientId, CharStreams.toString(new InputStreamReader(stdin, UTF_8)));
addXmlCommand(clientId, CharStreams.toString(new InputStreamReader(System.in, UTF_8)));
} else {
for (String command : mainParameters) {
addXmlCommand(clientId, Files.asCharSource(new File(command), UTF_8).read());

View file

@ -18,19 +18,14 @@ import static google.registry.testing.JUnitBackports.assertThrows;
import static java.nio.charset.StandardCharsets.UTF_8;
import com.beust.jcommander.ParameterException;
import google.registry.testing.InjectRule;
import google.registry.tools.server.ToolsTestData;
import java.io.ByteArrayInputStream;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
/** Unit tests for {@link ExecuteEppCommand}. */
public class ExecuteEppCommandTest extends EppToolCommandTestCase<ExecuteEppCommand> {
@Rule
public InjectRule inject = new InjectRule();
private String xmlInput;
private String eppFile;
@ -60,8 +55,7 @@ public class ExecuteEppCommandTest extends EppToolCommandTestCase<ExecuteEppComm
@Test
public void testSuccess_fromStdin() throws Exception {
inject.setStaticField(
ExecuteEppCommand.class, "stdin", new ByteArrayInputStream(xmlInput.getBytes(UTF_8)));
System.setIn(new ByteArrayInputStream(xmlInput.getBytes(UTF_8)));
runCommand("--client=NewRegistrar", "--force");
eppVerifier.verifySent("contact_create.xml");
}