e2e-tests: Add JAVA_OPTS support to plugin scenarios Unhardcode hostname and port values to start with, which typically vary across test execution environments or deployments. This allows for less json scenario data file duplication and proliferation. Base this JAVA_OPTS solution on core framework's [1]. If no JAVA_OPTS properties get defined in the scenario execution shell environment, use the default values coded in. Adapt the CloneUsingMultiGerrit1 and aggregated project scenarios accordingly. Make them reuse core's amended GerritSimulation. In particular, override core's replaceOverride method as a plugin. [1] https://gatling.io/docs/current/cookbook/passing_parameters Change-Id: Iee733251bae01fc161e4fbfcc4ea8ba5c396659b
diff --git a/src/test/resources/com/googlesource/gerrit/plugins/multisite/scenarios/CloneUsingMultiGerrit1.json b/src/test/resources/com/googlesource/gerrit/plugins/multisite/scenarios/CloneUsingMultiGerrit1.json index 37891ad..26d227c 100644 --- a/src/test/resources/com/googlesource/gerrit/plugins/multisite/scenarios/CloneUsingMultiGerrit1.json +++ b/src/test/resources/com/googlesource/gerrit/plugins/multisite/scenarios/CloneUsingMultiGerrit1.json
@@ -1,6 +1,6 @@ [ { - "url": "http://localhost:8081/loadtest-repo", + "url": "http://HOSTNAME:HTTP_PORT1/loadtest-repo", "cmd": "clone" } ]
diff --git a/src/test/resources/com/googlesource/gerrit/plugins/multisite/scenarios/CreateProjectUsingMultiGerrit.json b/src/test/resources/com/googlesource/gerrit/plugins/multisite/scenarios/CreateProjectUsingMultiGerrit.json index 2e54de5..f1a38ae 100644 --- a/src/test/resources/com/googlesource/gerrit/plugins/multisite/scenarios/CreateProjectUsingMultiGerrit.json +++ b/src/test/resources/com/googlesource/gerrit/plugins/multisite/scenarios/CreateProjectUsingMultiGerrit.json
@@ -1,5 +1,5 @@ [ { - "url": "http://localhost:8080/a/projects/loadtest-repo" + "url": "http://HOSTNAME:HTTP_PORT/a/projects/loadtest-repo" } ]
diff --git a/src/test/resources/com/googlesource/gerrit/plugins/multisite/scenarios/DeleteProjectUsingMultiGerrit.json b/src/test/resources/com/googlesource/gerrit/plugins/multisite/scenarios/DeleteProjectUsingMultiGerrit.json index 9312fb4..e5167b5 100644 --- a/src/test/resources/com/googlesource/gerrit/plugins/multisite/scenarios/DeleteProjectUsingMultiGerrit.json +++ b/src/test/resources/com/googlesource/gerrit/plugins/multisite/scenarios/DeleteProjectUsingMultiGerrit.json
@@ -1,5 +1,5 @@ [ { - "url": "http://localhost:8080/a/projects/loadtest-repo/delete-project~delete" + "url": "http://HOSTNAME:HTTP_PORT/a/projects/loadtest-repo/delete-project~delete" } ]
diff --git a/src/test/scala/com/googlesource/gerrit/plugins/multisite/scenarios/CloneUsingMultiGerrit1.scala b/src/test/scala/com/googlesource/gerrit/plugins/multisite/scenarios/CloneUsingMultiGerrit1.scala index 5a26360..7adce59 100644 --- a/src/test/scala/com/googlesource/gerrit/plugins/multisite/scenarios/CloneUsingMultiGerrit1.scala +++ b/src/test/scala/com/googlesource/gerrit/plugins/multisite/scenarios/CloneUsingMultiGerrit1.scala
@@ -22,7 +22,11 @@ import scala.concurrent.duration._ class CloneUsingMultiGerrit1 extends GitSimulation { - private val data: FileBasedFeederBuilder[Any]#F = jsonFile(resource).queue + private val data: FileBasedFeederBuilder[Any]#F#F = jsonFile(resource).convert(url).queue + + override def replaceOverride(in: String): String = { + replaceProperty("http_port1", 8081, in) + } private val test: ScenarioBuilder = scenario(name) .feed(data)
diff --git a/src/test/scala/com/googlesource/gerrit/plugins/multisite/scenarios/CreateProjectUsingMultiGerrit.scala b/src/test/scala/com/googlesource/gerrit/plugins/multisite/scenarios/CreateProjectUsingMultiGerrit.scala index 8f46a2a..be82658 100644 --- a/src/test/scala/com/googlesource/gerrit/plugins/multisite/scenarios/CreateProjectUsingMultiGerrit.scala +++ b/src/test/scala/com/googlesource/gerrit/plugins/multisite/scenarios/CreateProjectUsingMultiGerrit.scala
@@ -20,7 +20,7 @@ import io.gatling.core.structure.ScenarioBuilder class CreateProjectUsingMultiGerrit extends GerritSimulation { - private val data: FileBasedFeederBuilder[Any]#F = jsonFile(resource).queue + private val data: FileBasedFeederBuilder[Any]#F#F = jsonFile(resource).convert(url).queue val test: ScenarioBuilder = scenario(name) .feed(data)
diff --git a/src/test/scala/com/googlesource/gerrit/plugins/multisite/scenarios/DeleteProjectUsingMultiGerrit.scala b/src/test/scala/com/googlesource/gerrit/plugins/multisite/scenarios/DeleteProjectUsingMultiGerrit.scala index 628edfc..6e81231 100644 --- a/src/test/scala/com/googlesource/gerrit/plugins/multisite/scenarios/DeleteProjectUsingMultiGerrit.scala +++ b/src/test/scala/com/googlesource/gerrit/plugins/multisite/scenarios/DeleteProjectUsingMultiGerrit.scala
@@ -20,7 +20,7 @@ import io.gatling.core.structure.ScenarioBuilder class DeleteProjectUsingMultiGerrit extends GerritSimulation { - private val data: FileBasedFeederBuilder[Any]#F = jsonFile(resource).queue + private val data: FileBasedFeederBuilder[Any]#F#F = jsonFile(resource).convert(url).queue val test: ScenarioBuilder = scenario(name) .feed(data)