package org.infinispan.hibernate.search; import java.io.IOException; import org.hibernate.search.annotations.DocumentId; import org.hibernate.search.annotations.Field; import org.hibernate.search.annotations.Indexed; import org.hibernate.search.exception.SearchException; import org.hibernate.search.spi.SearchIntegratorBuilder; import org.hibernate.search.testsupport.setup.SearchConfigurationForTest; import org.infinispan.hibernate.search.impl.DefaultCacheManagerService; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; /** * Test to verify the configuration property {@link DefaultCacheManagerService#INFINISPAN_TRANSPORT_OVERRIDE_RESOURCENAME} * is not ignored. * * @author Sanne Grinovero * @since 5.0 */ public class OverrideConfigurationAppliedTest { @Rule public ExpectedException exceptions = ExpectedException.none(); @Test public void testOverrideOptionGetsApplied() throws IOException { SearchConfigurationForTest cfg = new SearchConfigurationForTest() .addProperty("hibernate.search.default.directory_provider", "infinispan") .addProperty(DefaultCacheManagerService.INFINISPAN_TRANSPORT_OVERRIDE_RESOURCENAME, "not existing") .addClass(Dvd.class); //The most practical way to figure out if the property was applied is to provide it with //an illegal value to then verify the failure. exceptions.expect(SearchException.class); exceptions.expectMessage("HSEARCH000103"); new SearchIntegratorBuilder().configuration(cfg).buildSearchIntegrator(); } @Indexed(index = "index1") public static final class Dvd { @DocumentId long id; @Field String title; } }