/* * Hibernate Search, full-text search for your domain model * * License: GNU Lesser General Public License (LGPL), version 2.1 or later * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. */ package org.hibernate.search.test.directoryProvider; import java.io.File; import java.util.Properties; import org.hibernate.search.exception.SearchException; import org.hibernate.search.store.impl.DirectoryProviderHelper; import org.hibernate.search.util.impl.FileHelper; import org.junit.Test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; /** * @author Gavin King * @author Sanne Grinovero */ public class DirectoryProviderHelperTest { @Test public void testMkdirsGetSource() throws Exception { String root = "./testDir"; String relative = "dir1/dir2/dir3"; Properties properties = new Properties(); properties.put( "sourceBase", root ); properties.put( "source", relative ); File rel = DirectoryProviderHelper.getSourceDirectory( "name", properties, true ); assertTrue( rel.exists() ); FileHelper.delete( new File( root ) ); } @Test public void testConfiguringCopyBufferSize() { Properties prop = new Properties(); long mB = 1024 * 1024; //default to FileHelper default: assertEquals( FileHelper.DEFAULT_COPY_BUFFER_SIZE, DirectoryProviderHelper.getCopyBufferSize( "testIdx", prop ) ); //any value from MegaBytes: prop.setProperty( "buffer_size_on_copy", "4" ); assertEquals( 4 * mB, DirectoryProviderHelper.getCopyBufferSize( "testIdx", prop ) ); prop.setProperty( "buffer_size_on_copy", "1000" ); assertEquals( 1000 * mB, DirectoryProviderHelper.getCopyBufferSize( "testIdx", prop ) ); //invalid values prop.setProperty( "buffer_size_on_copy", "0" ); boolean testOk = false; try { DirectoryProviderHelper.getCopyBufferSize( "testIdx", prop ); } catch (SearchException e) { testOk = true; } assertTrue( testOk ); prop.setProperty( "buffer_size_on_copy", "-100" ); testOk = false; try { DirectoryProviderHelper.getCopyBufferSize( "testIdx", prop ); } catch (SearchException e) { testOk = true; } assertTrue( testOk ); } }