Skip to content

Commit 50cde19

Browse files
committed
iter
1 parent 367e52f commit 50cde19

File tree

2 files changed

+30
-23
lines changed

2 files changed

+30
-23
lines changed

build-tools-internal/src/integTest/groovy/org/elasticsearch/gradle/internal/transport/TransportVersionGenerationFuncTest.groovy

Lines changed: 29 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,8 @@
99

1010
package org.elasticsearch.gradle.internal.transport
1111

12-
import org.elasticsearch.gradle.util.Pair
13-
import org.gradle.internal.impldep.com.google.common.collect.Streams
1412
import org.gradle.testkit.runner.TaskOutcome
1513

16-
import java.util.stream.Stream
17-
1814
class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTest {
1915
def "test setup works"() {
2016
when:
@@ -27,34 +23,45 @@ class TransportVersionGenerationFuncTest extends AbstractTransportVersionFuncTes
2723
given:
2824
String tvName = "potato_tv"
2925
when:
30-
def result = gradleRunner("generateTransportVersionDefinition", "--name=" + tvName, "--increment=1").build()
26+
def result = gradleRunner(
27+
"generateTransportVersionDefinition",
28+
"--name=" + tvName,
29+
"--increment=1",
30+
"--branches=main"
31+
).build()
3132
then:
3233
result.task(":myserver:generateTransportVersionDefinition").outcome == TaskOutcome.SUCCESS
3334
validateDefinitionFile(tvName, List.of("9.2"))
3435
}
3536

36-
void validateDefinitionFile(String name, List<String> branches) { // TODO add primary increment
37-
String filename = "myserver/src/main/resources/transport/definitions/named/" + name + ".csv"
37+
def "Missing required arguments should fail, state should remain unaltered"() {
38+
// TODO
39+
}
40+
41+
// TODO add a check for the increment, primary and patch
42+
void validateDefinitionFile(String definitionName, List<String> branches) {
43+
String filename = "myserver/src/main/resources/transport/definitions/named/" + definitionName + ".csv"
3844
assert file(filename).exists()
3945

40-
String contents = file(filename).text
41-
assert contents.strip().isEmpty() == false
42-
String[] x = contents.strip().split(",")
43-
Stream<Integer> ids = Arrays.stream(x).map(Integer::valueOf)
44-
assert branches.size() == ids.count(): "The definition file does not have the correct number of ids"
46+
String definitionFileText = file(filename).text.strip()
47+
assert definitionFileText.isEmpty() == false: "The definition file must not be empty"
48+
List<Integer> definitionIDs = Arrays.stream(definitionFileText.split(",")).map(Integer::valueOf).toList()
49+
assert branches.size() == definitionIDs.size(): "The definition file does not have an id for each branch"
4550

46-
def latestInfo = branches.stream()
51+
def latestNamesToIds = branches.stream()
4752
.map { file("myserver/src/main/resources/transport/latest/${it}.csv").text }
48-
.map { contents.strip().split(",") }
49-
.map { Pair<String, Integer>.of(it.first(), Integer.valueOf(it.last())) }
53+
.map { it.strip().split(",") }
54+
.map { new Tuple2(it.first(), Integer.valueOf(it.last())) }
55+
.toList()
56+
57+
for (int i = 0; i < definitionIDs.size(); i++) {
58+
int definitionID = definitionIDs[i]
59+
String nameInLatest = latestNamesToIds[i].getV1()
60+
def idInLatest = latestNamesToIds[i].getV2()
5061

51-
Streams.zip(ids, latestInfo, { (id, latest) -> Pair.of(id, latest) })
52-
.forEach {
53-
(id, Pair latest) -> {
54-
assert name == latest.left(): "The latest file should contain the same name as the new transport version"
55-
assert id == latest.right(): "The latest file should contain the same id as the new transport version"
56-
}
57-
}
62+
assert definitionName.equals(nameInLatest): "The latest and definition names must match"
63+
assert definitionID == idInLatest: "The latest and definition ids must match"
64+
}
5865
}
5966

6067
/*

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/transport/GenerateTransportVersionDefinitionTask.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ private List<TransportVersionId> updateLatestFiles(Path resourcesDir, String nam
165165
}
166166

167167
private Set<String> getTargetReleaseBranches() {
168-
if (getBranches().isPresent()) {
168+
if (getBranches().get().isEmpty() == false) {
169169
return getBranches().get()
170170
.stream()
171171
.map(branch -> branch.equals("main") ? getMainReleaseBranch().get() : branch)

0 commit comments

Comments
 (0)