diff --git a/.bazelversion b/.bazelversion
index 47b322c..1545d96 100644
--- a/.bazelversion
+++ b/.bazelversion
@@ -1 +1 @@
-3.4.1
+3.5.0
diff --git a/src/test/README.md b/src/test/README.md
new file mode 100644
index 0000000..f6147ff
--- /dev/null
+++ b/src/test/README.md
@@ -0,0 +1,16 @@
+# How to e2e-test this plugin
+
+Consider the
+[instructions](https://gerrit-review.googlesource.com/Documentation/dev-e2e-tests.html)
+on how to use Gerrit core's Gatling framework, to run non-core test
+scenarios such as this plugin one below:
+
+```
+  $ sbt "gatling:testOnly com.googlesource.gerrit.plugins.renameproject.scenarios.RenameProject"
+```
+
+Scenario scala source files and their companion json resource ones are
+stored under the usual src/test directories. That structure follows the
+scala package one from the scenario classes. The core framework expects
+such a directory structure for both the scala and resources (json data)
+files.
diff --git a/src/test/resources/com/googlesource/gerrit/plugins/renameproject/scenarios/RenameProject-body.json b/src/test/resources/com/googlesource/gerrit/plugins/renameproject/scenarios/RenameProject-body.json
new file mode 100644
index 0000000..fd49984
--- /dev/null
+++ b/src/test/resources/com/googlesource/gerrit/plugins/renameproject/scenarios/RenameProject-body.json
@@ -0,0 +1,3 @@
+{
+  "name": "${project}"
+}
diff --git a/src/test/resources/com/googlesource/gerrit/plugins/renameproject/scenarios/RenameProject.json b/src/test/resources/com/googlesource/gerrit/plugins/renameproject/scenarios/RenameProject.json
new file mode 100644
index 0000000..6be790c
--- /dev/null
+++ b/src/test/resources/com/googlesource/gerrit/plugins/renameproject/scenarios/RenameProject.json
@@ -0,0 +1,6 @@
+[
+  {
+    "url": "HTTP_SCHEME://HOSTNAME:HTTP_PORT/a/projects/_PROJECT/rename-project~rename",
+    "project": "_RENAMED"
+  }
+]
diff --git a/src/test/scala/com/googlesource/gerrit/plugins/renameproject/scenarios/RenameProject.scala b/src/test/scala/com/googlesource/gerrit/plugins/renameproject/scenarios/RenameProject.scala
new file mode 100644
index 0000000..744f245
--- /dev/null
+++ b/src/test/scala/com/googlesource/gerrit/plugins/renameproject/scenarios/RenameProject.scala
@@ -0,0 +1,55 @@
+// 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.googlesource.gerrit.plugins.renameproject.scenarios
+
+import com.google.gerrit.scenarios.{CreateProject, DeleteProject, GerritSimulation}
+import io.gatling.core.Predef._
+import io.gatling.core.feeder.FeederBuilder
+import io.gatling.core.structure.ScenarioBuilder
+
+import scala.concurrent.duration._
+
+class RenameProject extends GerritSimulation {
+  private val data: FeederBuilder = jsonFile(resource).convert(keys).queue
+  private val default = name
+  private val renamedTo = unique
+
+  override def replaceOverride(in: String): String = {
+    val next = replaceKeyWith("_project", default, in)
+    replaceKeyWith("_renamed", renamedTo, next)
+  }
+
+  private val createProject = new CreateProject(default)
+  private val deleteProject = new DeleteProject(renamedTo)
+
+  private val test: ScenarioBuilder = scenario(unique)
+    .feed(data)
+    .exec(httpRequest.body(ElFileBody(body)).asJson)
+
+  setUp(
+    createProject.test.inject(
+      nothingFor(stepWaitTime(createProject) seconds),
+      atOnceUsers(1)
+    ),
+    test.inject(
+      nothingFor(stepWaitTime(this) seconds),
+      atOnceUsers(1)
+    ),
+    deleteProject.test.inject(
+      nothingFor(stepWaitTime(deleteProject) seconds),
+      atOnceUsers(1)
+    ),
+  ).protocols(httpProtocol)
+}
