Skip to content

Commit 54f2d15

Browse files
janzeppenfeldmp911de
authored andcommitted
Add test for Repositories verifying isPrimary flag.
See #1583. Original pull request: #465.
1 parent 5d90fb9 commit 54f2d15

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

src/test/java/org/springframework/data/repository/support/RepositoriesUnitTests.java

+23
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
*
5757
* @author Oliver Gierke
5858
* @author Thomas Darimont
59+
* @author Jan Zeppenfeld
5960
*/
6061
@ExtendWith(MockitoExtension.class)
6162
@MockitoSettings(strictness = Strictness.LENIENT)
@@ -183,6 +184,28 @@ void keepsPrimaryRepositoryInCaseOfMultipleOnes() {
183184
});
184185
}
185186

187+
@Test // DATACMNS-1142
188+
void keepsPrimaryRepositoryInCaseOfMultipleOnesIfContextIsNotAConfigurableListableBeanFactory() {
189+
190+
DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();
191+
beanFactory.registerBeanDefinition("first", getRepositoryBeanDefinition(FirstRepository.class));
192+
193+
AbstractBeanDefinition definition = getRepositoryBeanDefinition(PrimaryRepository.class);
194+
definition.setPrimary(true);
195+
196+
beanFactory.registerBeanDefinition("primary", definition);
197+
beanFactory.registerBeanDefinition("third", getRepositoryBeanDefinition(ThirdRepository.class));
198+
199+
context = new GenericApplicationContext(beanFactory);
200+
context.refresh();
201+
202+
Repositories repositories = new Repositories(context);
203+
204+
assertThat(repositories.getRepositoryFor(SomeEntity.class)).hasValueSatisfying(it -> {
205+
assertThat(it).isInstanceOf(PrimaryRepository.class);
206+
});
207+
}
208+
186209
class Person {}
187210

188211
class Address {}

0 commit comments

Comments
 (0)