112350676a6c34b4d5e181370d8564731a09eef6
[honeycomb.git] / lisp / lisp2vpp / src / test / java / io / fd / honeycomb / lisp / translate / read / MapResolverCustomizerTest.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.vpp.test.read.ListReaderCustomizerTest;
11 import io.fd.vpp.jvpp.core.dto.LispMapResolverDetails;
12 import io.fd.vpp.jvpp.core.dto.LispMapResolverDetailsReplyDump;
13 import java.util.List;
14 import org.junit.Before;
15 import org.junit.Test;
16 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
17 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4AddressNoZone;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.map.resolvers.grouping.MapResolvers;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.map.resolvers.grouping.MapResolversBuilder;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.map.resolvers.grouping.map.resolvers.MapResolver;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.map.resolvers.grouping.map.resolvers.MapResolverBuilder;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.map.resolvers.grouping.map.resolvers.MapResolverKey;
23 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
24
25
26 public class MapResolverCustomizerTest
27         extends ListReaderCustomizerTest<MapResolver, MapResolverKey, MapResolverBuilder> {
28
29     private static final IpAddress IP_ADDRESS_REVERTED =
30             new IpAddress(new Ipv4AddressNoZone("1.2.168.192"));
31
32     private InstanceIdentifier<MapResolver> emptyId;
33     private InstanceIdentifier<MapResolver> validId;
34
35     public MapResolverCustomizerTest() {
36         super(MapResolver.class, MapResolversBuilder.class);
37     }
38
39     @Before
40     public void init() {
41
42         emptyId = InstanceIdentifier.create(MapResolver.class);
43         validId = InstanceIdentifier.create(MapResolvers.class)
44                 .child(MapResolver.class, new MapResolverKey(IP_ADDRESS_REVERTED));
45         defineDumpData();
46     }
47
48     @Test
49     public void readCurrentAttributes() throws Exception {
50         MapResolverBuilder builder = new MapResolverBuilder();
51         getCustomizer().readCurrentAttributes(validId, builder, ctx);
52
53         MapResolver resolver = builder.build();
54         assertNotNull(resolver);
55         assertEquals("1.2.168.192", resolver.getIpAddress().getIpv4Address().getValue());
56     }
57
58     @Test
59     public void getAllIds() throws Exception {
60         final List<MapResolverKey> keys = getCustomizer().getAllIds(emptyId, ctx);
61
62         assertEquals(1, keys.size());
63
64         final MapResolverKey key = keys.get(0);
65         assertNotNull(key);
66         assertEquals("1.2.168.192", new String(key.getIpAddress().getValue()));
67
68     }
69
70     private void defineDumpData() {
71         final LispMapResolverDetailsReplyDump replyDump = new LispMapResolverDetailsReplyDump();
72         final LispMapResolverDetails detail = new LispMapResolverDetails();
73         detail.context = 5;
74         detail.ipAddress = new byte[]{1, 2, -88, -64};
75         detail.isIpv6 = 0;
76
77         replyDump.lispMapResolverDetails = ImmutableList.of(detail);
78
79         when(api.lispMapResolverDump(any())).thenReturn(future(replyDump));
80     }
81
82     @Override
83     protected ReaderCustomizer<MapResolver, MapResolverBuilder> initCustomizer() {
84         return new MapResolverCustomizer(api);
85     }
86 }