summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Miller <marco.mmiller@gmail.com>2020-07-20 15:19:23 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2020-07-20 15:19:23 +0000
commit1e56920a5193a14877c081696ad1d926d5c82d91 (patch)
treeac4fe30185c750ccd4e706c6d03476d3352ec4da
parent413a4761df8d70f252c332c789f0e572bb55f336 (diff)
parent61fba84b1df2aac380d250ffbca7490f0645ecdc (diff)
Merge changes I865edad7,Ibaa01351 into stable-3.0
* changes: FlushProjectsCache: Use standard name for scenario e2e-tests: Add FlushProjectsCacheThenRebuild and ListProjects scenarios
-rw-r--r--e2e-tests/src/test/resources/data/com/google/gerrit/scenarios/FlushProjectsCacheThenRebuild.json5
-rw-r--r--e2e-tests/src/test/resources/data/com/google/gerrit/scenarios/ListProjects.json5
-rw-r--r--e2e-tests/src/test/scala/com/google/gerrit/scenarios/FlushProjectsCache.scala4
-rw-r--r--e2e-tests/src/test/scala/com/google/gerrit/scenarios/FlushProjectsCacheThenRebuild.scala47
-rw-r--r--e2e-tests/src/test/scala/com/google/gerrit/scenarios/ListProjects.scala33
5 files changed, 92 insertions, 2 deletions
diff --git a/e2e-tests/src/test/resources/data/com/google/gerrit/scenarios/FlushProjectsCacheThenRebuild.json b/e2e-tests/src/test/resources/data/com/google/gerrit/scenarios/FlushProjectsCacheThenRebuild.json
new file mode 100644
index 0000000000..e30a2cfa63
--- /dev/null
+++ b/e2e-tests/src/test/resources/data/com/google/gerrit/scenarios/FlushProjectsCacheThenRebuild.json
@@ -0,0 +1,5 @@
+[
+ {
+ "url": "HTTP_SCHEME://HOSTNAME:HTTP_PORT/a/config/server/caches/projects/flush"
+ }
+]
diff --git a/e2e-tests/src/test/resources/data/com/google/gerrit/scenarios/ListProjects.json b/e2e-tests/src/test/resources/data/com/google/gerrit/scenarios/ListProjects.json
new file mode 100644
index 0000000000..f6350bedd2
--- /dev/null
+++ b/e2e-tests/src/test/resources/data/com/google/gerrit/scenarios/ListProjects.json
@@ -0,0 +1,5 @@
+[
+ {
+ "url": "HTTP_SCHEME://HOSTNAME:HTTP_PORT/a/projects/"
+ }
+]
diff --git a/e2e-tests/src/test/scala/com/google/gerrit/scenarios/FlushProjectsCache.scala b/e2e-tests/src/test/scala/com/google/gerrit/scenarios/FlushProjectsCache.scala
index 3dd84930e5..2e63fd50c3 100644
--- a/e2e-tests/src/test/scala/com/google/gerrit/scenarios/FlushProjectsCache.scala
+++ b/e2e-tests/src/test/scala/com/google/gerrit/scenarios/FlushProjectsCache.scala
@@ -26,7 +26,7 @@ class FlushProjectsCache extends CacheFlushSimulation {
override def relativeRuntimeWeight = 2
- private val flushCache: ScenarioBuilder = scenario(unique)
+ private val test: ScenarioBuilder = scenario(unique)
.feed(data)
.exec(httpRequest)
@@ -44,7 +44,7 @@ class FlushProjectsCache extends CacheFlushSimulation {
nothingFor(stepWaitTime(getCacheEntriesAfterProject) seconds),
atOnceUsers(single)
),
- flushCache.inject(
+ test.inject(
nothingFor(stepWaitTime(this) seconds),
atOnceUsers(single)
),
diff --git a/e2e-tests/src/test/scala/com/google/gerrit/scenarios/FlushProjectsCacheThenRebuild.scala b/e2e-tests/src/test/scala/com/google/gerrit/scenarios/FlushProjectsCacheThenRebuild.scala
new file mode 100644
index 0000000000..7d732ea44b
--- /dev/null
+++ b/e2e-tests/src/test/scala/com/google/gerrit/scenarios/FlushProjectsCacheThenRebuild.scala
@@ -0,0 +1,47 @@
+// Copyright (C) 2020 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.google.gerrit.scenarios
+
+import io.gatling.core.Predef._
+import io.gatling.core.feeder.FeederBuilder
+import io.gatling.core.structure.ScenarioBuilder
+
+import scala.concurrent.duration._
+
+class FlushProjectsCacheThenRebuild extends GerritSimulation {
+ private val data: FeederBuilder = jsonFile(resource).convert(keys).queue
+
+ private val test: ScenarioBuilder = scenario(unique)
+ .feed(data)
+ .exec(httpRequest)
+
+ private val checkCacheEntriesAfterFlush = new CheckProjectsCacheFlushEntries
+ private val rebuildCache = new ListProjects
+
+ setUp(
+ test.inject(
+ nothingFor(stepWaitTime(this) seconds),
+ atOnceUsers(single)
+ ),
+ checkCacheEntriesAfterFlush.test.inject(
+ nothingFor(stepWaitTime(checkCacheEntriesAfterFlush) seconds),
+ atOnceUsers(single)
+ ),
+ rebuildCache.test.inject(
+ nothingFor(stepWaitTime(rebuildCache) seconds),
+ atOnceUsers(single)
+ ),
+ ).protocols(httpProtocol)
+}
diff --git a/e2e-tests/src/test/scala/com/google/gerrit/scenarios/ListProjects.scala b/e2e-tests/src/test/scala/com/google/gerrit/scenarios/ListProjects.scala
new file mode 100644
index 0000000000..bfc97f405a
--- /dev/null
+++ b/e2e-tests/src/test/scala/com/google/gerrit/scenarios/ListProjects.scala
@@ -0,0 +1,33 @@
+// Copyright (C) 2020 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.google.gerrit.scenarios
+
+import io.gatling.core.Predef._
+import io.gatling.core.feeder.FeederBuilder
+import io.gatling.core.structure.ScenarioBuilder
+import io.gatling.http.Predef.http
+
+class ListProjects extends GerritSimulation {
+ private val data: FeederBuilder = jsonFile(resource).convert(keys).queue
+
+ val test: ScenarioBuilder = scenario(unique)
+ .feed(data)
+ .exec(http(unique).get("${url}"))
+
+ setUp(
+ test.inject(
+ atOnceUsers(single)
+ )).protocols(httpProtocol)
+}