1 package net.rakugakibox.spring.boot.orika;
2
3 import ma.glasnost.orika.MapperFactory;
4 import org.junit.Test;
5 import org.junit.runner.RunWith;
6 import org.springframework.beans.factory.annotation.Autowired;
7 import org.springframework.beans.factory.annotation.Qualifier;
8 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
9 import org.springframework.boot.test.context.SpringBootTest;
10 import org.springframework.context.annotation.Bean;
11 import org.springframework.context.annotation.Configuration;
12 import org.springframework.test.context.junit4.SpringRunner;
13 import static org.assertj.core.api.Assertions.assertThat;
14
15
16
17
18 @RunWith(SpringRunner.class)
19 @SpringBootTest
20 public class OrikaMapperFactoryConfiguringTest {
21
22
23
24
25 @Autowired
26 protected MapperFactory orikaMapperFactory;
27
28
29
30
31 @Autowired
32 @Qualifier("orikaMapperFactoryConfiguration1")
33 protected OrikaMapperFactoryConfiguration orikaMapperFactoryConfiguration1;
34
35
36
37
38 @Autowired
39 @Qualifier("orikaMapperFactoryConfiguration2")
40 protected OrikaMapperFactoryConfiguration orikaMapperFactoryConfiguration2;
41
42
43
44
45 @Test
46 public void orikaMapperFactoryConfigurers() {
47 assertThat(orikaMapperFactoryConfiguration1.orikaMapperFactory).isSameAs(orikaMapperFactory);
48 assertThat(orikaMapperFactoryConfiguration2.orikaMapperFactory).isSameAs(orikaMapperFactory);
49 }
50
51
52
53
54 @EnableAutoConfiguration
55 @Configuration
56 public static class ContextConfiguration {
57
58
59
60
61
62
63 @Bean
64 public OrikaMapperFactoryConfiguration orikaMapperFactoryConfiguration1() {
65 return new OrikaMapperFactoryConfiguration();
66 }
67
68
69
70
71
72
73 @Bean
74 public OrikaMapperFactoryConfiguration orikaMapperFactoryConfiguration2() {
75 return new OrikaMapperFactoryConfiguration();
76 }
77
78 }
79
80
81
82
83 public static class OrikaMapperFactoryConfiguration implements OrikaMapperFactoryConfigurer {
84
85
86
87
88 private MapperFactory orikaMapperFactory;
89
90
91 @Override
92 public void configure(MapperFactory orikaMapperFactory) {
93 this.orikaMapperFactory = orikaMapperFactory;
94 }
95
96 }
97
98 }