1 package com.atlassian.messagequeue.internal.sqs;
2
3 import com.atlassian.messagequeue.MessageRunnerKey;
4 import org.junit.Before;
5 import org.junit.Test;
6 import org.junit.runner.RunWith;
7 import org.mockito.Mock;
8 import org.mockito.runners.MockitoJUnitRunner;
9
10 import java.util.Collections;
11
12 import static org.hamcrest.Matchers.is;
13 import static org.junit.Assert.assertThat;
14 import static org.mockito.Mockito.when;
15
16 @RunWith(MockitoJUnitRunner.class)
17 public class SQSMessageRunnerKeyToProducerMapperTest {
18 private SQSMessageRunnerKeyToProducerMapper mapper;
19
20 @Mock
21 private SQSConfig sqsConfig;
22
23 @Mock
24 private SQSProducerQueueConfig config;
25 private MessageRunnerKey key = MessageRunnerKey.of("key");
26
27 @Mock
28 private SQSProducerQueueConfig defaultConfig;
29
30 @Before
31 public void setUp() {
32 mapper = new DefaultSQSMessageRunnerKeyToProducerMapper(sqsConfig);
33
34 when(sqsConfig.getOutboundQueueNameMappings()).thenReturn(Collections.singletonMap(key, config));
35 when(sqsConfig.getDefaultQueue()).thenReturn(defaultConfig);
36 }
37
38 @Test
39 public void getQueueConfig() {
40 assertThat(mapper.getQueueConfigForMessageRunner(key), is(config));
41 }
42
43 @Test
44 public void getDefaultQueueConfig() {
45 assertThat(mapper.getQueueConfigForMessageRunner(MessageRunnerKey.of("dummy")), is(defaultConfig));
46 }
47 }