Code clean up
[bgpcep.git] / bgp / mvpn / src / test / java / org / opendaylight / protocol / bgp / mvpn / impl / nlri / SourceTreeJoinHandlerTest.java
1 /*
2  * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.protocol.bgp.mvpn.impl.nlri;
10
11 import static org.junit.Assert.assertArrayEquals;
12 import static org.junit.Assert.assertEquals;
13
14 import io.netty.buffer.Unpooled;
15 import org.junit.Test;
16 import org.opendaylight.protocol.util.ByteArray;
17 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber;
18 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
19 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.NlriType;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.c.multicast.grouping.CMulticastBuilder;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.multicast.group.opaque.grouping.multicast.group.CGAddressCaseBuilder;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.mvpn.mvpn.choice.SourceTreeJoinCase;
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.mvpn.mvpn.choice.SourceTreeJoinCaseBuilder;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.rev180417.mvpn.mvpn.choice.source.tree.join._case.SourceTreeJoinBuilder;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.RdIpv4;
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.RouteDistinguisher;
28
29 public final class SourceTreeJoinHandlerTest {
30     private static final byte[] SHARED_TREE = new byte[]{
31         0, 1, 1, 2, 3, 4, 1, 2,
32         0, 0, 0, 10,
33         32, 1, 0, 0, 1,
34         32, 2, 0, 0, 2,
35     };
36     private static final byte[] SHARED_TREE_LENGTH = new byte[]{
37         7, 22,
38         0, 1, 1, 2, 3, 4, 1, 2,
39         0, 0, 0, 10,
40         32, 1, 0, 0, 1,
41         32, 2, 0, 0, 2,
42     };
43
44     private final SourceTreeJoinCase expected = new SourceTreeJoinCaseBuilder()
45             .setSourceTreeJoin(new SourceTreeJoinBuilder()
46                     .setCMulticast(new CMulticastBuilder()
47                             .setRouteDistinguisher(new RouteDistinguisher(new RdIpv4("1.2.3.4:258")))
48                             .setSourceAs(new AsNumber(10L))
49                             .setMulticastSource(new IpAddress(new Ipv4Address("1.0.0.1")))
50                             .setMulticastGroup(new CGAddressCaseBuilder().setCGAddress(
51                                     new IpAddress(new Ipv4Address("2.0.0.2"))).build()).build())
52                     .build()).build();
53     private final SourceTreeJoinHandler handler = new SourceTreeJoinHandler();
54
55     @Test
56     public void testParser() {
57         assertEquals(this.expected, this.handler.parseMvpn(Unpooled.copiedBuffer(SHARED_TREE)));
58     }
59
60     @Test
61     public void testSerializer() {
62         assertArrayEquals(SHARED_TREE_LENGTH, ByteArray.getAllBytes(this.handler.serializeMvpn(this.expected)));
63     }
64
65     @Test
66     public void testGetType() {
67         assertEquals(NlriType.SourceTreeJoin.getIntValue(), this.handler.getType());
68     }
69
70     @Test
71     public void testGetClazz() {
72         assertEquals(SourceTreeJoinCase.class, this.handler.getClazz());
73     }
74 }