Skip to content

Commit 4f3afba

Browse files
janzeppenfeldmp911de
authored andcommitted
Add test for Repositories verifying isPrimary flag.
See #1583. Original pull request: #465.
1 parent 25b1352 commit 4f3afba

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
@@ -58,6 +58,7 @@
5858
*
5959
* @author Oliver Gierke
6060
* @author Thomas Darimont
61+
* @author Jan Zeppenfeld
6162
*/
6263
@ExtendWith(MockitoExtension.class)
6364
@MockitoSettings(strictness = Strictness.LENIENT)
@@ -185,6 +186,28 @@ void keepsPrimaryRepositoryInCaseOfMultipleOnes() {
185186
});
186187
}
187188

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

190213
class Address {}

0 commit comments

Comments
 (0)