b955609c5bc6e7e0dca633569c3bc338dc28588d
[hc2vpp.git] /
1 package io.fd.honeycomb.lisp.translate.read.dump.executor;
2
3
4 import static org.junit.Assert.assertEquals;
5 import static org.junit.Assert.assertNotNull;
6 import static org.junit.Assert.assertTrue;
7 import static org.junit.Assert.fail;
8
9 import com.google.common.collect.ImmutableList;
10 import io.fd.honeycomb.translate.util.read.cache.EntityDumpExecutor;
11 import io.fd.honeycomb.translate.util.read.cache.exceptions.execution.DumpExecutionFailedException;
12 import io.fd.honeycomb.translate.util.read.cache.exceptions.execution.i.DumpCallFailedException;
13 import io.fd.honeycomb.translate.util.read.cache.exceptions.execution.i.DumpTimeoutException;
14 import io.fd.honeycomb.vpp.test.read.JvppDumpExecutorTest;
15 import io.fd.vpp.jvpp.core.dto.LispEidTableVniDetails;
16 import io.fd.vpp.jvpp.core.dto.LispEidTableVniDetailsReplyDump;
17 import java.util.concurrent.TimeoutException;
18 import org.junit.Before;
19 import org.junit.Test;
20 import org.mockito.Mockito;
21 import io.fd.vpp.jvpp.core.dto.LispEidTableMapDetails;
22 import io.fd.vpp.jvpp.core.dto.LispEidTableMapDetailsReplyDump;
23
24
25 public class VniTableDumpExecutorTest extends JvppDumpExecutorTest<VniTableDumpExecutor> {
26
27     private LispEidTableVniDetailsReplyDump validDump;
28
29     @Before
30     public void init() {
31         validDump = new LispEidTableVniDetailsReplyDump();
32         LispEidTableVniDetails detail = new LispEidTableVniDetails();
33         detail.vni = 2;
34         detail.context = 4;
35         validDump.lispEidTableVniDetails = ImmutableList.of(detail);
36     }
37
38     @Test(expected = DumpCallFailedException.class)
39     public void testExecuteDumpFail() throws DumpExecutionFailedException {
40         doThrowFailExceptionWhen().lispEidTableVniDump(Mockito.any());
41         getExecutor().executeDump(EntityDumpExecutor.NO_PARAMS);
42     }
43
44
45     @Test
46     public void testExecuteDumpTimeout() throws Exception {
47         doThrowTimeoutExceptionWhen().lispEidTableVniDump(Mockito.any());
48         try {
49             getExecutor().executeDump(EntityDumpExecutor.NO_PARAMS);
50         } catch (Exception e) {
51             assertTrue(e instanceof DumpTimeoutException);
52             assertTrue(e.getCause() instanceof TimeoutException);
53             return;
54         }
55         fail("Test should have thrown exception");
56     }
57
58     @Test
59     public void testExecuteDump() throws DumpExecutionFailedException {
60
61         doReturnResponseWhen(validDump).lispEidTableVniDump(Mockito.any());
62         final LispEidTableVniDetailsReplyDump reply = getExecutor().executeDump(EntityDumpExecutor.NO_PARAMS);
63
64         assertNotNull(reply);
65         assertEquals(1, reply.lispEidTableVniDetails.size());
66         final LispEidTableVniDetails detail = reply.lispEidTableVniDetails.get(0);
67
68         assertEquals(4, detail.context);
69         assertEquals(2, detail.vni);
70     }
71
72     @Override
73     protected VniTableDumpExecutor initExecutor() {
74         return new VniTableDumpExecutor(api);
75     }
76 }