package org.geoserver.geopkg;
import org.geoserver.data.DataStoreFactoryInitializer;
import org.geoserver.platform.GeoServerExtensions;
import org.geoserver.platform.GeoServerResourceLoader;
import org.geotools.geopkg.GeoPkgDataStoreFactory;
import org.junit.Test;
import org.springframework.web.context.WebApplicationContext;
import org.vfny.geoserver.util.DataStoreUtils;
import java.io.File;
import static org.easymock.EasyMock.createNiceMock;
import static org.easymock.classextension.EasyMock.*;
import static org.junit.Assert.assertNotNull;
public class GeoPkgDataStoreFactoryInitializerTest {
@Test
public void testInitializer() {
GeoServerResourceLoader resourceLoader = createMock(GeoServerResourceLoader.class);
expect(resourceLoader.getBaseDirectory()).andReturn(new File("target")).once();
replay(resourceLoader);
GeoPkgDataStoreFactoryInitializer initializer = new GeoPkgDataStoreFactoryInitializer();
initializer.setResourceLoader(resourceLoader);
WebApplicationContext appContext = createNiceMock(WebApplicationContext.class);
expect(appContext.getBeanNamesForType(DataStoreFactoryInitializer.class))
.andReturn(new String[]{"geopkgDataStoreFactoryInitializer"}).anyTimes();
expect(appContext.getBean("geopkgDataStoreFactoryInitializer")).andReturn(initializer).anyTimes();
replay(appContext);
new GeoServerExtensions().setApplicationContext(appContext);
assertNotNull(DataStoreUtils.aquireFactory(new GeoPkgDataStoreFactory().getDisplayName()));
verify(resourceLoader);
}
}