package net.ion.bleujin.infinispan; import java.io.FileInputStream; import java.io.InputStream; import java.io.OutputStream; import junit.framework.TestCase; import net.ion.framework.util.Debug; import net.ion.framework.util.IOUtil; import org.infinispan.Cache; import org.infinispan.configuration.cache.ConfigurationBuilder; import org.infinispan.io.GridFile.Metadata; import org.infinispan.io.GridFilesystem; import org.infinispan.manager.DefaultCacheManager; public class TestGrid extends TestCase { private DefaultCacheManager dm; private GridFilesystem gfs; @Override protected void setUp() throws Exception { super.setUp(); this.dm = new DefaultCacheManager(); dm.defineConfiguration("metadata", new ConfigurationBuilder().build()) ; dm.defineConfiguration("data", new ConfigurationBuilder().build()) ; Cache<String, Metadata> metadata = dm.getCache("metadata") ; Cache<String, byte[]> data = dm.getCache("data"); this.gfs = new GridFilesystem(data, metadata, 2000); } @Override protected void tearDown() throws Exception { dm.stop() ; super.tearDown(); } public void testAppend() throws Exception { OutputStream output = gfs.getOutput("/file", false); InputStream input = new FileInputStream("./build.xml") ; IOUtil.copyNClose(input, output) ; InputStream finput = gfs.getInput("/file"); Debug.line(IOUtil.toByteArray(finput).length) ; finput.close() ; output = gfs.getOutput("/file", true); input = new FileInputStream("./build.xml") ; IOUtil.copyNClose(input, output) ; finput = gfs.getInput("/file"); Debug.line(IOUtil.toByteArray(finput).length) ; finput.close() ; } }