@Test public void embeddedNonStaticCandidateAreIgnored() { CandidateComponentsMetadata metadata = compile(SampleNonStaticEmbedded.class); assertThat(metadata.getItems(), hasSize(0)); }
@Test public void noAnnotation() { CandidateComponentsMetadata metadata = compile(CandidateComponentsIndexerTests.class); assertThat(metadata.getItems(), hasSize(0)); }
@Test public void noCandidate() { CandidateComponentsMetadata metadata = compile(SampleNone.class); assertThat(metadata.getItems(), hasSize(0)); }
private void testSingleComponent(Class<?> target, Class<?>... stereotypes) { CandidateComponentsMetadata metadata = compile(target); assertThat(metadata, hasComponent(target, stereotypes)); assertThat(metadata.getItems(), hasSize(1)); }
private void testComponent(Class<?>... classes) { CandidateComponentsMetadata metadata = compile(classes); for (Class<?> c : classes) { assertThat(metadata, hasComponent(c, Component.class)); } assertThat(metadata.getItems(), hasSize(classes.length)); }
@Test public void packageInfo() { CandidateComponentsMetadata metadata = compile( "org/springframework/context/index/sample/jpa/package-info"); assertThat(metadata, hasComponent( "org.springframework.context.index.sample.jpa", "package-info")); }
@Test public void embeddedCandidatesAreDetected() throws IOException, ClassNotFoundException { // Validate nested type structure String nestedType = "org.springframework.context.index.sample.SampleEmbedded.Another$AnotherPublicCandidate"; Class<?> type = ClassUtils.forName(nestedType, getClass().getClassLoader()); assertThat(type, sameInstance(SampleEmbedded.Another.AnotherPublicCandidate.class)); CandidateComponentsMetadata metadata = compile(SampleEmbedded.class); assertThat(metadata, hasComponent( SampleEmbedded.PublicCandidate.class, Component.class)); assertThat(metadata, hasComponent(nestedType, Component.class.getName())); assertThat(metadata.getItems(), hasSize(2)); }