From 84cd14145f0bcc1746c3ac611b658be400d0abf2 Mon Sep 17 00:00:00 2001 From: Tim Brooks Date: Tue, 27 Jun 2023 15:54:44 -0600 Subject: [PATCH] Add tests --- .../BufferedChecksumStreamInputTests.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 server/src/test/java/org/elasticsearch/index/translog/BufferedChecksumStreamInputTests.java diff --git a/server/src/test/java/org/elasticsearch/index/translog/BufferedChecksumStreamInputTests.java b/server/src/test/java/org/elasticsearch/index/translog/BufferedChecksumStreamInputTests.java new file mode 100644 index 0000000000000..1fd3bac12f210 --- /dev/null +++ b/server/src/test/java/org/elasticsearch/index/translog/BufferedChecksumStreamInputTests.java @@ -0,0 +1,38 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +package org.elasticsearch.index.translog; + +import org.elasticsearch.common.bytes.BytesReference; +import org.elasticsearch.common.io.stream.AbstractStreamTests; +import org.elasticsearch.common.io.stream.StreamInput; + +import java.io.IOException; +import java.util.zip.CRC32; + +public class BufferedChecksumStreamInputTests extends AbstractStreamTests { + + @Override + protected StreamInput getStreamInput(BytesReference bytesReference) { + return new BufferedChecksumStreamInput(StreamInput.wrap(BytesReference.toBytes(bytesReference)), "test"); + } + + public void testChecksum() throws IOException { + int bytesSize = randomIntBetween(512, 2048); + byte[] bytes = randomByteArrayOfLength(bytesSize); + CRC32 crc32 = new CRC32(); + crc32.update(bytes); + + try (BufferedChecksumStreamInput input = new BufferedChecksumStreamInput(StreamInput.wrap(bytes), "test")) { + int read = input.read(new byte[bytesSize]); + assertEquals(bytesSize, read); + assertEquals(-1, input.read()); + assertEquals(crc32.getValue(), input.getChecksum()); + } + } +}