Skip to content

Commit 9f43d1c

Browse files
committed
fix
Signed-off-by: Abhishek Kumar <[email protected]>
1 parent 97cb23d commit 9f43d1c

File tree

3 files changed

+19
-2
lines changed

3 files changed

+19
-2
lines changed

plugins/event-bus/webhook/src/main/java/org/apache/cloudstack/mom/webhook/dao/WebhookDeliveryDaoImpl.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@ public void removeOlderDeliveries(long webhookId, long limit) {
6464
SearchCriteria<WebhookDeliveryVO> sc = sb.create();
6565
sc.setParameters("webhookId", webhookId);
6666
List<WebhookDeliveryVO> keep = listBy(sc, searchFilter);
67+
if (keep.size() < limit) {
68+
return;
69+
}
6770
SearchBuilder<WebhookDeliveryVO> sbDelete = createSearchBuilder();
6871
sbDelete.and("id", sbDelete.entity().getId(), SearchCriteria.Op.NOTIN);
6972
SearchCriteria<WebhookDeliveryVO> scDelete = sbDelete.create();

plugins/event-bus/webhook/src/test/java/org/apache/cloudstack/mom/webhook/dao/WebhookDeliveryDaoImplTest.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,11 @@
2222
import static org.mockito.ArgumentMatchers.eq;
2323
import static org.mockito.Mockito.doReturn;
2424
import static org.mockito.Mockito.mock;
25+
import static org.mockito.Mockito.never;
2526
import static org.mockito.Mockito.verify;
2627
import static org.mockito.Mockito.when;
2728

29+
import java.util.Collections;
2830
import java.util.Date;
2931
import java.util.List;
3032

@@ -92,7 +94,7 @@ public void deleteByDeleteApiParamsReturnsZeroWhenNoMatchFound() {
9294

9395
@Test
9496
public void removeOlderDeliveriesWhenParametersMatch() {
95-
Long webhookId = 2L;
97+
long webhookId = 2L;
9698

9799
WebhookDeliveryVO d1 = mock(WebhookDeliveryVO.class);
98100
when(d1.getId()).thenReturn(1L);
@@ -109,4 +111,16 @@ public void removeOlderDeliveriesWhenParametersMatch() {
109111
verify(mockSearchBuilder).and(eq("id"), any(), eq(SearchCriteria.Op.NOTIN));
110112
verify(mockSearchCriteria).setParameters("id", 1L, 2L);
111113
}
114+
115+
@Test
116+
public void removeOlderDeliveriesWhenNoKeepDeliveries() {
117+
long webhookId = 2L;
118+
doReturn(Collections.emptyList()).when(webhookDeliveryDao).listBy(any(SearchCriteria.class), any());
119+
120+
webhookDeliveryDao.removeOlderDeliveries(webhookId, 10);
121+
verify(webhookDeliveryDao, never()).remove(any(SearchCriteria.class));
122+
verify(mockSearchBuilder).and(eq("webhookId"), any(), eq(SearchCriteria.Op.EQ));
123+
verify(mockSearchCriteria).setParameters("webhookId", webhookId);
124+
verify(mockSearchBuilder, never()).and(eq("id"), any(), eq(SearchCriteria.Op.NOTIN));
125+
}
112126
}

test/integration/smoke/test_webhook_lifecycle.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ def test_11_update_webhook(self):
283283
description=description,
284284
secretkey=secretkey,
285285
state=state
286-
)['webhook']
286+
)
287287
self.assertNotEqual(
288288
updated_webhook,
289289
None,

0 commit comments

Comments
 (0)