package org.infinispan.query.config;
import static org.infinispan.test.TestingUtil.withCacheManager;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import java.io.IOException;
import org.infinispan.commons.util.TypedProperties;
import org.infinispan.configuration.cache.Configuration;
import org.infinispan.test.AbstractInfinispanTest;
import org.infinispan.test.CacheManagerCallable;
import org.infinispan.test.fwk.TestCacheManagerFactory;
import org.testng.annotations.Test;
/**
* @author gustavonalle
* @since 7.0
*/
@Test(groups = "unit", testName = "query.config.DeclarativeAutoConfigTest")
public class DeclarativeAutoConfigTest extends AbstractInfinispanTest {
@Test
public void testAutoConfig() throws IOException {
withCacheManager(new CacheManagerCallable(
TestCacheManagerFactory.fromXml("configuration-parsing-test.xml")) {
@Override
public void call() {
Configuration cacheConfiguration = cm.getCacheConfiguration("repl-with-default");
TypedProperties properties = cacheConfiguration.indexing().properties();
assertFalse(properties.isEmpty());
assertEquals(properties.getProperty("hibernate.search.default.exclusive_index_use"), "true");
assertEquals(properties.getProperty("hibernate.search.default.reader.strategy"), "shared");
assertEquals(properties.getProperty("hibernate.search.default.indexmanager"), "near-real-time");
assertEquals(properties.getProperty("hibernate.search.default.directory_provider"), "filesystem");
cacheConfiguration = cm.getCacheConfiguration("dist-with-default");
properties = cacheConfiguration.indexing().properties();
assertFalse(properties.isEmpty());
assertEquals(properties.getProperty("hibernate.search.default.directory_provider"), "infinispan");
assertEquals(properties.getProperty("hibernate.search.default.indexmanager"), "org.infinispan.query.indexmanager.InfinispanIndexManager");
assertEquals(properties.getProperty("hibernate.search.default.exclusive_index_use"), "true");
assertEquals(properties.getProperty("hibernate.search.default.reader.strategy"), "shared");
}
});
}
}