Merge branch 'stable-3.4'
* stable-3.4:
Decrease size of serialized ParsingQueueTask
TestEventPublisher: performance improvement
Solves: Jira GER-1554
Change-Id: I38c160f94e71c995a2dc19336bbd475785102371
diff --git a/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/mapping/EiffelEventMapper.java b/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/mapping/EiffelEventMapper.java
index e1cd13c..09af40f 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/mapping/EiffelEventMapper.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/mapping/EiffelEventMapper.java
@@ -20,7 +20,6 @@
import com.google.gerrit.entities.RefNames;
import com.google.gerrit.extensions.common.AccountInfo;
import com.google.gerrit.extensions.common.GitPerson;
-import com.google.gerrit.extensions.events.RevisionCreatedListener;
import com.google.gerrit.server.IdentifiedUser;
import com.google.gerrit.server.account.AccountResolver;
import com.google.gerrit.server.account.AccountResolver.UnresolvableAccountException;
@@ -34,6 +33,7 @@
import com.googlesource.gerrit.plugins.eventseiffel.eiffel.dto.EiffelCompositionDefinedEventInfo;
import com.googlesource.gerrit.plugins.eventseiffel.eiffel.dto.EiffelSourceChangeCreatedEventInfo;
import com.googlesource.gerrit.plugins.eventseiffel.eiffel.dto.EiffelSourceChangeSubmittedEventInfo;
+import com.googlesource.gerrit.plugins.eventseiffel.parsing.PatchsetCreationData;
import java.io.IOException;
import java.util.List;
import java.util.Optional;
@@ -68,20 +68,20 @@
}
public EiffelSourceChangeCreatedEventInfo toScc(
- RevisionCreatedListener.Event event, List<UUID> parentEventIds)
+ PatchsetCreationData data, List<UUID> parentEventIds)
throws ConfigInvalidException, IOException {
- PersonInfo author = toPersonInfo(event.getRevision().commit.author);
+ PersonInfo author = toPersonInfo(data.author);
return eventFactoryProvider
.get()
.createScc(
author.name,
author.email,
author.username,
- event.getChange().project,
- event.getChange().branch,
- event.getRevision().commit.commit,
- event.getChange()._number,
- event.getWhen().getTime(),
+ data.project,
+ data.branch,
+ data.commitId,
+ data.changeNumber,
+ data.createdAt,
parentEventIds);
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/EiffelEventParser.java b/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/EiffelEventParser.java
index faa1fed..3285993 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/EiffelEventParser.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/EiffelEventParser.java
@@ -14,19 +14,19 @@
package com.googlesource.gerrit.plugins.eventseiffel.parsing;
import com.google.gerrit.extensions.common.AccountInfo;
-import com.google.gerrit.extensions.events.RevisionCreatedListener.Event;
import com.googlesource.gerrit.plugins.eventseiffel.eiffel.SourceChangeEventKey;
public interface EiffelEventParser {
/**
- * Creates SCC events for all commits reachable from the commit that triggered the {@link Event}
- * event.
+ * Creates SCC events for all commits reachable from the commit that triggered the patchset
+ * creation described by the {@link PatchsetCreationData} data.
*
- * @param event - Describes a revision from which to create SCC events.
+ * @param data - Describes a patchset creation from which to create SCC events.
* @throws EventParsingException- When event-creation fails.
*/
- void createAndScheduleSccFromEvent(Event event) throws EventParsingException;
+ void createAndScheduleSccFromPatchsetCreation(PatchsetCreationData data)
+ throws EventParsingException;
/**
* Creates SCC events for all commits reachable from branchRef. I.e. create SCCs for already
diff --git a/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/EiffelEventParserImpl.java b/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/EiffelEventParserImpl.java
index f4db832..b2320b5 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/EiffelEventParserImpl.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/EiffelEventParserImpl.java
@@ -28,8 +28,6 @@
import com.google.gerrit.entities.RefNames;
import com.google.gerrit.exceptions.NoSuchEntityException;
import com.google.gerrit.extensions.common.AccountInfo;
-import com.google.gerrit.extensions.common.CommitInfo;
-import com.google.gerrit.extensions.events.RevisionCreatedListener.Event;
import com.google.gerrit.server.git.GitRepositoryManager;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -92,29 +90,27 @@
* @see com.googlesource.gerrit.plugins.eventseiffel.parsing.EiffelEventParser#createAndScheduleSccFromEvent(com.google.gerrit.extensions.events.RevisionCreatedListener.Event)
*/
@Override
- public void createAndScheduleSccFromEvent(Event event) throws EventParsingException {
- CommitInfo commit = event.getRevision().commit;
+ public void createAndScheduleSccFromPatchsetCreation(PatchsetCreationData data)
+ throws EventParsingException {
SourceChangeEventKey scc =
- SourceChangeEventKey.sccKey(
- event.getChange().project, event.getChange().branch, commit.commit);
+ SourceChangeEventKey.sccKey(data.project, data.branch, data.commitId);
try {
if (eventHub.getExistingId(scc).isPresent()) {
logger.atWarning().log(
- "Event %s already pushed for %d/%d",
- scc, event.getChange()._number, event.getRevision()._number);
+ "Event %s already pushed for %d/%d", scc, data.changeNumber, data.patchsetNumber);
return;
}
List<UUID> parentUuids = Lists.newArrayList();
- for (CommitInfo parent : commit.parents) {
- Optional<UUID> parentUuid = eventHub.getExistingId(scc.copy(parent.commit));
+ for (String parentId : data.parentCommitIds) {
+ Optional<UUID> parentUuid = eventHub.getExistingId(scc.copy(parentId));
if (parentUuid.isPresent()) {
parentUuids.add(parentUuid.get());
}
}
/* Eiffel events have been scheduled or published for all parents. */
- if (parentUuids.size() == commit.parents.size()) {
- pushToHub(mapper.toScc(event, parentUuids));
+ if (parentUuids.size() == data.parentCommitIds.size()) {
+ pushToHub(mapper.toScc(data, parentUuids));
} else {
createAndScheduleMissingSccs(scc);
}
@@ -126,9 +122,9 @@
throw new EventParsingException(
e,
"Event creation failed for: %s, %s, %s to SCC.",
- event.getChange().project,
- event.getChange().branch,
- event.getRevision().commit.commit);
+ data.project,
+ data.branch,
+ data.commitId);
}
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/EiffelEventParsingQueue.java b/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/EiffelEventParsingQueue.java
index 01d5233..7fd9f25 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/EiffelEventParsingQueue.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/EiffelEventParsingQueue.java
@@ -182,9 +182,9 @@
try {
switch (task.type) {
case SCC:
- if (task.patchsetCreatedEvent != null) {
+ if (task.patchsetCreationData != null) {
append = ", from event, ";
- eventParser.createAndScheduleSccFromEvent(task.patchsetCreatedEvent);
+ eventParser.createAndScheduleSccFromPatchsetCreation(task.patchsetCreationData);
} else if (task.commitId != null) {
eventParser.createAndScheduleSccFromCommit(
task.repoName, task.branchRefOrTag, task.commitId);
diff --git a/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/ParsingQueueTask.java b/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/ParsingQueueTask.java
index 245c4b3..b35ff1b 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/ParsingQueueTask.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/ParsingQueueTask.java
@@ -46,7 +46,7 @@
private Long _updateTime = null;
private Boolean _force = null;
private String _previousTip = null;
- private RevisionCreatedListener.Event _patchsetCreatedEvent;
+ private PatchsetCreationData _patchsetCreationData;
private Builder(EiffelEventType type, String repoName, String branchRefOrTag) {
this._type = type;
@@ -55,7 +55,7 @@
}
private Builder(RevisionCreatedListener.Event event) {
- this._patchsetCreatedEvent = event;
+ this._patchsetCreationData = new PatchsetCreationData(event);
}
public Builder commit(String commitId) {
@@ -84,8 +84,8 @@
}
public ParsingQueueTask build() {
- if (this._patchsetCreatedEvent != null) {
- return new ParsingQueueTask(_patchsetCreatedEvent);
+ if (this._patchsetCreationData != null) {
+ return new ParsingQueueTask(_patchsetCreationData);
}
return new ParsingQueueTask(
this._type,
@@ -107,7 +107,7 @@
final Long updateTime;
final Boolean force;
final String previousTip;
- final RevisionCreatedListener.Event patchsetCreatedEvent;
+ final PatchsetCreationData patchsetCreationData;
private ParsingQueueTask(
EiffelEventType type,
@@ -129,19 +129,19 @@
this.updateTime = updateTime;
this.previousTip = previousTip;
this.force = force;
- this.patchsetCreatedEvent = null;
+ this.patchsetCreationData = null;
}
- private ParsingQueueTask(RevisionCreatedListener.Event patchsetCreatedEvent) {
+ private ParsingQueueTask(PatchsetCreationData data) {
this.type = EiffelEventType.SCC;
- this.repoName = patchsetCreatedEvent.getChange().project;
- this.branchRefOrTag = patchsetCreatedEvent.getChange().branch;
- this.commitId = patchsetCreatedEvent.getRevision().commit.commit;
+ this.repoName = data.project;
+ this.branchRefOrTag = data.branch;
+ this.commitId = data.commitId;
this.updater = null;
this.updateTime = null;
this.previousTip = null;
this.force = null;
- this.patchsetCreatedEvent = patchsetCreatedEvent;
+ this.patchsetCreationData = data;
}
@Override
diff --git a/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/PatchsetCreationData.java b/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/PatchsetCreationData.java
new file mode 100644
index 0000000..c0ebb7e
--- /dev/null
+++ b/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/PatchsetCreationData.java
@@ -0,0 +1,44 @@
+// Copyright (C) 2022 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.eventseiffel.parsing;
+
+import com.google.gerrit.extensions.common.GitPerson;
+import com.google.gerrit.extensions.events.RevisionCreatedListener;
+import java.util.List;
+import java.util.stream.Collectors;
+
+public class PatchsetCreationData {
+ public final GitPerson author;
+ public final String project;
+ public final String branch;
+ public final String commitId;
+ public final List<String> parentCommitIds;
+ public final int changeNumber;
+ public final int patchsetNumber;
+ public final long createdAt;
+
+ public PatchsetCreationData(RevisionCreatedListener.Event event) {
+ this.author = event.getRevision().commit.author;
+ this.project = event.getChange().project;
+ this.branch = event.getChange().branch;
+ this.commitId = event.getRevision().commit.commit;
+ this.parentCommitIds =
+ event.getRevision().commit.parents.stream()
+ .map(ci -> ci.commit)
+ .collect(Collectors.toList());
+ this.changeNumber = event.getChange()._number;
+ this.patchsetNumber = event.getRevision()._number;
+ this.createdAt = event.getWhen().getTime();
+ }
+}
diff --git a/src/test/java/com/googlesource/gerrit/plugins/eventseiffel/TestEventPublisher.java b/src/test/java/com/googlesource/gerrit/plugins/eventseiffel/TestEventPublisher.java
index 37e93f2..7b4569e 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/eventseiffel/TestEventPublisher.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/eventseiffel/TestEventPublisher.java
@@ -16,6 +16,7 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNull;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
@@ -32,6 +33,9 @@
@Ignore
public class TestEventPublisher implements Runnable, EiffelEventHub.Consumer {
+ /* Milliseconds after which the publisher-thread is expected to have handled the event. */
+ public static int MILLIS_TO_WAIT = 500;
+
Map<EventKey, EiffelEvent> publishedEvents = Maps.newConcurrentMap();
List<EventKey> actualOrder = Lists.newArrayList();
boolean keepTrying = true;
@@ -88,8 +92,20 @@
keys.size());
}
- public EiffelEvent getPublished(EventKey key) {
+ public void assertNotPublished(EventKey key, String message) {
waitForIt();
+ EiffelEvent event = publishedEvents.getOrDefault(key, null);
+ assertNull(message, event);
+ }
+
+ public EiffelEvent getPublished(EventKey key) {
+ int wait = 50;
+ for (int totalWait = 0; totalWait < MILLIS_TO_WAIT; totalWait += wait) {
+ if (publishedEvents.containsKey(key)) {
+ return publishedEvents.get(key);
+ }
+ waitFor(wait);
+ }
return publishedEvents.getOrDefault(key, null);
}
@@ -106,10 +122,13 @@
pause = true;
}
- /* Give the publisher-thread some time to handle events. */
private void waitForIt() {
+ waitFor(MILLIS_TO_WAIT);
+ }
+
+ private void waitFor(int millis) {
try {
- Thread.sleep(500);
+ Thread.sleep(millis);
} catch (InterruptedException e) {
e.printStackTrace();
}
diff --git a/src/test/java/com/googlesource/gerrit/plugins/eventseiffel/listeners/GerritEventListenersIT.java b/src/test/java/com/googlesource/gerrit/plugins/eventseiffel/listeners/GerritEventListenersIT.java
index 0527b19..4d0d44d 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/eventseiffel/listeners/GerritEventListenersIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/eventseiffel/listeners/GerritEventListenersIT.java
@@ -18,7 +18,6 @@
import static com.googlesource.gerrit.plugins.eventseiffel.eiffel.dto.EiffelEventType.SCS;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
import com.google.common.collect.Lists;
import com.google.gerrit.acceptance.PushOneCommit;
@@ -87,8 +86,8 @@
@Test
public void patchSetCreatedForMetaDoesntResultsInEvent() throws Exception {
- EiffelEvent event = publisher.getPublished(toSccKey(createMetaConfigChange()));
- assertNull("refs/meta/config change shouldn't result in event", event);
+ publisher.assertNotPublished(
+ toSccKey(createMetaConfigChange()), "refs/meta/config change shouldn't result in event");
}
@Test
@@ -154,49 +153,45 @@
@Test
public void patchSetSubmittedForMetaDoesntResultsInEvent() throws Exception {
PushOneCommit.Result res = createMetaConfigChange();
- SourceChangeEventKey sccKey = toSccKey(res);
- EiffelEvent sccEvent = publisher.getPublished(sccKey);
- assertNull("refs/meta/config change shouldn't result in event", sccEvent);
+ publisher.assertNotPublished(
+ toSccKey(res), "refs/meta/config change shouldn't result in event");
+
merge(res);
- EiffelEvent scsEvent = publisher.getPublished(sccKey.copy(SCS));
- assertNull("refs/meta/config change shouldn't result in event", scsEvent);
+ publisher.assertNotPublished(
+ toScsKey(res), "refs/meta/config change shouldn't result in event");
}
@Test
public void noEventsCreatedWhenDisabled() throws Exception {
TestEventListenersConfigProvider.disable();
PushOneCommit.Result res = createChange();
- SourceChangeEventKey sccKey = toSccKey(res);
- EiffelEvent sccEvent = publisher.getPublished(sccKey);
- assertNull("Patch-set created shouldn't result in event when disabled", sccEvent);
+ publisher.assertNotPublished(
+ toSccKey(res), "Patch-set created shouldn't result in event when disabled");
merge(res);
- EiffelEvent scsEvent = publisher.getPublished(sccKey.copy(SCS));
- assertNull("Patch-set submitted shouldn't result in event when disabled", scsEvent);
+ publisher.assertNotPublished(
+ toScsKey(res), "Patch-set submitted shouldn't result in event when disabled");
}
@Test
public void noEventsCreatedWhenRefIsBlocked() throws Exception {
TestEventsFilterProvider.setBlockedRefPatterns("refs/heads/master");
PushOneCommit.Result res = createChange();
- SourceChangeEventKey sccKey = toSccKey(res);
- EiffelEvent sccEvent = publisher.getPublished(sccKey);
- assertNull("Patch-set created shouldn't result in event when target ref is blocked", sccEvent);
+ publisher.assertNotPublished(
+ toSccKey(res), "Patch-set created shouldn't result in event when target ref is blocked");
merge(res);
- EiffelEvent scsEvent = publisher.getPublished(sccKey.copy(SCS));
- assertNull(
- "Patch-set submitted shouldn't result in event when target ref is blocked", scsEvent);
+ publisher.assertNotPublished(
+ toScsKey(res), "Patch-set submitted shouldn't result in event when target ref is blocked");
}
@Test
public void noEventsCreatedWhenProjectIsBlocked() throws Exception {
TestEventsFilterProvider.setBlockedProjectPatterns(project.get());
PushOneCommit.Result res = createChange();
- SourceChangeEventKey sccKey = toSccKey(res);
- EiffelEvent sccEvent = publisher.getPublished(sccKey);
- assertNull("Patch-set created shouldn't result in event when project is blocked", sccEvent);
+ publisher.assertNotPublished(
+ toSccKey(res), "Patch-set created shouldn't result in event when project is blocked");
merge(res);
- EiffelEvent scsEvent = publisher.getPublished(sccKey.copy(SCS));
- assertNull("Patch-set submitted shouldn't result in event when project is blocked", scsEvent);
+ publisher.assertNotPublished(
+ toScsKey(res), "Patch-set submitted shouldn't result in event when project is blocked");
}
@Test
@@ -237,16 +232,13 @@
String tagName = createTagRef(true).substring(RefNames.REFS_TAGS.length());
EventKey artcKey = ArtifactEventKey.create(tagPURL(project.get(), tagName));
- EiffelEvent artcEvent = publisher.getPublished(artcKey);
- assertNull("Publisher found ARTC event", artcEvent);
+ publisher.assertNotPublished(artcKey, "Publisher found ARTC event");
EventKey cdKey = CompositionDefinedEventKey.create(tagCompositionName(project.get()), tagName);
- EiffelEvent cdEvent = publisher.getPublished(cdKey);
- assertNull("Publisher found CD event", cdEvent);
+ publisher.assertNotPublished(cdKey, "Publisher found CD event");
EventKey scsKey = SourceChangeEventKey.scsKey(project.get(), "master", getMaster());
- EiffelEvent scsEvent = publisher.getPublished(scsKey);
- assertNull("Publisher found SCS event", scsEvent);
+ publisher.assertNotPublished(scsKey, "Publisher found SCS event");
}
@Test
diff --git a/src/test/java/com/googlesource/gerrit/plugins/eventseiffel/mapping/EventMappingIT.java b/src/test/java/com/googlesource/gerrit/plugins/eventseiffel/mapping/EventMappingIT.java
index ee2b553..94301f7 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/eventseiffel/mapping/EventMappingIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/eventseiffel/mapping/EventMappingIT.java
@@ -48,6 +48,7 @@
import com.googlesource.gerrit.plugins.eventseiffel.eiffel.dto.EiffelPersonInfo;
import com.googlesource.gerrit.plugins.eventseiffel.eiffel.dto.EiffelSourceChangeCreatedEventInfo;
import com.googlesource.gerrit.plugins.eventseiffel.eiffel.dto.EiffelSourceChangeSubmittedEventInfo;
+import com.googlesource.gerrit.plugins.eventseiffel.parsing.PatchsetCreationData;
import java.net.URLEncoder;
import java.sql.Timestamp;
import java.time.Instant;
@@ -82,8 +83,9 @@
}
@Test
- public void sccFromRevisionCreatedEvent() throws Exception {
- EiffelSourceChangeCreatedEventInfo event = mapper.toScc(new TestEvent(), PARENT_UUIDS);
+ public void sccFromPatchsetCreationData() throws Exception {
+ EiffelSourceChangeCreatedEventInfo event =
+ mapper.toScc(new PatchsetCreationData(new TestEvent()), PARENT_UUIDS);
assertPersonInfo(event.data.author, AUTHOR_NAME, AUTHOR_EMAIL, null);
assertGitIdentifier(event.data.gitIdentifier, REPO_NAME, BRANCH, COMMIT_SHA1);
assertChangeInfo(event.data.change, String.valueOf(CHANGE_NUMBER), REPO_NAME, COMMIT_SHA1);
@@ -342,6 +344,7 @@
author.email = AUTHOR_EMAIL;
author.name = AUTHOR_NAME;
cInfo.author = author;
+ cInfo.parents = List.of();
RevisionInfo rInfo = new RevisionInfo();
rInfo.commit = cInfo;
return rInfo;
diff --git a/src/test/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/ParsingQueuePersistenceIT.java b/src/test/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/ParsingQueuePersistenceIT.java
index 0923634..8c9ed72 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/ParsingQueuePersistenceIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/eventseiffel/parsing/ParsingQueuePersistenceIT.java
@@ -21,7 +21,6 @@
import com.google.gerrit.acceptance.UseLocalDisk;
import com.google.gerrit.entities.Project;
import com.google.gerrit.extensions.common.AccountInfo;
-import com.google.gerrit.extensions.events.RevisionCreatedListener.Event;
import com.google.gerrit.server.git.ProjectRunnable;
import com.google.inject.AbstractModule;
import com.google.inject.Provider;
@@ -190,7 +189,7 @@
public NoOpEventParser() {}
@Override
- public void createAndScheduleSccFromEvent(Event event) {}
+ public void createAndScheduleSccFromPatchsetCreation(PatchsetCreationData data) {}
@Override
public void createAndScheduleSccFromBranch(String repoName, String branchRef) {}
diff --git a/src/test/java/com/googlesource/gerrit/plugins/eventseiffel/rest/EventsEiffelRestIT.java b/src/test/java/com/googlesource/gerrit/plugins/eventseiffel/rest/EventsEiffelRestIT.java
index 691acf1..e1c4598 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/eventseiffel/rest/EventsEiffelRestIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/eventseiffel/rest/EventsEiffelRestIT.java
@@ -18,7 +18,6 @@
import static com.googlesource.gerrit.plugins.eventseiffel.eiffel.dto.EiffelEventType.SCC;
import static com.googlesource.gerrit.plugins.eventseiffel.eiffel.dto.EiffelEventType.SCS;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
import com.google.gerrit.acceptance.PushOneCommit;
import com.google.gerrit.acceptance.RestResponse;
@@ -84,9 +83,8 @@
@Test
public void createSccsAsNonAdminForbidden() throws Exception {
createSccs("master", false).assertStatus(403);
- SourceChangeEventKey scc = keyFromMaster(SCC);
- EiffelEvent event = publisher.getPublished(scc);
- assertNull(event);
+ publisher.assertNotPublished(
+ keyFromMaster(SCC), "SCC event creation should be blocked for non admin");
}
@Test
@@ -111,9 +109,8 @@
@Test
public void createScssAsNonAdminForbidden() throws Exception {
createScss("master", false).assertStatus(403);
- SourceChangeEventKey scs = keyFromMaster(SCS);
- EiffelEvent event = publisher.getPublished(scs);
- assertNull(event);
+ publisher.assertNotPublished(
+ keyFromMaster(SCS), "SCS event creation should be blocked for non admin");
}
@Test
@@ -134,9 +131,9 @@
public void createArtcAsNonAdminForbidden() throws Exception {
String tagName = createTagRef(true).substring(RefNames.REFS_TAGS.length());
createArtcs(tagName, false).assertStatus(403);
- ArtifactEventKey artc = ArtifactEventKey.create(tagPURL(project.get(), tagName));
- EiffelEvent event = publisher.getPublished(artc);
- assertNull(event);
+ publisher.assertNotPublished(
+ ArtifactEventKey.create(tagPURL(project.get(), tagName)),
+ "ArtC event creation should be blocked for non admin");
}
@Test