// Path: src/main/java/biz/paluch/spinach/api/CommandType.java
// public enum CommandType implements ProtocolKeyword {
//     // Jobs
//     ADDJOB, ACKJOB, DELJOB, FASTACK, GETJOB, JSCAN, SHOW,
// 
//     // Queues
//     ENQUEUE, DEQUEUE, NACK, PAUSE, QLEN, QPEEK, QSCAN, QSTAT, WORKING,
// 
//     // AOF
//     BGREWRITEAOF,
// 
//     // Server commands
//     AUTH, CONFIG, CLUSTER, CLIENT, COMMAND, DEBUG, INFO, /* LATENCY, */HELLO, PING, QUIT, SHUTDOWN, SLOWLOG, TIME;
// 
//     public final byte[] bytes;
// 
//     CommandType() {
//         bytes = name().getBytes(LettuceCharsets.ASCII);
//     }
// 
//     @Override
//     public byte[] getBytes() {
//         return bytes;
//     }
// 
// }


import com.lambdaworks.redis.models.command.CommandDetailParser;
import static org.assertj.core.api.Assertions.assertThat;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.assertThat;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.junit.Ignore;
import org.junit.Test;
import biz.paluch.spinach.api.CommandType;
import com.lambdaworks.redis.RedisCommandExecutionException;
import com.lambdaworks.redis.models.command.CommandDetail;

    @Test(expected = RedisCommandExecutionException.class)
    public void clientKillUnknown() throws Exception {
        disque.clientKill("afdsfads");
    }

    @Test
    public void clientList() throws Exception {
        assertThat(disque.clientList().contains("addr=")).isTrue();
    }

    @Test
    public void commandCount() throws Exception {
        assertThat(disque.commandCount()).isGreaterThan(20);
    }

    @Test
    public void command() throws Exception {

        List<Object> result = disque.command();

        assertThat(result.size()).isGreaterThan(10);

        List<CommandDetail> commands = CommandDetailParser.parse(result);
        assertThat(commands).hasSameSizeAs(result);
    }

    @Test
    public void commandInfo() throws Exception {

// Path: src/main/java/biz/paluch/spinach/api/CommandType.java
// public enum CommandType implements ProtocolKeyword {
//     // Jobs
//     ADDJOB, ACKJOB, DELJOB, FASTACK, GETJOB, JSCAN, SHOW,
// 
//     // Queues
//     ENQUEUE, DEQUEUE, NACK, PAUSE, QLEN, QPEEK, QSCAN, QSTAT, WORKING,
// 
//     // AOF
//     BGREWRITEAOF,
// 
//     // Server commands
//     AUTH, CONFIG, CLUSTER, CLIENT, COMMAND, DEBUG, INFO, /* LATENCY, */HELLO, PING, QUIT, SHUTDOWN, SLOWLOG, TIME;
// 
//     public final byte[] bytes;
// 
//     CommandType() {
//         bytes = name().getBytes(LettuceCharsets.ASCII);
//     }
// 
//     @Override
//     public byte[] getBytes() {
//         return bytes;
//     }
// 
// }


// Path: src/test/java/biz/paluch/spinach/commands/ServerCommandTest.java
import com.lambdaworks.redis.models.command.CommandDetailParser;
import static org.assertj.core.api.Assertions.assertThat;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.assertThat;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.junit.Ignore;
import org.junit.Test;
import biz.paluch.spinach.api.CommandType;
import com.lambdaworks.redis.RedisCommandExecutionException;
import com.lambdaworks.redis.models.command.CommandDetail;


    @Test(expected = RedisCommandExecutionException.class)
    public void clientKillUnknown() throws Exception {
        disque.clientKill("afdsfads");
    }

    @Test
    public void clientList() throws Exception {
        assertThat(disque.clientList().contains("addr=")).isTrue();
    }

    @Test
    public void commandCount() throws Exception {
        assertThat(disque.commandCount()).isGreaterThan(20);
    }

    @Test
    public void command() throws Exception {

        List<Object> result = disque.command();

        assertThat(result.size()).isGreaterThan(10);

        List<CommandDetail> commands = CommandDetailParser.parse(result);
        assertThat(commands).hasSameSizeAs(result);
    }

    @Test
    public void commandInfo() throws Exception {

        List<Object> result = disque.commandInfo(CommandType.ACKJOB);