fix(events): deliver mergeability events on owner topics
- commit
- 4476ae5858820f58dd4c8a127bfecb9f064f1dcc
- author
- brice · · 2026-10-19 14:52 UTC
- parent
- 9fec184
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
2 files · +14 -1
M internal/usecase/events.go +1 -1
| @@ -649,7 +649,7 @@ func isRepoLifecycleEvent(ev domain.Event) bool { | |||
| 649 | 649 | func isItemEvent(ev domain.Event) bool { | |
| 650 | 650 | switch ev.(type) { | |
| 651 | 651 | case domain.MergeRequestOpened, domain.MergeRequestMerged, domain.MergeRequestClosed, | |
| 652 | - | domain.MergeRequestReady, domain.CommentAdded, | |
| 652 | + | domain.MergeRequestReady, domain.MergeRequestMergeability, domain.CommentAdded, | |
| 653 | 653 | domain.CommentEdited, domain.CommentDeleted, domain.CommentResolved: | |
| 654 | 654 | return true | |
| 655 | 655 | } | |
| @@ -649,7 +649,7 @@ func isRepoLifecycleEvent(ev domain.Event) bool { | |||||
| 649 | func isItemEvent(ev domain.Event) bool { | 649 | func isItemEvent(ev domain.Event) bool { | ||
| 650 | switch ev.(type) { | 650 | switch ev.(type) { | ||
| 651 | case domain.MergeRequestOpened, domain.MergeRequestMerged, domain.MergeRequestClosed, | 651 | case domain.MergeRequestOpened, domain.MergeRequestMerged, domain.MergeRequestClosed, | ||
| 652 | - | domain.MergeRequestReady, domain.CommentAdded, | 652 | + | domain.MergeRequestReady, domain.MergeRequestMergeability, domain.CommentAdded, |
| 653 | domain.CommentEdited, domain.CommentDeleted, domain.CommentResolved: | 653 | domain.CommentEdited, domain.CommentDeleted, domain.CommentResolved: | ||
| 654 | return true | 654 | return true | ||
| 655 | } | 655 | } | ||
M internal/usecase/events_test.go +13 -0
| @@ -997,3 +997,16 @@ func TestNoteMutationEventVisibility(t *testing.T) { | |||
| 997 | 997 | } | |
| 998 | 998 | }) | |
| 999 | 999 | } | |
| 1000 | + | ||
| 1001 | + | func TestMergeabilityEventReachesOwnerTopic(t *testing.T) { | |
| 1002 | + | synctest.Test(t, func(t *testing.T) { | |
| 1003 | + | r := newEventRig(t, 0) | |
| 1004 | + | priv := r.repo("priv", domain.VisibilityPrivate) | |
| 1005 | + | ctx, cancel := context.WithCancel(context.Background()) | |
| 1006 | + | defer cancel() | |
| 1007 | + | owner := r.watch(ctx, domain.Root(), ports.WatchParams{Topics: []string{"repo:priv"}}) | |
| 1008 | + | synctest.Wait() | |
| 1009 | + | r.feed <- domain.MergeRequestMergeability{Repo: priv, Number: 1, Visibility: domain.VisibilityPrivate, CreatedAt: now, At: now} | |
| 1010 | + | assert.Equal(t, priv, owner.next(t).Event.(domain.MergeRequestMergeability).Repo) | |
| 1011 | + | }) | |
| 1012 | + | } | |
| @@ -997,3 +997,16 @@ func TestNoteMutationEventVisibility(t *testing.T) { | |||||
| 997 | } | 997 | } | ||
| 998 | }) | 998 | }) | ||
| 999 | } | 999 | } | ||
| 1000 | + | ||||
| 1001 | + | func TestMergeabilityEventReachesOwnerTopic(t *testing.T) { | |||
| 1002 | + | synctest.Test(t, func(t *testing.T) { | |||
| 1003 | + | r := newEventRig(t, 0) | |||
| 1004 | + | priv := r.repo("priv", domain.VisibilityPrivate) | |||
| 1005 | + | ctx, cancel := context.WithCancel(context.Background()) | |||
| 1006 | + | defer cancel() | |||
| 1007 | + | owner := r.watch(ctx, domain.Root(), ports.WatchParams{Topics: []string{"repo:priv"}}) | |||
| 1008 | + | synctest.Wait() | |||
| 1009 | + | r.feed <- domain.MergeRequestMergeability{Repo: priv, Number: 1, Visibility: domain.VisibilityPrivate, CreatedAt: now, At: now} | |||
| 1010 | + | assert.Equal(t, priv, owner.next(t).Event.(domain.MergeRequestMergeability).Repo) | |||
| 1011 | + | }) | |||
| 1012 | + | } | |||