|
12 | 12 | import org.elasticsearch.action.admin.cluster.stats.CCSTelemetrySnapshot.PerClusterCCSTelemetry;
|
13 | 13 | import org.elasticsearch.action.admin.cluster.stats.LongMetric.LongMetricValue;
|
14 | 14 | import org.elasticsearch.common.bytes.BytesArray;
|
| 15 | +import org.elasticsearch.common.io.stream.BytesStreamOutput; |
15 | 16 | import org.elasticsearch.common.io.stream.Writeable;
|
16 | 17 | import org.elasticsearch.common.xcontent.XContentHelper;
|
17 | 18 | import org.elasticsearch.core.Tuple;
|
|
32 | 33 | public class CCSTelemetrySnapshotTests extends AbstractWireSerializingTestCase<CCSTelemetrySnapshot> {
|
33 | 34 |
|
34 | 35 | private LongMetricValue randomLongMetricValue() {
|
| 36 | + return randomLongMetricValueBetween(0, 1_000_000); |
| 37 | + } |
| 38 | + |
| 39 | + private LongMetricValue randomLongMetricValueBetween(int low, int high) { |
35 | 40 | LongMetric v = new LongMetric();
|
36 | 41 | for (int i = 0; i < randomIntBetween(5, 10); i++) {
|
37 |
| - v.record(randomIntBetween(0, 1_000_000)); |
| 42 | + v.record(randomIntBetween(low, high)); |
38 | 43 | }
|
39 | 44 | return v.getValue();
|
40 | 45 | }
|
@@ -330,4 +335,21 @@ private String readJSONFromResource(String fileName) throws IOException {
|
330 | 335 | return new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);
|
331 | 336 | }
|
332 | 337 | }
|
| 338 | + |
| 339 | + public void testRanges() throws IOException { |
| 340 | + var value1 = randomLongMetricValueBetween(1_000_000, 10_000_000); |
| 341 | + var count1 = value1.count(); |
| 342 | + var max1 = value1.max(); |
| 343 | + var output = new BytesStreamOutput(); |
| 344 | + value1.writeTo(output); |
| 345 | + var value1Read = LongMetricValue.fromStream(output.bytes().streamInput()); |
| 346 | + var value2 = randomLongMetricValueBetween(0, 100); |
| 347 | + var count2 = value2.count(); |
| 348 | + output = new BytesStreamOutput(); |
| 349 | + value2.writeTo(output); |
| 350 | + var value2Read = LongMetricValue.fromStream(output.bytes().streamInput()); |
| 351 | + value2Read.add(value1Read); |
| 352 | + assertThat(value2Read.count(), equalTo(count1 + count2)); |
| 353 | + assertThat(value2Read.max(), equalTo(max1)); |
| 354 | + } |
333 | 355 | }
|
0 commit comments