b7625befb508ed4519bf506d49cff36ec7fe3cbc
[honeycomb.git] / lisp / lisp2vpp / src / test / java / io / fd / honeycomb / lisp / translate / read / LocatorSetCustomizerTest.java
1 package io.fd.honeycomb.lisp.translate.read;
2
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertNotNull;
5 import static org.mockito.Matchers.any;
6 import static org.mockito.Mockito.when;
7
8 import com.google.common.collect.ImmutableList;
9 import io.fd.honeycomb.translate.spi.read.ReaderCustomizer;
10 import io.fd.honeycomb.translate.vpp.util.NamingContext;
11 import io.fd.honeycomb.vpp.test.read.ListReaderCustomizerTest;
12 import java.nio.charset.StandardCharsets;
13 import java.util.List;
14 import org.junit.Before;
15 import org.junit.Test;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.locator.sets.grouping.LocatorSets;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.locator.sets.grouping.LocatorSetsBuilder;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.locator.sets.grouping.locator.sets.LocatorSet;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.locator.sets.grouping.locator.sets.LocatorSetBuilder;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.locator.sets.grouping.locator.sets.LocatorSetKey;
21 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
22 import io.fd.vpp.jvpp.core.dto.LispLocatorSetDetails;
23 import io.fd.vpp.jvpp.core.dto.LispLocatorSetDetailsReplyDump;
24
25
26 public class LocatorSetCustomizerTest
27         extends ListReaderCustomizerTest<LocatorSet, LocatorSetKey, LocatorSetBuilder> {
28
29     private InstanceIdentifier<LocatorSet> emptyId;
30     private InstanceIdentifier<LocatorSet> validId;
31
32     public LocatorSetCustomizerTest() {
33         super(LocatorSet.class, LocatorSetsBuilder.class);
34     }
35
36     @Before
37     public void init() {
38         emptyId = InstanceIdentifier.create(LocatorSet.class);
39         validId = InstanceIdentifier.create(LocatorSets.class).child(LocatorSet.class, new LocatorSetKey("loc-set"));
40
41         defineDumpData();
42         defineMapping(mappingContext, "loc-set", 1, "locator-set-context");
43     }
44
45     private void defineDumpData() {
46         LispLocatorSetDetailsReplyDump dump = new LispLocatorSetDetailsReplyDump();
47         LispLocatorSetDetails detail = new LispLocatorSetDetails();
48         detail.context = 4;
49         detail.lsName = "loc-set".getBytes(StandardCharsets.UTF_8);
50         detail.lsIndex = 1;
51
52         dump.lispLocatorSetDetails = ImmutableList.of(detail);
53
54         when(api.lispLocatorSetDump(any())).thenReturn(future(dump));
55     }
56
57
58     @Test
59     public void readCurrentAttributes() throws Exception {
60         LocatorSetBuilder builder = new LocatorSetBuilder();
61         getCustomizer().readCurrentAttributes(validId, builder, ctx);
62
63         assertNotNull(builder);
64         assertEquals("loc-set", builder.getName());
65         assertEquals("loc-set", builder.getKey().getName());
66     }
67
68     @Test
69     public void getAllIds() throws Exception {
70         final List<LocatorSetKey> keys = getCustomizer().getAllIds(emptyId, ctx);
71
72         assertEquals(1, keys.size());
73         assertEquals("loc-set", keys.get(0).getName());
74     }
75
76     @Override
77     protected ReaderCustomizer<LocatorSet, LocatorSetBuilder> initCustomizer() {
78         return new LocatorSetCustomizer(api, new NamingContext("loc", "locator-set-context"));
79     }
80 }