コード例 #1
0
  @Test
  public void exceptionDuringPush() {
    // sending the first ten will result in an Exception
    // the additional message should be appended to the end
    when(jedis.rpush(
            "key".getBytes(),
            new byte[] {48},
            new byte[] {49},
            new byte[] {50},
            new byte[] {51},
            new byte[] {52},
            new byte[] {53},
            new byte[] {54},
            new byte[] {55},
            new byte[] {56},
            new byte[] {57}))
        .thenThrow(new JedisDataException(""));

    for (int i = 0; i < 10; i++) {
      runnable.add(loggingEvent(String.valueOf(i)));
    }
    runnable.add(loggingEvent("foo"));

    runnable.run();

    verify(jedis)
        .rpush(
            "key".getBytes(),
            new byte[] {48},
            new byte[] {49},
            new byte[] {50},
            new byte[] {51},
            new byte[] {52},
            new byte[] {53},
            new byte[] {54},
            new byte[] {55},
            new byte[] {56},
            new byte[] {57});

    // the last message should be overwritten
    verify(jedis)
        .rpush(
            "key".getBytes(),
            new byte[] {48},
            new byte[] {49},
            new byte[] {50},
            new byte[] {51},
            new byte[] {52},
            new byte[] {53},
            new byte[] {54},
            new byte[] {55},
            new byte[] {56},
            "foo".getBytes());
  }
コード例 #2
0
  @Test
  public void maxEventsCanBeConfigured() {
    runnable.setMaxEvents(10);
    for (int i = 0; i < 11; i++) {
      runnable.add(loggingEvent(String.valueOf(i)));
    }

    assertEquals(10, runnable.eventsSize());
  }
コード例 #3
0
  @Test
  public void batchIsPushedToRedis() {
    for (int i = 0; i < 10; i++) {
      runnable.add(loggingEvent(String.valueOf(i)));
    }
    runnable.run();

    // capturing varargs unfortunately isn't possible with Mockito currently
    // the messages are just encoded in their ASCII value
    verify(jedis)
        .rpush(
            "key".getBytes(),
            new byte[] {48},
            new byte[] {49},
            new byte[] {50},
            new byte[] {51},
            new byte[] {52},
            new byte[] {53},
            new byte[] {54},
            new byte[] {55},
            new byte[] {56},
            new byte[] {57});
  }