View Javadoc

1   package com.atlassian.messagequeue;
2   
3   import static org.junit.Assert.*;
4   import static org.mockito.Mockito.*;
5   
6   import org.junit.Test;
7   import org.junit.runner.RunWith;
8   import org.mockito.runners.MockitoJUnitRunner;
9   
10  import java.util.Optional;
11  
12  @RunWith(MockitoJUnitRunner.class)
13  public class MessageTest {
14      @Test(expected = MessagePayloadSizeExceededException.class)
15      public void largePayloadSizeThrowsException() throws Exception {
16          StringBuffer payload = new StringBuffer();
17          for (int i = 0; i < MessageRunnerConstants.payloadMaxSize() + 1; ++i) {
18              payload.append("a");
19          }
20  
21          new Message(MessageRunnerKey.of("test"), payload.toString());
22      }
23  
24      @Test(expected = InvalidMessagePayloadException.class)
25      public void illegalCharacterThrowsException() throws Exception {
26          new Message(MessageRunnerKey.of("test"), "foo " + codePointToString(0xD800) + " bar"); // The range 0xD800 - 0xDFFF is reserved for encoding to UTF-16 and is therefore invalid
27      }
28  
29      private static String codePointToString(int i) {
30          return String.valueOf(Character.toChars(i));
31      }
32  }