1 package net.rakugakibox.spring.boot.orika;
2
3 import ma.glasnost.orika.impl.DefaultMapperFactory.MapperFactoryBuilder;
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 OrikaMapperFactoryBuilderConfiguringTest {
21
22
23
24
25 @Autowired
26 protected MapperFactoryBuilder<?, ?> orikaMapperFactoryBuilder;
27
28
29
30
31 @Autowired
32 @Qualifier("orikaMapperFactoryBuilderConfiguration1")
33 protected OrikaMapperFactoryBuilderConfiguration orikaMapperFactoryBuilderConfiguration1;
34
35
36
37
38 @Autowired
39 @Qualifier("orikaMapperFactoryBuilderConfiguration2")
40 protected OrikaMapperFactoryBuilderConfiguration orikaMapperFactoryBuilderConfiguration2;
41
42
43
44
45 @Test
46 public void orikaMapperFactoryBuilderConfigurers() {
47 assertThat(orikaMapperFactoryBuilderConfiguration1.orikaMapperFactoryBuilder)
48 .isSameAs(orikaMapperFactoryBuilder);
49 assertThat(orikaMapperFactoryBuilderConfiguration2.orikaMapperFactoryBuilder)
50 .isSameAs(orikaMapperFactoryBuilder);
51 }
52
53
54
55
56 @EnableAutoConfiguration
57 @Configuration
58 public static class ContextConfiguration {
59
60
61
62
63
64
65 @Bean
66 public OrikaMapperFactoryBuilderConfiguration orikaMapperFactoryBuilderConfiguration1() {
67 return new OrikaMapperFactoryBuilderConfiguration();
68 }
69
70
71
72
73
74
75 @Bean
76 public OrikaMapperFactoryBuilderConfiguration orikaMapperFactoryBuilderConfiguration2() {
77 return new OrikaMapperFactoryBuilderConfiguration();
78 }
79
80 }
81
82
83
84
85 public static class OrikaMapperFactoryBuilderConfiguration implements OrikaMapperFactoryBuilderConfigurer {
86
87
88
89
90 private MapperFactoryBuilder<?, ?> orikaMapperFactoryBuilder;
91
92
93 @Override
94 public void configure(MapperFactoryBuilder<?, ?> orikaMapperFactoryBuilder) {
95 this.orikaMapperFactoryBuilder = orikaMapperFactoryBuilder;
96 }
97
98 }
99
100 }