Test: Adapt tests to latest changes in core

The classes which fake a CLI terminal have been renamed.

Original commit: elastic/x-pack-elasticsearch@e2b3cb8f14
This commit is contained in:
Alexander Reelsen 2014-08-11 15:04:49 +02:00
parent 91a4b74037
commit 8e22ffa1fd
1 changed files with 22 additions and 50 deletions

View File

@ -6,8 +6,8 @@
package org.elasticsearch.shield.authc.esusers.tool; package org.elasticsearch.shield.authc.esusers.tool;
import com.google.common.io.Files; import com.google.common.io.Files;
import org.elasticsearch.common.base.Charsets;
import org.elasticsearch.common.Strings; import org.elasticsearch.common.Strings;
import org.elasticsearch.common.base.Charsets;
import org.elasticsearch.common.cli.CliTool; import org.elasticsearch.common.cli.CliTool;
import org.elasticsearch.common.cli.CliToolTestCase; import org.elasticsearch.common.cli.CliToolTestCase;
import org.elasticsearch.common.cli.Terminal; import org.elasticsearch.common.cli.Terminal;
@ -22,7 +22,6 @@ import org.junit.rules.TemporaryFolder;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
import java.util.Map; import java.util.Map;
@ -60,7 +59,7 @@ public class ESUsersToolTests extends CliToolTestCase {
@Test @Test
public void testUseradd_Parse_NoPassword() throws Exception { public void testUseradd_Parse_NoPassword() throws Exception {
ESUsersTool tool = new ESUsersTool(new TerminalMock() { ESUsersTool tool = new ESUsersTool(new MockTerminal() {
@Override @Override
public char[] readSecret(String text, Object... args) { public char[] readSecret(String text, Object... args) {
return "changeme".toCharArray(); return "changeme".toCharArray();
@ -85,7 +84,7 @@ public class ESUsersToolTests extends CliToolTestCase {
.put("shield.authc.esusers.files.users_roles", userRolesFile) .put("shield.authc.esusers.files.users_roles", userRolesFile)
.build(); .build();
ESUsersTool.Useradd cmd = new ESUsersTool.Useradd(new TerminalMock(), "user1", "changeme".toCharArray(), "r1", "r2"); ESUsersTool.Useradd cmd = new ESUsersTool.Useradd(new MockTerminal(), "user1", "changeme".toCharArray(), "r1", "r2");
CliTool.ExitStatus status = execute(cmd, settings); CliTool.ExitStatus status = execute(cmd, settings);
assertThat(status, is(CliTool.ExitStatus.OK)); assertThat(status, is(CliTool.ExitStatus.OK));
@ -116,7 +115,7 @@ public class ESUsersToolTests extends CliToolTestCase {
.put("shield.authc.esusers.files.users_roles", userRolesFile) .put("shield.authc.esusers.files.users_roles", userRolesFile)
.build(); .build();
ESUsersTool.Useradd cmd = new ESUsersTool.Useradd(new TerminalMock(), "user1", "changeme".toCharArray(), "r1", "r2"); ESUsersTool.Useradd cmd = new ESUsersTool.Useradd(new MockTerminal(), "user1", "changeme".toCharArray(), "r1", "r2");
CliTool.ExitStatus status = execute(cmd, settings); CliTool.ExitStatus status = execute(cmd, settings);
assertThat(status, is(CliTool.ExitStatus.OK)); assertThat(status, is(CliTool.ExitStatus.OK));
@ -149,7 +148,7 @@ public class ESUsersToolTests extends CliToolTestCase {
.put("shield.authc.esusers.files.users_roles", userRolesFile) .put("shield.authc.esusers.files.users_roles", userRolesFile)
.build(); .build();
ESUsersTool.Useradd cmd = new ESUsersTool.Useradd(new TerminalMock(), "user1", "changeme".toCharArray(), "r1", "r2"); ESUsersTool.Useradd cmd = new ESUsersTool.Useradd(new MockTerminal(), "user1", "changeme".toCharArray(), "r1", "r2");
CliTool.ExitStatus status = execute(cmd, settings); CliTool.ExitStatus status = execute(cmd, settings);
assertThat(status, is(CliTool.ExitStatus.CODE_ERROR)); assertThat(status, is(CliTool.ExitStatus.CODE_ERROR));
@ -182,7 +181,7 @@ public class ESUsersToolTests extends CliToolTestCase {
.put("shield.authc.esusers.files.users_roles", userRolesFile) .put("shield.authc.esusers.files.users_roles", userRolesFile)
.build(); .build();
ESUsersTool.Userdel cmd = new ESUsersTool.Userdel(new TerminalMock(), "user1"); ESUsersTool.Userdel cmd = new ESUsersTool.Userdel(new MockTerminal(), "user1");
CliTool.ExitStatus status = execute(cmd, settings); CliTool.ExitStatus status = execute(cmd, settings);
assertThat(status, is(CliTool.ExitStatus.OK)); assertThat(status, is(CliTool.ExitStatus.OK));
@ -205,7 +204,7 @@ public class ESUsersToolTests extends CliToolTestCase {
.put("shield.authc.esusers.files.users_roles", userRolesFile) .put("shield.authc.esusers.files.users_roles", userRolesFile)
.build(); .build();
ESUsersTool.Userdel cmd = new ESUsersTool.Userdel(new TerminalMock(), "user2"); ESUsersTool.Userdel cmd = new ESUsersTool.Userdel(new MockTerminal(), "user2");
CliTool.ExitStatus status = execute(cmd, settings); CliTool.ExitStatus status = execute(cmd, settings);
assertThat(status, is(CliTool.ExitStatus.OK)); assertThat(status, is(CliTool.ExitStatus.OK));
@ -229,7 +228,7 @@ public class ESUsersToolTests extends CliToolTestCase {
.put("shield.authc.esusers.files.users_roles", userRolesFile) .put("shield.authc.esusers.files.users_roles", userRolesFile)
.build(); .build();
ESUsersTool.Userdel cmd = new ESUsersTool.Userdel(new TerminalMock(), "user2"); ESUsersTool.Userdel cmd = new ESUsersTool.Userdel(new MockTerminal(), "user2");
CliTool.ExitStatus status = execute(cmd, settings); CliTool.ExitStatus status = execute(cmd, settings);
assertThat(status, is(CliTool.ExitStatus.OK)); assertThat(status, is(CliTool.ExitStatus.OK));
@ -260,7 +259,7 @@ public class ESUsersToolTests extends CliToolTestCase {
@Test @Test
public void testPasswd_Parse_MissingPassword() throws Exception { public void testPasswd_Parse_MissingPassword() throws Exception {
final AtomicReference<Boolean> secretRequested = new AtomicReference<>(false); final AtomicReference<Boolean> secretRequested = new AtomicReference<>(false);
Terminal terminal = new TerminalMock() { Terminal terminal = new MockTerminal() {
@Override @Override
public char[] readSecret(String text, Object... args) { public char[] readSecret(String text, Object... args) {
secretRequested.set(true); secretRequested.set(true);
@ -283,7 +282,7 @@ public class ESUsersToolTests extends CliToolTestCase {
.put("shield.authc.esusers.files.users", userFile) .put("shield.authc.esusers.files.users", userFile)
.build(); .build();
ESUsersTool.Passwd cmd = new ESUsersTool.Passwd(new TerminalMock(), "user1", "changeme".toCharArray()); ESUsersTool.Passwd cmd = new ESUsersTool.Passwd(new MockTerminal(), "user1", "changeme".toCharArray());
CliTool.ExitStatus status = execute(cmd, settings); CliTool.ExitStatus status = execute(cmd, settings);
assertThat(status, is(CliTool.ExitStatus.OK)); assertThat(status, is(CliTool.ExitStatus.OK));
@ -304,7 +303,7 @@ public class ESUsersToolTests extends CliToolTestCase {
.put("shield.authc.esusers.files.users", userFile) .put("shield.authc.esusers.files.users", userFile)
.build(); .build();
ESUsersTool.Passwd cmd = new ESUsersTool.Passwd(new TerminalMock(), "user2", "changeme".toCharArray()); ESUsersTool.Passwd cmd = new ESUsersTool.Passwd(new MockTerminal(), "user2", "changeme".toCharArray());
CliTool.ExitStatus status = execute(cmd, settings); CliTool.ExitStatus status = execute(cmd, settings);
assertThat(status, is(CliTool.ExitStatus.NO_USER)); assertThat(status, is(CliTool.ExitStatus.NO_USER));
} }
@ -316,7 +315,7 @@ public class ESUsersToolTests extends CliToolTestCase {
.put("shield.authc.esusers.files.users", userFile) .put("shield.authc.esusers.files.users", userFile)
.build(); .build();
ESUsersTool.Passwd cmd = new ESUsersTool.Passwd(new TerminalMock(), "user2", "changeme".toCharArray()); ESUsersTool.Passwd cmd = new ESUsersTool.Passwd(new MockTerminal(), "user2", "changeme".toCharArray());
CliTool.ExitStatus status = execute(cmd, settings); CliTool.ExitStatus status = execute(cmd, settings);
assertThat(status, is(CliTool.ExitStatus.NO_USER)); assertThat(status, is(CliTool.ExitStatus.NO_USER));
} }
@ -364,7 +363,7 @@ public class ESUsersToolTests extends CliToolTestCase {
.put("shield.authc.esusers.files.users_roles", usersRoleFile) .put("shield.authc.esusers.files.users_roles", usersRoleFile)
.build(); .build();
ESUsersTool.Roles cmd = new ESUsersTool.Roles(new TerminalMock(), "user", new String[]{"foo"}, Strings.EMPTY_ARRAY); ESUsersTool.Roles cmd = new ESUsersTool.Roles(new MockTerminal(), "user", new String[]{"foo"}, Strings.EMPTY_ARRAY);
CliTool.ExitStatus status = execute(cmd, settings); CliTool.ExitStatus status = execute(cmd, settings);
assertThat(status, is(CliTool.ExitStatus.OK)); assertThat(status, is(CliTool.ExitStatus.OK));
@ -383,7 +382,7 @@ public class ESUsersToolTests extends CliToolTestCase {
.put("shield.authc.esusers.files.users_roles", usersRoleFile) .put("shield.authc.esusers.files.users_roles", usersRoleFile)
.build(); .build();
ESUsersTool.Roles cmd = new ESUsersTool.Roles(new TerminalMock(), "user", Strings.EMPTY_ARRAY, new String[]{"foo"}); ESUsersTool.Roles cmd = new ESUsersTool.Roles(new MockTerminal(), "user", Strings.EMPTY_ARRAY, new String[]{"foo"});
CliTool.ExitStatus status = execute(cmd, settings); CliTool.ExitStatus status = execute(cmd, settings);
assertThat(status, is(CliTool.ExitStatus.OK)); assertThat(status, is(CliTool.ExitStatus.OK));
@ -402,7 +401,7 @@ public class ESUsersToolTests extends CliToolTestCase {
.put("shield.authc.esusers.files.users_roles", usersRoleFile) .put("shield.authc.esusers.files.users_roles", usersRoleFile)
.build(); .build();
ESUsersTool.Roles cmd = new ESUsersTool.Roles(new TerminalMock(), "user", new String[]{"newrole"}, new String[]{"foo"}); ESUsersTool.Roles cmd = new ESUsersTool.Roles(new MockTerminal(), "user", new String[]{"newrole"}, new String[]{"foo"});
CliTool.ExitStatus status = execute(cmd, settings); CliTool.ExitStatus status = execute(cmd, settings);
assertThat(status, is(CliTool.ExitStatus.OK)); assertThat(status, is(CliTool.ExitStatus.OK));
@ -421,7 +420,7 @@ public class ESUsersToolTests extends CliToolTestCase {
.put("shield.authc.esusers.files.users_roles", usersRoleFile) .put("shield.authc.esusers.files.users_roles", usersRoleFile)
.build(); .build();
ESUsersTool.Roles cmd = new ESUsersTool.Roles(new TerminalMock(), "does-not-exist", Strings.EMPTY_ARRAY, Strings.EMPTY_ARRAY); ESUsersTool.Roles cmd = new ESUsersTool.Roles(new MockTerminal(), "does-not-exist", Strings.EMPTY_ARRAY, Strings.EMPTY_ARRAY);
CliTool.ExitStatus status = execute(cmd, settings); CliTool.ExitStatus status = execute(cmd, settings);
assertThat(status, is(CliTool.ExitStatus.NO_USER)); assertThat(status, is(CliTool.ExitStatus.NO_USER));
@ -436,7 +435,7 @@ public class ESUsersToolTests extends CliToolTestCase {
.put("shield.authc.esusers.files.users_roles", usersRoleFile) .put("shield.authc.esusers.files.users_roles", usersRoleFile)
.build(); .build();
LoggingTerminal catchTerminalOutput = new LoggingTerminal(); CaptureOutputTerminal catchTerminalOutput = new CaptureOutputTerminal();
ESUsersTool.Roles cmd = new ESUsersTool.Roles(catchTerminalOutput, "user", Strings.EMPTY_ARRAY, Strings.EMPTY_ARRAY); ESUsersTool.Roles cmd = new ESUsersTool.Roles(catchTerminalOutput, "user", Strings.EMPTY_ARRAY, Strings.EMPTY_ARRAY);
CliTool.ExitStatus status = execute(cmd, settings); CliTool.ExitStatus status = execute(cmd, settings);
@ -460,7 +459,7 @@ public class ESUsersToolTests extends CliToolTestCase {
.put("shield.authc.esusers.files.users_roles", usersRoleFile) .put("shield.authc.esusers.files.users_roles", usersRoleFile)
.build(); .build();
LoggingTerminal catchTerminalOutput = new LoggingTerminal(); CaptureOutputTerminal catchTerminalOutput = new CaptureOutputTerminal();
ESUsersTool.ListUsersAndRoles cmd = new ESUsersTool.ListUsersAndRoles(catchTerminalOutput, null); ESUsersTool.ListUsersAndRoles cmd = new ESUsersTool.ListUsersAndRoles(catchTerminalOutput, null);
CliTool.ExitStatus status = execute(cmd, settings); CliTool.ExitStatus status = execute(cmd, settings);
@ -479,7 +478,7 @@ public class ESUsersToolTests extends CliToolTestCase {
.put("shield.authc.esusers.files.users", usersFile) .put("shield.authc.esusers.files.users", usersFile)
.build(); .build();
LoggingTerminal catchTerminalOutput = new LoggingTerminal(); CaptureOutputTerminal catchTerminalOutput = new CaptureOutputTerminal();
ESUsersTool.ListUsersAndRoles cmd = new ESUsersTool.ListUsersAndRoles(catchTerminalOutput, "admin"); ESUsersTool.ListUsersAndRoles cmd = new ESUsersTool.ListUsersAndRoles(catchTerminalOutput, "admin");
CliTool.ExitStatus status = execute(cmd, settings); CliTool.ExitStatus status = execute(cmd, settings);
@ -496,7 +495,7 @@ public class ESUsersToolTests extends CliToolTestCase {
.put("shield.authc.esusers.files.users_roles", usersRoleFile) .put("shield.authc.esusers.files.users_roles", usersRoleFile)
.build(); .build();
LoggingTerminal catchTerminalOutput = new LoggingTerminal(); CaptureOutputTerminal catchTerminalOutput = new CaptureOutputTerminal();
ESUsersTool.ListUsersAndRoles cmd = new ESUsersTool.ListUsersAndRoles(catchTerminalOutput, "does-not-exist"); ESUsersTool.ListUsersAndRoles cmd = new ESUsersTool.ListUsersAndRoles(catchTerminalOutput, "does-not-exist");
CliTool.ExitStatus status = execute(cmd, settings); CliTool.ExitStatus status = execute(cmd, settings);
@ -512,7 +511,7 @@ public class ESUsersToolTests extends CliToolTestCase {
.put("shield.authc.esusers.files.users", usersFile) .put("shield.authc.esusers.files.users", usersFile)
.build(); .build();
LoggingTerminal catchTerminalOutput = new LoggingTerminal(); CaptureOutputTerminal catchTerminalOutput = new CaptureOutputTerminal();
ESUsersTool.ListUsersAndRoles cmd = new ESUsersTool.ListUsersAndRoles(catchTerminalOutput, null); ESUsersTool.ListUsersAndRoles cmd = new ESUsersTool.ListUsersAndRoles(catchTerminalOutput, null);
CliTool.ExitStatus status = execute(cmd, settings); CliTool.ExitStatus status = execute(cmd, settings);
@ -532,7 +531,7 @@ public class ESUsersToolTests extends CliToolTestCase {
.put("shield.authc.esusers.files.users", usersFile) .put("shield.authc.esusers.files.users", usersFile)
.build(); .build();
LoggingTerminal loggingTerminal = new LoggingTerminal(); CaptureOutputTerminal loggingTerminal = new CaptureOutputTerminal();
ESUsersTool.ListUsersAndRoles cmd = new ESUsersTool.ListUsersAndRoles(loggingTerminal, "admin"); ESUsersTool.ListUsersAndRoles cmd = new ESUsersTool.ListUsersAndRoles(loggingTerminal, "admin");
CliTool.ExitStatus status = execute(cmd, settings); CliTool.ExitStatus status = execute(cmd, settings);
@ -541,33 +540,6 @@ public class ESUsersToolTests extends CliToolTestCase {
assertThat(loggingTerminal.getTerminalOutput(), hasItem(allOf(containsString("admin"), containsString("-")))); assertThat(loggingTerminal.getTerminalOutput(), hasItem(allOf(containsString("admin"), containsString("-"))));
} }
public static class LoggingTerminal extends TerminalMock {
List<String> terminalOutput = new ArrayList();
public LoggingTerminal() {
super(Verbosity.NORMAL);
}
public LoggingTerminal(Verbosity verbosity) {
super(verbosity);
}
@Override
protected void doPrint(String msg, Object... args) {
terminalOutput.add(String.format(Locale.ROOT, msg, args));
}
@Override
public void print(String msg, Object... args) {
doPrint(msg, args);
}
public List<String> getTerminalOutput() {
return terminalOutput;
}
}
private CliTool.ExitStatus execute(CliTool.Command cmd, Settings settings) throws Exception { private CliTool.ExitStatus execute(CliTool.Command cmd, Settings settings) throws Exception {
Environment env = new Environment(settings); Environment env = new Environment(settings);
return cmd.execute(settings, env); return cmd.execute(settings, env);