Skip to content

Commit eee4cfa

Browse files
committed
Refactor HLRC transform stats test (#48708)
This test uses a deprecated base class, and this commit moves it over to the new class. Ref #39745
1 parent d63e577 commit eee4cfa

File tree

1 file changed

+102
-98
lines changed

1 file changed

+102
-98
lines changed

client/rest-high-level/src/test/java/org/elasticsearch/client/transform/transforms/hlrc/TransformStatsTests.java

Lines changed: 102 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -19,138 +19,142 @@
1919

2020
package org.elasticsearch.client.transform.transforms.hlrc;
2121

22-
import org.elasticsearch.client.AbstractHlrcXContentTestCase;
22+
import org.elasticsearch.client.AbstractResponseTestCase;
23+
import org.elasticsearch.client.transform.transforms.NodeAttributes;
24+
import org.elasticsearch.client.transform.transforms.TransformCheckpointStats;
25+
import org.elasticsearch.client.transform.transforms.TransformCheckpointingInfo;
26+
import org.elasticsearch.client.transform.transforms.TransformIndexerPosition;
27+
import org.elasticsearch.client.transform.transforms.TransformIndexerStats;
28+
import org.elasticsearch.client.transform.transforms.TransformProgress;
29+
import org.elasticsearch.client.transform.transforms.TransformStats;
2330
import org.elasticsearch.common.xcontent.XContentParser;
24-
import org.elasticsearch.xpack.core.transform.transforms.TransformIndexerStats;
25-
import org.elasticsearch.xpack.core.transform.transforms.TransformCheckpointStats;
26-
import org.elasticsearch.xpack.core.transform.transforms.TransformCheckpointingInfo;
27-
import org.elasticsearch.xpack.core.transform.transforms.TransformProgress;
28-
import org.elasticsearch.xpack.core.transform.transforms.TransformStats;
29-
import org.elasticsearch.xpack.core.transform.transforms.NodeAttributes;
31+
import org.elasticsearch.common.xcontent.XContentType;
3032

3133
import java.io.IOException;
32-
import java.time.Instant;
3334
import java.util.HashMap;
3435
import java.util.Map;
35-
import java.util.function.Predicate;
3636

37-
public class TransformStatsTests extends AbstractHlrcXContentTestCase<TransformStats,
38-
org.elasticsearch.client.transform.transforms.TransformStats> {
39-
40-
public static NodeAttributes fromHlrc(org.elasticsearch.client.transform.transforms.NodeAttributes attributes) {
41-
return attributes == null ? null : new NodeAttributes(attributes.getId(),
42-
attributes.getName(),
43-
attributes.getEphemeralId(),
44-
attributes.getTransportAddress(),
45-
attributes.getAttributes());
46-
}
37+
import static org.hamcrest.Matchers.equalTo;
4738

48-
public static TransformStats
49-
fromHlrc(org.elasticsearch.client.transform.transforms.TransformStats instance) {
39+
public class TransformStatsTests extends AbstractResponseTestCase<org.elasticsearch.xpack.core.transform.transforms.TransformStats,
40+
org.elasticsearch.client.transform.transforms.TransformStats> {
5041

51-
return new TransformStats(instance.getId(),
52-
TransformStats.State.fromString(instance.getState().value()),
53-
instance.getReason(),
54-
fromHlrc(instance.getNode()),
55-
TransformIndexerStatsTests.fromHlrc(instance.getIndexerStats()),
56-
TransformCheckpointingInfoTests.fromHlrc(instance.getCheckpointingInfo()));
42+
public static org.elasticsearch.xpack.core.transform.transforms.NodeAttributes randomNodeAttributes() {
43+
int numberOfAttributes = randomIntBetween(1, 10);
44+
Map<String, String> attributes = new HashMap<>(numberOfAttributes);
45+
for(int i = 0; i < numberOfAttributes; i++) {
46+
String val = randomAlphaOfLength(10);
47+
attributes.put("key-"+i, val);
48+
}
49+
return new org.elasticsearch.xpack.core.transform.transforms.NodeAttributes(randomAlphaOfLength(10),
50+
randomAlphaOfLength(10),
51+
randomAlphaOfLength(10),
52+
randomAlphaOfLength(10),
53+
attributes);
5754
}
5855

59-
@Override
60-
public org.elasticsearch.client.transform.transforms.TransformStats doHlrcParseInstance(XContentParser parser)
61-
throws IOException {
62-
return org.elasticsearch.client.transform.transforms.TransformStats.fromXContent(parser);
56+
public static org.elasticsearch.xpack.core.transform.transforms.TransformIndexerStats randomStats() {
57+
return new org.elasticsearch.xpack.core.transform.transforms.TransformIndexerStats(randomLongBetween(10L, 10000L),
58+
randomLongBetween(0L, 10000L), randomLongBetween(0L, 10000L), randomLongBetween(0L, 10000L), randomLongBetween(0L, 10000L),
59+
randomLongBetween(0L, 10000L), randomLongBetween(0L, 10000L), randomLongBetween(0L, 10000L), randomLongBetween(0L, 10000L),
60+
randomLongBetween(0L, 10000L),
61+
randomBoolean() ? null : randomDouble(),
62+
randomBoolean() ? null : randomDouble(),
63+
randomBoolean() ? null : randomDouble());
6364
}
64-
6565
@Override
66-
public TransformStats convertHlrcToInternal(
67-
org.elasticsearch.client.transform.transforms.TransformStats instance) {
68-
return new TransformStats(instance.getId(),
69-
TransformStats.State.fromString(instance.getState().value()),
70-
instance.getReason(),
71-
fromHlrc(instance.getNode()),
72-
TransformIndexerStatsTests.fromHlrc(instance.getIndexerStats()),
73-
TransformCheckpointingInfoTests.fromHlrc(instance.getCheckpointingInfo()));
74-
}
75-
76-
public static TransformStats randomTransformStats() {
77-
return new TransformStats(randomAlphaOfLength(10),
78-
randomFrom(TransformStats.State.values()),
66+
protected org.elasticsearch.xpack.core.transform.transforms.TransformStats createServerTestInstance(XContentType xContentType) {
67+
return new org.elasticsearch.xpack.core.transform.transforms.TransformStats(randomAlphaOfLength(10),
68+
randomFrom(org.elasticsearch.xpack.core.transform.transforms.TransformStats.State.values()),
7969
randomBoolean() ? null : randomAlphaOfLength(100),
8070
randomBoolean() ? null : randomNodeAttributes(),
8171
randomStats(),
8272
TransformCheckpointingInfoTests.randomTransformCheckpointingInfo());
8373
}
8474

8575
@Override
86-
protected TransformStats createTestInstance() {
87-
return randomTransformStats();
76+
protected TransformStats doParseToClientInstance(XContentParser parser) throws IOException {
77+
return TransformStats.fromXContent(parser);
8878
}
8979

9080
@Override
91-
protected TransformStats doParseInstance(XContentParser parser) throws IOException {
92-
return TransformStats.PARSER.apply(parser, null);
81+
protected void assertInstances(org.elasticsearch.xpack.core.transform.transforms.TransformStats serverTestInstance,
82+
TransformStats clientInstance) {
83+
assertThat(serverTestInstance.getId(), equalTo(clientInstance.getId()));
84+
assertThat(serverTestInstance.getState().value(), equalTo(clientInstance.getState().value()));
85+
assertTransformIndexerStats(serverTestInstance.getIndexerStats(), clientInstance.getIndexerStats());
86+
assertTransformCheckpointInfo(serverTestInstance.getCheckpointingInfo(), clientInstance.getCheckpointingInfo());
87+
assertNodeAttributes(serverTestInstance.getNode(), clientInstance.getNode());
88+
assertThat(serverTestInstance.getReason(), equalTo(clientInstance.getReason()));
9389
}
9490

95-
@Override
96-
protected Predicate<String> getRandomFieldsExcludeFilter() {
97-
return field -> field.contains("position") || field.equals("node.attributes");
98-
}
99-
100-
public static TransformProgress randomTransformProgress() {
101-
Long totalDocs = randomBoolean() ? null : randomNonNegativeLong();
102-
Long docsRemaining = totalDocs != null ? randomLongBetween(0, totalDocs) : null;
103-
return new TransformProgress(
104-
totalDocs,
105-
docsRemaining,
106-
totalDocs != null ? totalDocs - docsRemaining : randomNonNegativeLong(),
107-
randomBoolean() ? null : randomNonNegativeLong());
91+
private void assertNodeAttributes(org.elasticsearch.xpack.core.transform.transforms.NodeAttributes serverTestInstance,
92+
NodeAttributes clientInstance) {
93+
if (serverTestInstance == null || clientInstance == null) {
94+
assertNull(serverTestInstance);
95+
assertNull(clientInstance);
96+
return;
97+
}
98+
assertThat(serverTestInstance.getAttributes(), equalTo(clientInstance.getAttributes()));
99+
assertThat(serverTestInstance.getEphemeralId(), equalTo(clientInstance.getEphemeralId()));
100+
assertThat(serverTestInstance.getId(), equalTo(clientInstance.getId()));
101+
assertThat(serverTestInstance.getName(), equalTo(clientInstance.getName()));
102+
assertThat(serverTestInstance.getTransportAddress(), equalTo(clientInstance.getTransportAddress()));
108103
}
109104

110-
public static TransformCheckpointingInfo randomTransformCheckpointingInfo() {
111-
return new TransformCheckpointingInfo(randomTransformCheckpointStats(),
112-
randomTransformCheckpointStats(), randomNonNegativeLong(),
113-
randomBoolean() ? null : Instant.ofEpochMilli(randomNonNegativeLong()));
105+
private void assertTransformProgress(org.elasticsearch.xpack.core.transform.transforms.TransformProgress serverTestInstance,
106+
TransformProgress clientInstance) {
107+
if (serverTestInstance == null || clientInstance == null) {
108+
assertNull(serverTestInstance);
109+
assertNull(clientInstance);
110+
return;
111+
}
112+
assertThat(serverTestInstance.getPercentComplete(), equalTo(clientInstance.getPercentComplete()));
113+
assertThat(serverTestInstance.getDocumentsProcessed(), equalTo(clientInstance.getDocumentsProcessed()));
114+
assertThat(serverTestInstance.getTotalDocs(), equalTo(clientInstance.getTotalDocs()));
115+
assertThat(serverTestInstance.getDocumentsIndexed(), equalTo(clientInstance.getDocumentsIndexed()));
114116
}
115117

116-
public static TransformCheckpointStats randomTransformCheckpointStats() {
117-
return new TransformCheckpointStats(randomLongBetween(1, 1_000_000),
118-
TransformIndexerPositionTests.randomTransformIndexerPosition(),
119-
randomBoolean() ? null : TransformProgressTests.randomTransformProgress(),
120-
randomLongBetween(1, 1_000_000), randomLongBetween(0, 1_000_000));
118+
private void assertPosition(org.elasticsearch.xpack.core.transform.transforms.TransformIndexerPosition serverTestInstance,
119+
TransformIndexerPosition clientInstance) {
120+
assertThat(serverTestInstance.getIndexerPosition(), equalTo(clientInstance.getIndexerPosition()));
121+
assertThat(serverTestInstance.getBucketsPosition(), equalTo(clientInstance.getBucketsPosition()));
121122
}
122123

123-
public static NodeAttributes randomNodeAttributes() {
124-
int numberOfAttributes = randomIntBetween(1, 10);
125-
Map<String, String> attributes = new HashMap<>(numberOfAttributes);
126-
for(int i = 0; i < numberOfAttributes; i++) {
127-
String val = randomAlphaOfLength(10);
128-
attributes.put("key-"+i, val);
129-
}
130-
return new NodeAttributes(randomAlphaOfLength(10),
131-
randomAlphaOfLength(10),
132-
randomAlphaOfLength(10),
133-
randomAlphaOfLength(10),
134-
attributes);
135-
}
136124

137-
public static TransformIndexerStats randomStats() {
138-
return new TransformIndexerStats(randomLongBetween(10L, 10000L),
139-
randomLongBetween(0L, 10000L), randomLongBetween(0L, 10000L), randomLongBetween(0L, 10000L), randomLongBetween(0L, 10000L),
140-
randomLongBetween(0L, 10000L), randomLongBetween(0L, 10000L), randomLongBetween(0L, 10000L), randomLongBetween(0L, 10000L),
141-
randomLongBetween(0L, 10000L),
142-
randomBoolean() ? null : randomDouble(),
143-
randomBoolean() ? null : randomDouble(),
144-
randomBoolean() ? null : randomDouble());
125+
private void assertTransformCheckpointStats(
126+
org.elasticsearch.xpack.core.transform.transforms.TransformCheckpointStats serverTestInstance,
127+
TransformCheckpointStats clientInstance) {
128+
assertTransformProgress(serverTestInstance.getCheckpointProgress(), clientInstance.getCheckpointProgress());
129+
assertThat(serverTestInstance.getCheckpoint(), equalTo(clientInstance.getCheckpoint()));
130+
assertPosition(serverTestInstance.getPosition(), clientInstance.getPosition());
131+
assertThat(serverTestInstance.getTimestampMillis(), equalTo(clientInstance.getTimestampMillis()));
132+
assertThat(serverTestInstance.getTimeUpperBoundMillis(), equalTo(clientInstance.getTimeUpperBoundMillis()));
145133
}
146134

147-
@Override
148-
protected boolean supportsUnknownFields() {
149-
return true;
135+
private void assertTransformCheckpointInfo(
136+
org.elasticsearch.xpack.core.transform.transforms.TransformCheckpointingInfo serverTestInstance,
137+
TransformCheckpointingInfo clientInstance) {
138+
assertTransformCheckpointStats(serverTestInstance.getNext(), clientInstance.getNext());
139+
assertTransformCheckpointStats(serverTestInstance.getLast(), clientInstance.getLast());
140+
assertThat(serverTestInstance.getChangesLastDetectedAt(), equalTo(clientInstance.getChangesLastDetectedAt()));
141+
assertThat(serverTestInstance.getOperationsBehind(), equalTo(clientInstance.getOperationsBehind()));
150142
}
151143

152-
@Override
153-
protected String[] getShuffleFieldsExceptions() {
154-
return new String[] { "position" };
144+
private void assertTransformIndexerStats(org.elasticsearch.xpack.core.transform.transforms.TransformIndexerStats serverTestInstance,
145+
TransformIndexerStats clientInstance) {
146+
assertThat(serverTestInstance.getExpAvgCheckpointDurationMs(), equalTo(clientInstance.getExpAvgCheckpointDurationMs()));
147+
assertThat(serverTestInstance.getExpAvgDocumentsProcessed(), equalTo(clientInstance.getExpAvgDocumentsProcessed()));
148+
assertThat(serverTestInstance.getExpAvgDocumentsIndexed(), equalTo(clientInstance.getExpAvgDocumentsIndexed()));
149+
assertThat(serverTestInstance.getNumPages(), equalTo(clientInstance.getNumPages()));
150+
assertThat(serverTestInstance.getIndexFailures(), equalTo(clientInstance.getIndexFailures()));
151+
assertThat(serverTestInstance.getIndexTime(), equalTo(clientInstance.getIndexTime()));
152+
assertThat(serverTestInstance.getIndexTotal(), equalTo(clientInstance.getIndexTotal()));
153+
assertThat(serverTestInstance.getNumDocuments(), equalTo(clientInstance.getNumDocuments()));
154+
assertThat(serverTestInstance.getNumInvocations(), equalTo(clientInstance.getNumInvocations()));
155+
assertThat(serverTestInstance.getOutputDocuments(), equalTo(clientInstance.getOutputDocuments()));
156+
assertThat(serverTestInstance.getSearchFailures(), equalTo(clientInstance.getSearchFailures()));
157+
assertThat(serverTestInstance.getSearchTime(), equalTo(clientInstance.getSearchTime()));
158+
assertThat(serverTestInstance.getSearchTotal(), equalTo(clientInstance.getSearchTotal()));
155159
}
156160
}

0 commit comments

Comments
 (0)