### Question:
ChaincodeRepositoryConfigurationExtension extends RepositoryConfigurationExtensionSupport { @Override protected boolean isStrictRepositoryCandidate(RepositoryMetadata metadata) { Class<?> repositoryInterface = metadata.getRepositoryInterface(); logger.debug("Checking candidate {}", repositoryInterface.getName()); Chaincode annotation = AnnotationUtils.findAnnotation(repositoryInterface, Chaincode.class); if (annotation == null) { logger.debug("Checking candidate {}, don't have Chaincode annotation", repositoryInterface.getName()); return false; } if (annotation.channel().isEmpty()) { Channel channel = AnnotationUtils.findAnnotation(repositoryInterface, Channel.class); if (channel == null) { logger.debug("Checking candidate {}, no channel defined", repositoryInterface.getName()); return false; } } return super.isStrictRepositoryCandidate(metadata); }  @Override String getModuleName(); @Override String getRepositoryFactoryBeanClassName(); @Override Collection<RepositoryConfiguration<T>> getRepositoryConfigurations(
            T configSource, ResourceLoader loader, boolean strictMatchesOnly); @Override void postProcess(BeanDefinitionBuilder builder, AnnotationRepositoryConfigurationSource config);  }### Answer:
@Test public void isStrictRepositoryCandidate() { Assert.assertTrue("Correct repo not identified as candidate", extension.isStrictRepositoryCandidate(new DefaultRepositoryMetadata(TestCorrectRepo.class))); Assert.assertFalse("Incorrect repo identified as candidate", extension.isStrictRepositoryCandidate(new DefaultRepositoryMetadata(TestIncorrectRepo.class))); }