Merge branch 'stable-3.2' into stable-3.3 * stable-3.2: e2e-tests: Use now available cluster_port e2e-tests: Refactor scenarios to use ClusterDefault e2e-tests: Add configurable cluster_port property Change-Id: Ia291329a36635862b5435cc4abaa4adf59c34999
diff --git a/src/test/docker/README.md b/src/test/docker/README.md index d97e929..4604423 100644 --- a/src/test/docker/README.md +++ b/src/test/docker/README.md
@@ -55,7 +55,7 @@ created on gerrit 1 (port 8081) but from gerrit 2 (on 8082). The scenario therefore expects Gerrit HA to have properly synchronized the new project from 1 to 2. That project gets deleted after, here -using HA Gerrit straight (no specific port). +using HA Gerrit straight (through default http port 80). Scenario scala source files and their companion json resource ones are stored under the usual src/test directories. That structure follows the
diff --git a/src/test/resources/com/ericsson/gerrit/plugins/highavailability/scenarios/DeleteProjectUsingHAGerrit.json b/src/test/resources/com/ericsson/gerrit/plugins/highavailability/scenarios/DeleteProjectUsingHAGerrit.json index 2405b03..026b03a 100644 --- a/src/test/resources/com/ericsson/gerrit/plugins/highavailability/scenarios/DeleteProjectUsingHAGerrit.json +++ b/src/test/resources/com/ericsson/gerrit/plugins/highavailability/scenarios/DeleteProjectUsingHAGerrit.json
@@ -1,5 +1,5 @@ [ { - "url": "HTTP_SCHEME://HOSTNAME/a/projects/PROJECT/delete-project~delete" + "url": "HTTP_SCHEME://HOSTNAME:CLUSTER_PORT/a/projects/PROJECT/delete-project~delete" } ]
diff --git a/src/test/resources/com/ericsson/gerrit/plugins/highavailability/scenarios/GetProjectsCacheEntries.json b/src/test/resources/com/ericsson/gerrit/plugins/highavailability/scenarios/GetProjectsCacheEntries.json index 25521c7..8401fa4 100644 --- a/src/test/resources/com/ericsson/gerrit/plugins/highavailability/scenarios/GetProjectsCacheEntries.json +++ b/src/test/resources/com/ericsson/gerrit/plugins/highavailability/scenarios/GetProjectsCacheEntries.json
@@ -1,5 +1,5 @@ [ { - "url": "HTTP_SCHEME://HOSTNAME/a/config/server/caches/projects" + "url": "HTTP_SCHEME://HOSTNAME:CLUSTER_PORT/a/config/server/caches/projects" } ]
diff --git a/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/CheckProjectsCacheFlushEntriesUsingHAGerrit1.scala b/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/CheckProjectsCacheFlushEntriesUsingHAGerrit1.scala index 7e63134..09ba6d4 100644 --- a/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/CheckProjectsCacheFlushEntriesUsingHAGerrit1.scala +++ b/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/CheckProjectsCacheFlushEntriesUsingHAGerrit1.scala
@@ -22,9 +22,10 @@ class CheckProjectsCacheFlushEntriesUsingHAGerrit1 extends CacheFlushSimulation { private val data: FeederBuilder = jsonFile(resource).convert(keys).queue + private val default: ClusterDefault = new ClusterDefault override def replaceOverride(in: String): String = { - replaceProperty("http_port1", 8081, in) + replaceProperty("http_port1", default.httpPort1, in) } def this(producer: CacheFlushSimulation) {
diff --git a/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/CloneUsingHAGerrit2.scala b/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/CloneUsingHAGerrit2.scala index 4fa0ca5..a03a731 100644 --- a/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/CloneUsingHAGerrit2.scala +++ b/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/CloneUsingHAGerrit2.scala
@@ -23,6 +23,7 @@ class CloneUsingHAGerrit2 extends GitSimulation { private val data: FeederBuilder = jsonFile(resource).convert(keys).queue + private val default: ClusterDefault = new ClusterDefault private var projectName = className def this(projectName: String) { @@ -31,7 +32,7 @@ } override def replaceOverride(in: String): String = { - val next = replaceProperty("http_port2", 8082, in) + val next = replaceProperty("http_port2", default.httpPort2, in) replaceKeyWith("_project", projectName, next) }
diff --git a/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/ClusterDefault.scala b/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/ClusterDefault.scala new file mode 100644 index 0000000..58bbc7e --- /dev/null +++ b/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/ClusterDefault.scala
@@ -0,0 +1,21 @@ +// Copyright (C) 2021 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package com.ericsson.gerrit.plugins.highavailability.scenarios + +class ClusterDefault { + val clusterHttpPort: Int = 80 + val httpPort1: Int = 8081 + val httpPort2: Int = 8082 +}
diff --git a/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/CreateChangeUsingHAGerrit1.scala b/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/CreateChangeUsingHAGerrit1.scala index bfd520a..7969af0 100644 --- a/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/CreateChangeUsingHAGerrit1.scala +++ b/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/CreateChangeUsingHAGerrit1.scala
@@ -24,12 +24,13 @@ class CreateChangeUsingHAGerrit1 extends GerritSimulation { private val data: FeederBuilder = jsonFile(resource).convert(keys).queue + private val default: ClusterDefault = new ClusterDefault private val projectName = className override def relativeRuntimeWeight = 10 override def replaceOverride(in: String): String = { - replaceProperty("http_port1", 8081, in) + replaceProperty("http_port1", default.httpPort1, in) } private val test: ScenarioBuilder = scenario(uniqueName)
diff --git a/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/CreateProjectUsingHAGerrit1.scala b/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/CreateProjectUsingHAGerrit1.scala index 5773bcf..72a1068 100644 --- a/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/CreateProjectUsingHAGerrit1.scala +++ b/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/CreateProjectUsingHAGerrit1.scala
@@ -21,6 +21,7 @@ class CreateProjectUsingHAGerrit1 extends ProjectSimulation { private val data: FeederBuilder = jsonFile(resource).convert(keys).queue + private val default: ClusterDefault = new ClusterDefault def this(projectName: String) { this() @@ -28,7 +29,7 @@ } override def replaceOverride(in: String): String = { - val next = replaceProperty("http_port1", 8081, in) + val next = replaceProperty("http_port1", default.httpPort1, in) super.replaceOverride(next) }
diff --git a/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/DeleteChangeUsingHAGerrit2.scala b/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/DeleteChangeUsingHAGerrit2.scala index 335d587..c8e1c50 100644 --- a/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/DeleteChangeUsingHAGerrit2.scala +++ b/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/DeleteChangeUsingHAGerrit2.scala
@@ -22,12 +22,13 @@ class DeleteChangeUsingHAGerrit2 extends GerritSimulation { private val data: FeederBuilder = jsonFile(resource).convert(keys).queue + private val default: ClusterDefault = new ClusterDefault var number: Option[Int] = None override def relativeRuntimeWeight = 10 override def replaceOverride(in: String): String = { - replaceProperty("http_port2", 8082, in) + replaceProperty("http_port2", default.httpPort2, in) } val test: ScenarioBuilder = scenario(uniqueName)
diff --git a/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/DeleteProjectUsingHAGerrit.scala b/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/DeleteProjectUsingHAGerrit.scala index cdc6e9e..d9feedb 100644 --- a/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/DeleteProjectUsingHAGerrit.scala +++ b/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/DeleteProjectUsingHAGerrit.scala
@@ -21,12 +21,18 @@ class DeleteProjectUsingHAGerrit extends ProjectSimulation { private val data: FeederBuilder = jsonFile(resource).convert(keys).queue + private val default: ClusterDefault = new ClusterDefault def this(projectName: String) { this() this.projectName = projectName } + override def replaceOverride(in: String): String = { + val next = replaceProperty("cluster_port", default.clusterHttpPort, in) + super.replaceOverride(next) + } + val test: ScenarioBuilder = scenario(uniqueName) .feed(data) .exec(httpRequest)
diff --git a/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/FlushProjectsCacheUsingHAGerrit2.scala b/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/FlushProjectsCacheUsingHAGerrit2.scala index 4f619b8..d6eff71 100644 --- a/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/FlushProjectsCacheUsingHAGerrit2.scala +++ b/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/FlushProjectsCacheUsingHAGerrit2.scala
@@ -23,12 +23,13 @@ class FlushProjectsCacheUsingHAGerrit2 extends CacheFlushSimulation { private val data: FeederBuilder = jsonFile(resource).convert(keys).queue + private val default: ClusterDefault = new ClusterDefault private val projectName = className override def relativeRuntimeWeight = 2 override def replaceOverride(in: String): String = { - replaceProperty("http_port2", 8082, in) + replaceProperty("http_port2", default.httpPort2, in) } private val flushCache: ScenarioBuilder = scenario(uniqueName)
diff --git a/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/GetProjectsCacheEntries.scala b/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/GetProjectsCacheEntries.scala index 8a04245..6938c74 100644 --- a/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/GetProjectsCacheEntries.scala +++ b/src/test/scala/com/ericsson/gerrit/plugins/highavailability/scenarios/GetProjectsCacheEntries.scala
@@ -22,12 +22,17 @@ class GetProjectsCacheEntries extends CacheFlushSimulation { private val data: FeederBuilder = jsonFile(resource).convert(keys).queue + private val default: ClusterDefault = new ClusterDefault def this(consumer: CacheFlushSimulation) { this() this.consumer = Some(consumer) } + override def replaceOverride(in: String): String = { + replaceProperty("cluster_port", default.clusterHttpPort, in) + } + val test: ScenarioBuilder = scenario(uniqueName) .feed(data) .exec(http(uniqueName).get("${url}")