diff --git a/src/main/java/redis/clients/jedis/params/ClientKillParams.java b/src/main/java/redis/clients/jedis/params/ClientKillParams.java index 6d08ae5f41..7b6c6a1a35 100644 --- a/src/main/java/redis/clients/jedis/params/ClientKillParams.java +++ b/src/main/java/redis/clients/jedis/params/ClientKillParams.java @@ -6,6 +6,7 @@ public class ClientKillParams extends Params { private static final String TYPE = "TYPE"; private static final String ADDR = "ADDR"; private static final String SKIPME = "SKIPME"; + private static final String USER = "USER"; public static enum Type { NORMAL, MASTER, SLAVE, PUBSUB; @@ -57,4 +58,9 @@ public ClientKillParams skipMe(SkipMe skipMe) { return this; } + public ClientKillParams user(String username) { + addParam(USER, username); + return this; + } + } diff --git a/src/test/java/redis/clients/jedis/tests/commands/ClientCommandsTest.java b/src/test/java/redis/clients/jedis/tests/commands/ClientCommandsTest.java index dc1e7866d6..d39932a2f8 100644 --- a/src/test/java/redis/clients/jedis/tests/commands/ClientCommandsTest.java +++ b/src/test/java/redis/clients/jedis/tests/commands/ClientCommandsTest.java @@ -182,6 +182,17 @@ public void killAddrIpPort() { assertDisconnected(client); } + @Test + public void killUser() { + Jedis client2 = new Jedis(hnp.getHost(), hnp.getPort(), 500); + client.aclSetUser("test_kill", "on", "+acl", ">password1"); + client2.auth("test_kill", "password1"); + long clients = jedis.clientKill(new ClientKillParams().user("test_kill")); + assertEquals(1, clients); + assertDisconnected(client2); + jedis.aclDelUser("test_kill"); + } + private void assertDisconnected(Jedis j) { try { j.ping();