Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import org.gradle.testkit.runner.BuildResult
import org.gradle.testkit.runner.TaskOutcome

class AbstractTransportVersionFuncTest extends AbstractGradleFuncTest {

def javaResource(String project, String path, String content) {
file("${project}/src/main/resources/${path}").withWriter { writer ->
writer << content
Expand Down Expand Up @@ -45,10 +46,18 @@ class AbstractTransportVersionFuncTest extends AbstractGradleFuncTest {
return referableAndReferencedTransportVersion(name, ids, "Test${name.capitalize()}")
}

def referableAndReferencedTransportVersion(String name, String ids, String classname) {
def referencedTransportVersion(String name) {
referencedTransportVersion(name, "Test${name.capitalize()}")
}

def referencedTransportVersion(String name, String classname) {
javaSource("myserver", "org.elasticsearch", classname, "", """
static final TransportVersion usage = TransportVersion.fromName("${name}");
""")
}

def referableAndReferencedTransportVersion(String name, String ids, String classname) {
referencedTransportVersion(name, classname)
referableTransportVersion(name, ids)
}

Expand All @@ -74,6 +83,20 @@ class AbstractTransportVersionFuncTest extends AbstractGradleFuncTest {
assertOutputContains(result.output, expectedOutput)
}

void assertReferableDefinition(String name, String content) {
File definitionFile = file("myserver/src/main/resources/transport/definitions/referable/${name}.csv")
assert definitionFile.exists()
assert definitionFile.text.strip() == content
}

void assertReferableDefinitionDoesNotExist(String name) {
assert file("myserver/src/main/resources/transport/definitions/referable/${name}.csv").exists() == false
}

void assertUpperBound(String name, String content) {
assert file("myserver/src/main/resources/transport/upper_bounds/${name}.csv").text.strip() == content
}

def setup() {
configurationCacheCompatible = false
internalBuild()
Expand All @@ -86,12 +109,17 @@ class AbstractTransportVersionFuncTest extends AbstractGradleFuncTest {
apply plugin: 'java-library'
apply plugin: 'elasticsearch.transport-version-references'
apply plugin: 'elasticsearch.transport-version-resources'

tasks.named('generateTransportVersionDefinition') {
currentUpperBoundName = '9.2'
}
"""
referableTransportVersion("existing_91", "8012000")
referableTransportVersion("existing_92", "8123000,8012001")
unreferableTransportVersion("initial_9_0_0", "8000000")
transportVersionUpperBound("9.2", "existing_92", "8123000")
transportVersionUpperBound("9.1", "existing_92", "8012001")
transportVersionUpperBound("9.0", "initial_9_0_0", "8000000")
// a mock version of TransportVersion, just here so we can compile Dummy.java et al
javaSource("myserver", "org.elasticsearch", "TransportVersion", "", """
public static TransportVersion fromName(String name) {
Expand Down
Loading