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