diff --git a/src/test/java/org/elasticsearch/common/blobstore/BlobStoreTest.java b/src/test/java/org/elasticsearch/common/blobstore/BlobStoreTest.java index 50a9c251985..7765279295d 100644 --- a/src/test/java/org/elasticsearch/common/blobstore/BlobStoreTest.java +++ b/src/test/java/org/elasticsearch/common/blobstore/BlobStoreTest.java @@ -30,38 +30,39 @@ import org.junit.Test; import java.io.*; import java.util.Arrays; -import java.util.Random; public class BlobStoreTest extends ElasticsearchTestCase { @Test public void testWriteRead() throws IOException { - BlobContainer store = newBlobContainer(); + final BlobStore store = newBlobStore(); + final BlobContainer container = store.blobContainer(new BlobPath()); int length = randomIntBetween(10, scaledRandomIntBetween(1024, 1 << 16)); byte[] data = new byte[length]; for (int i = 0; i < data.length; i++) { data[i] = (byte) randomInt(); } - try (OutputStream stream = store.createOutput("foobar")) { + try (OutputStream stream = container.createOutput("foobar")) { stream.write(data); } - InputStream stream = store.openInput("foobar"); - - BytesRef target = new BytesRef(); - while (target.length < data.length) { - byte[] buffer = new byte[scaledRandomIntBetween(1, data.length - target.length)]; - int offset = scaledRandomIntBetween(0, buffer.length - 1); - int read = stream.read(buffer, offset, buffer.length - offset); - target.append(new BytesRef(buffer, offset, read)); + try (InputStream stream = container.openInput("foobar")) { + BytesRef target = new BytesRef(); + while (target.length < data.length) { + byte[] buffer = new byte[scaledRandomIntBetween(1, data.length - target.length)]; + int offset = scaledRandomIntBetween(0, buffer.length - 1); + int read = stream.read(buffer, offset, buffer.length - offset); + target.append(new BytesRef(buffer, offset, read)); + } + assertEquals(data.length, target.length); + assertArrayEquals(data, Arrays.copyOfRange(target.bytes, target.offset, target.length)); } - assertEquals(data.length, target.length); - assertArrayEquals(data, Arrays.copyOfRange(target.bytes, target.offset, target.length)); + store.close(); } - protected BlobContainer newBlobContainer() { + protected BlobStore newBlobStore() { File tempDir = newTempDir(LifecycleScope.TEST); Settings settings = randomBoolean() ? ImmutableSettings.EMPTY : ImmutableSettings.builder().put("buffer_size", new ByteSizeValue(randomIntBetween(1, 100), ByteSizeUnit.KB)).build(); FsBlobStore store = new FsBlobStore(settings, tempDir); - return store.blobContainer(new BlobPath()); + return store; } }