View Javadoc

1   package com.atlassian.messagequeue.internal.core;
2   
3   import static org.hamcrest.CoreMatchers.is;
4   import static org.junit.Assert.*;
5   import static org.mockito.Mockito.*;
6   
7   import com.atlassian.messagequeue.Message;
8   import com.atlassian.messagequeue.MessageRunnerKey;
9   import com.atlassian.messagequeue.TenantDataIdSupplier;
10  import com.atlassian.tenant.api.TenantContext;
11  import com.atlassian.tenant.api.TenantContextProvider;
12  import org.junit.Before;
13  import org.junit.Test;
14  import org.junit.runner.RunWith;
15  import org.mockito.Mockito;
16  import org.mockito.runners.MockitoJUnitRunner;
17  
18  @RunWith(MockitoJUnitRunner.class)
19  public class DefaultMessageInformationServiceTest {
20      private DefaultMessageInformationService service;
21  
22      @Before
23      public void setUp() throws Exception {
24          TenantContextProvider tenantContextProvider = Mockito.mock(TenantContextProvider.class);
25          TenantContext tenantContext = new TenantContext.Builder()
26                  .tenantId("tenant-123")
27                  .jdbcUrl("jdbcUrl")
28                  .jdbcUsername("username")
29                  .jdbcPassword("password")
30                  .build();
31          when(tenantContextProvider.getTenantContext()).thenReturn(tenantContext);
32          final TenantDataIdSupplier tenantDataIdSupplier = () -> "1";
33          service = new DefaultMessageInformationService("queueUrl", tenantContextProvider, new JacksonNestedMessageSerializer(), tenantDataIdSupplier);
34      }
35  
36      @Test
37      public void serializationRoundTrip() throws Exception {
38          Message message = Message.create(MessageRunnerKey.of("fooRunnerKey"), "payload");
39  
40          Message result = service.fromPayload(service.toPayload(message));
41  
42          assertThat(result.getPayload(), is(message.getPayload()));
43          assertThat(result.getRunnerKey(), is(message.getRunnerKey()));
44      }
45  
46      @Test(expected = IllegalArgumentException.class)
47      public void deserializeMessageFromEmptyPayload() throws Exception {
48          service.fromPayload("");
49      }
50  
51      @Test(expected = IllegalArgumentException.class)
52      public void deserializeMessageFromNullPayload() throws Exception {
53          service.fromPayload(null);
54      }
55  }