|
19 | 19 |
|
20 | 20 | import com.cloud.api.query.vo.EventJoinVO; |
21 | 21 | import com.cloud.utils.db.EntityManager; |
| 22 | +import com.cloud.utils.db.Filter; |
22 | 23 | import com.cloud.vm.VirtualMachine; |
23 | 24 | import org.apache.cloudstack.api.ApiCommandResourceType; |
24 | 25 | import org.apache.cloudstack.api.response.EventResponse; |
25 | 26 | import org.junit.Assert; |
26 | 27 | import org.junit.Test; |
27 | 28 | import org.junit.runner.RunWith; |
| 29 | +import org.mockito.ArgumentCaptor; |
28 | 30 | import org.mockito.InjectMocks; |
29 | 31 | import org.mockito.Mock; |
30 | 32 | import org.mockito.Mockito; |
31 | 33 | import org.mockito.junit.MockitoJUnitRunner; |
32 | 34 |
|
| 35 | +import java.util.ArrayList; |
33 | 36 | import java.util.UUID; |
34 | 37 |
|
35 | 38 | @RunWith(MockitoJUnitRunner.class) |
@@ -62,4 +65,17 @@ public void testNewEventViewResource() { |
62 | 65 | Assert.assertEquals(response.getResourceType(), resourceType); |
63 | 66 | Assert.assertEquals(response.getResourceName(), resourceName); |
64 | 67 | } |
| 68 | + |
| 69 | + @Test |
| 70 | + public void testSearchByIdsOrdersNewestFirst() { |
| 71 | + EventJoinDaoImpl spyDao = Mockito.spy(dao); |
| 72 | + ArgumentCaptor<Filter> filterCaptor = ArgumentCaptor.forClass(Filter.class); |
| 73 | + Mockito.doReturn(new ArrayList<EventJoinVO>()).when(spyDao) |
| 74 | + .searchIncludingRemoved(Mockito.any(), filterCaptor.capture(), Mockito.any(), Mockito.anyBoolean()); |
| 75 | + |
| 76 | + spyDao.searchByIds(1L, 2L, 3L); |
| 77 | + |
| 78 | + Assert.assertNotNull("searchByIds must pass an ordering filter", filterCaptor.getValue()); |
| 79 | + Assert.assertEquals(" ORDER BY event_view.created DESC , event_view.id DESC ", filterCaptor.getValue().getOrderBy()); |
| 80 | + } |
65 | 81 | } |
0 commit comments