From 25ec43929631e57ede97b6703083aa5b900c29b7 Mon Sep 17 00:00:00 2001 From: Yaraslau Supanitski Date: Mon, 10 Dec 2018 21:37:03 +0300 Subject: [PATCH 1/5] rename Action closed to close State - closed, Action - close --- .../com/dabsquared/gitlabjenkins/gitlab/hook/model/Action.java | 2 +- .../handler/merge/MergeRequestHookTriggerHandlerFactory.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/dabsquared/gitlabjenkins/gitlab/hook/model/Action.java b/src/main/java/com/dabsquared/gitlabjenkins/gitlab/hook/model/Action.java index eb108d263..78deaab91 100644 --- a/src/main/java/com/dabsquared/gitlabjenkins/gitlab/hook/model/Action.java +++ b/src/main/java/com/dabsquared/gitlabjenkins/gitlab/hook/model/Action.java @@ -4,5 +4,5 @@ * @author Robin Müller */ public enum Action { - open, update, approved, merge, closed, reopen + open, update, approved, merge, close, reopen } diff --git a/src/main/java/com/dabsquared/gitlabjenkins/trigger/handler/merge/MergeRequestHookTriggerHandlerFactory.java b/src/main/java/com/dabsquared/gitlabjenkins/trigger/handler/merge/MergeRequestHookTriggerHandlerFactory.java index 7ee7b47e0..167be9803 100644 --- a/src/main/java/com/dabsquared/gitlabjenkins/trigger/handler/merge/MergeRequestHookTriggerHandlerFactory.java +++ b/src/main/java/com/dabsquared/gitlabjenkins/trigger/handler/merge/MergeRequestHookTriggerHandlerFactory.java @@ -37,7 +37,7 @@ public static MergeRequestHookTriggerHandler newMergeRequestHookTriggerHandler(b .acceptOnlyIf(triggerOnApprovedMergeRequest, null, of(Action.approved)) .acceptIf(triggerOnMergeRequest, of(State.opened, State.reopened), null) .acceptIf(triggerOnAcceptedMergeRequest, null, of(Action.merge)) - .acceptIf(triggerOnClosedMergeRequest, null, of(Action.closed)) + .acceptIf(triggerOnClosedMergeRequest, null, of(Action.close)) .acceptIf(triggerOpenMergeRequest != TriggerOpenMergeRequest.never, of(State.updated), null) ; From 838b382904294841d0acf396aa4b3b74f60a027b Mon Sep 17 00:00:00 2001 From: Yaraslau Supanitski Date: Mon, 10 Dec 2018 21:38:15 +0300 Subject: [PATCH 2/5] fix logic for close and closed MR --- .../handler/merge/MergeRequestHookTriggerHandlerFactory.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/dabsquared/gitlabjenkins/trigger/handler/merge/MergeRequestHookTriggerHandlerFactory.java b/src/main/java/com/dabsquared/gitlabjenkins/trigger/handler/merge/MergeRequestHookTriggerHandlerFactory.java index 167be9803..c839f1d47 100644 --- a/src/main/java/com/dabsquared/gitlabjenkins/trigger/handler/merge/MergeRequestHookTriggerHandlerFactory.java +++ b/src/main/java/com/dabsquared/gitlabjenkins/trigger/handler/merge/MergeRequestHookTriggerHandlerFactory.java @@ -38,6 +38,7 @@ public static MergeRequestHookTriggerHandler newMergeRequestHookTriggerHandler(b .acceptIf(triggerOnMergeRequest, of(State.opened, State.reopened), null) .acceptIf(triggerOnAcceptedMergeRequest, null, of(Action.merge)) .acceptIf(triggerOnClosedMergeRequest, null, of(Action.close)) + .acceptIf(triggerOnClosedMergeRequest, of(State.closed), null) .acceptIf(triggerOpenMergeRequest != TriggerOpenMergeRequest.never, of(State.updated), null) ; From 6d010238fdc4359957738cb821023a06a878437a Mon Sep 17 00:00:00 2001 From: Yaraslau Supanitski Date: Mon, 10 Dec 2018 21:40:25 +0300 Subject: [PATCH 3/5] fix logic for update action into MR and flag never we set it on 1st place because the more important type of hook than flag approved or not. Also update action often came with opened state. --- .../handler/merge/MergeRequestHookTriggerHandlerFactory.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/dabsquared/gitlabjenkins/trigger/handler/merge/MergeRequestHookTriggerHandlerFactory.java b/src/main/java/com/dabsquared/gitlabjenkins/trigger/handler/merge/MergeRequestHookTriggerHandlerFactory.java index c839f1d47..c9db87da8 100644 --- a/src/main/java/com/dabsquared/gitlabjenkins/trigger/handler/merge/MergeRequestHookTriggerHandlerFactory.java +++ b/src/main/java/com/dabsquared/gitlabjenkins/trigger/handler/merge/MergeRequestHookTriggerHandlerFactory.java @@ -34,12 +34,12 @@ public static MergeRequestHookTriggerHandler newMergeRequestHookTriggerHandler(b TriggerConfigChain chain = new TriggerConfigChain(); chain + .acceptOnlyIf(triggerOpenMergeRequest != TriggerOpenMergeRequest.never, of(State.opened, State.updated), of(Action.update)) .acceptOnlyIf(triggerOnApprovedMergeRequest, null, of(Action.approved)) .acceptIf(triggerOnMergeRequest, of(State.opened, State.reopened), null) .acceptIf(triggerOnAcceptedMergeRequest, null, of(Action.merge)) .acceptIf(triggerOnClosedMergeRequest, null, of(Action.close)) .acceptIf(triggerOnClosedMergeRequest, of(State.closed), null) - .acceptIf(triggerOpenMergeRequest != TriggerOpenMergeRequest.never, of(State.updated), null) ; Set labelsThatForcesBuildIfAddedSet = Stream.of(split(trimToEmpty(labelsThatForcesBuildIfAdded), ",")).collect(toSet()); From 3a6d6e8cffbf8d5e006041ce538b0b5ef5ba7ab5 Mon Sep 17 00:00:00 2001 From: Yaraslau Supanitski Date: Mon, 10 Dec 2018 21:42:04 +0300 Subject: [PATCH 4/5] update tests --- ...ergeRequestHookTriggerHandlerImplTest.java | 44 ++++++++++++++++--- 1 file changed, 38 insertions(+), 6 deletions(-) diff --git a/src/test/java/com/dabsquared/gitlabjenkins/trigger/handler/merge/MergeRequestHookTriggerHandlerImplTest.java b/src/test/java/com/dabsquared/gitlabjenkins/trigger/handler/merge/MergeRequestHookTriggerHandlerImplTest.java index 4b059378b..e03e69890 100644 --- a/src/test/java/com/dabsquared/gitlabjenkins/trigger/handler/merge/MergeRequestHookTriggerHandlerImplTest.java +++ b/src/test/java/com/dabsquared/gitlabjenkins/trigger/handler/merge/MergeRequestHookTriggerHandlerImplTest.java @@ -80,13 +80,35 @@ public void mergeRequest_ciSkip() throws IOException, InterruptedException { } @Test - public void mergeRequest_build_when_opened() throws IOException, InterruptedException, GitAPIException, ExecutionException { - MergeRequestHookTriggerHandler mergeRequestHookTriggerHandler = withConfig().build(); + public void mergeRequest_build_when_opened_with_source() throws IOException, InterruptedException, GitAPIException, ExecutionException { + MergeRequestHookTriggerHandler mergeRequestHookTriggerHandler = withConfig() + .setTriggerOpenMergeRequest(TriggerOpenMergeRequest.source) + .build(); OneShotEvent buildTriggered = doHandle(mergeRequestHookTriggerHandler, State.opened); assertThat(buildTriggered.isSignaled(), is(true)); } + @Test + public void mergeRequest_build_when_opened_with_both() throws IOException, InterruptedException, GitAPIException, ExecutionException { + MergeRequestHookTriggerHandler mergeRequestHookTriggerHandler = withConfig() + .setTriggerOpenMergeRequest(TriggerOpenMergeRequest.source) + .build(); + OneShotEvent buildTriggered = doHandle(mergeRequestHookTriggerHandler, State.opened); + + assertThat(buildTriggered.isSignaled(), is(true)); + } + + @Test + public void mergeRequest_build_when_opened_with_never() throws IOException, InterruptedException, GitAPIException, ExecutionException { + MergeRequestHookTriggerHandler mergeRequestHookTriggerHandler = withConfig() + .setTriggerOpenMergeRequest(TriggerOpenMergeRequest.never) + .build(); + OneShotEvent buildTriggered = doHandle(mergeRequestHookTriggerHandler, State.opened, Action.update); + + assertThat(buildTriggered.isSignaled(), is(false)); + } + @Test public void mergeRequest_build_when_reopened() throws IOException, InterruptedException, GitAPIException, ExecutionException { MergeRequestHookTriggerHandler mergeRequestHookTriggerHandler = withConfig() @@ -100,6 +122,7 @@ public void mergeRequest_build_when_reopened() throws IOException, InterruptedEx public void mergeRequest_build_when_opened_with_approved_action_enabled() throws IOException, InterruptedException, GitAPIException, ExecutionException { MergeRequestHookTriggerHandler mergeRequestHookTriggerHandler = withConfig() .setTriggerOnApprovedMergeRequest(true) + .setTriggerOpenMergeRequest(TriggerOpenMergeRequest.source) .build(); OneShotEvent buildTriggered = doHandle(mergeRequestHookTriggerHandler, State.opened); @@ -133,7 +156,17 @@ public void mergeRequest_build_when_closed() throws IOException, InterruptedExce MergeRequestHookTriggerHandler mergeRequestHookTriggerHandler = withConfig() .setTriggerOnClosedMergeRequest(true) .build(); - OneShotEvent buildTriggered = doHandle(mergeRequestHookTriggerHandler, State.closed, Action.closed); + OneShotEvent buildTriggered = doHandle(mergeRequestHookTriggerHandler, State.closed, Action.close); + + assertThat(buildTriggered.isSignaled(), is(true)); + } + + @Test + public void mergeRequest_build_when_close() throws IOException, InterruptedException, GitAPIException, ExecutionException { + MergeRequestHookTriggerHandler mergeRequestHookTriggerHandler = withConfig() + .setTriggerOnClosedMergeRequest(true) + .build(); + OneShotEvent buildTriggered = doHandle(mergeRequestHookTriggerHandler, Action.close); assertThat(buildTriggered.isSignaled(), is(true)); } @@ -144,7 +177,7 @@ public void mergeRequest_build_when_closed_with_actions_enabled() throws IOExcep .setTriggerOnClosedMergeRequest(true) .setTriggerOnApprovedMergeRequest(true) .build(); - OneShotEvent buildTriggered = doHandle(mergeRequestHookTriggerHandler, State.closed, Action.closed); + OneShotEvent buildTriggered = doHandle(mergeRequestHookTriggerHandler, State.closed, Action.close); assertThat(buildTriggered.isSignaled(), is(true)); } @@ -205,7 +238,6 @@ public void mergeRequest_do_not_build_when_closed() throws IOException, Interrup @Test public void mergeRequest_do_not_build_for_updated_state_and_approved_action_when_both_not_enabled() throws IOException, InterruptedException, GitAPIException { MergeRequestHookTriggerHandler mergeRequestHookTriggerHandler = withConfig() - .setTriggerOpenMergeRequest(TriggerOpenMergeRequest.source) .build(); OneShotEvent buildTriggered = doHandle(mergeRequestHookTriggerHandler, State.updated, Action.approved); @@ -483,7 +515,7 @@ public boolean perform(AbstractBuild build, Launcher launcher, BuildListen private MergeRequestObjectAttributesBuilder defaultMergeRequestObjectAttributes() { return mergeRequestObjectAttributes() .withIid(1) - .withAction(Action.update) + .withAction(Action.open) .withState(State.opened) .withTitle("test") .withTargetProjectId(1) From 2e9bed328400eae8b9a0389013bd6ea728f659b5 Mon Sep 17 00:00:00 2001 From: Brady Pratt Date: Mon, 25 Jul 2022 07:49:00 -0500 Subject: [PATCH 5/5] fix merge handler tests with never rebuild feature Signed-off-by: Brady Pratt --- .../handler/merge/MergeRequestHookTriggerHandlerImplTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/dabsquared/gitlabjenkins/trigger/handler/merge/MergeRequestHookTriggerHandlerImplTest.java b/src/test/java/com/dabsquared/gitlabjenkins/trigger/handler/merge/MergeRequestHookTriggerHandlerImplTest.java index e03e69890..63c2c320d 100644 --- a/src/test/java/com/dabsquared/gitlabjenkins/trigger/handler/merge/MergeRequestHookTriggerHandlerImplTest.java +++ b/src/test/java/com/dabsquared/gitlabjenkins/trigger/handler/merge/MergeRequestHookTriggerHandlerImplTest.java @@ -368,7 +368,7 @@ public void mergeRequest_build_only_when_state_modified()throws IOException, Int MergeRequestHookTriggerHandler mergeRequestHookTriggerHandler = withConfig() .setTriggerOnAcceptedMergeRequest(true) .setTriggerOnClosedMergeRequest(true) - .setTriggerOpenMergeRequest(TriggerOpenMergeRequest.never) + .setTriggerOpenMergeRequest(TriggerOpenMergeRequest.source) .build(); Git.init().setDirectory(tmp.getRoot()).call(); tmp.newFile("test");