453add9f0cc755b9b3b80617e821681d23d9c706
[honeycomb.git] / lisp / lisp2vpp / src / test / java / io / fd / honeycomb / lisp / translate / write / trait / SubtableWriterTestCase.java
1 package io.fd.honeycomb.lisp.translate.write.trait;
2
3
4 import static org.junit.Assert.assertEquals;
5 import static org.junit.Assert.assertNotNull;
6 import static org.mockito.Mockito.times;
7 import static org.mockito.Mockito.verify;
8 import static org.mockito.Mockito.when;
9
10 import io.fd.honeycomb.vpp.test.write.WriterCustomizerTest;
11 import io.fd.vpp.jvpp.core.dto.LispEidTableAddDelMap;
12 import io.fd.vpp.jvpp.core.dto.LispEidTableAddDelMapReply;
13 import org.mockito.ArgumentCaptor;
14 import org.mockito.Captor;
15 import org.mockito.Mockito;
16
17 public class SubtableWriterTestCase extends WriterCustomizerTest implements SubtableWriter {
18     @Captor
19     protected ArgumentCaptor<LispEidTableAddDelMap> requestCaptor;
20
21
22     protected void verifyAddDelEidTableAddDelMapInvokedCorrectly(final int addDel, final int vni, final int tableId,
23                                                                  final int isL2) {
24         verify(api, times(1)).lispEidTableAddDelMap(requestCaptor.capture());
25
26         final LispEidTableAddDelMap request = requestCaptor.getValue();
27         assertNotNull(request);
28         assertEquals(addDel, request.isAdd);
29         assertEquals(vni, request.vni);
30         assertEquals(tableId, request.dpTable);
31         assertEquals(isL2, request.isL2);
32     }
33
34     protected void whenAddDelEidTableAddDelMapSuccess() {
35         when(api.lispEidTableAddDelMap(Mockito.any(LispEidTableAddDelMap.class)))
36                 .thenReturn(future(new LispEidTableAddDelMapReply()));
37     }
38
39     protected void whenAddDelEidTableAddDelMapFail() {
40         when(api.lispEidTableAddDelMap(Mockito.any(LispEidTableAddDelMap.class)))
41                 .thenReturn(failedFuture());
42     }
43 }