1 package org.opendaylight.protocol.bgp.rib.spi;
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertFalse;
5 import static org.junit.Assert.assertTrue;
6 import java.lang.reflect.Constructor;
7 import java.lang.reflect.InvocationTargetException;
10 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.bgp.rib.rib.peer.SupportedTables;
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.rib.Tables;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.rib.TablesKey;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.AddressFamily;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.Ipv4AddressFamily;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.SubsequentAddressFamily;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.UnicastSubsequentAddressFamily;
17 import org.opendaylight.yangtools.yang.binding.util.BindingReflections;
18 import org.opendaylight.yangtools.yang.common.QName;
19 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
21 public class RibSupportUtilsTest {
23 @Test(expected=UnsupportedOperationException.class)
24 public void testPrivateConstructor() throws Throwable {
25 final Constructor<RibSupportUtils> c = RibSupportUtils.class.getDeclaredConstructor(null);
26 c.setAccessible(true);
29 } catch (final InvocationTargetException e) {
35 public void testYangTablesKey() {
36 final Class<? extends AddressFamily> afi = Ipv4AddressFamily.class;
37 final Class<? extends SubsequentAddressFamily> safi = UnicastSubsequentAddressFamily.class;
38 final TablesKey k = new TablesKey(afi, safi);
39 final NodeIdentifierWithPredicates p = RibSupportUtils.toYangTablesKey(k);
40 final Map<QName, Object> m = p.getKeyValues();
41 assertFalse(m.isEmpty());
42 assertEquals(Tables.QNAME, p.getNodeType());
43 assertTrue(m.containsValue(BindingReflections.findQName(afi)));
44 assertTrue(m.containsValue(BindingReflections.findQName(safi)));
48 public void testYangKey() {
49 final Class<? extends AddressFamily> afi = Ipv4AddressFamily.class;
50 final Class<? extends SubsequentAddressFamily> safi = UnicastSubsequentAddressFamily.class;
51 final TablesKey k = new TablesKey(afi, safi);
52 final NodeIdentifierWithPredicates p = RibSupportUtils.toYangKey(SupportedTables.QNAME, k);
53 final Map<QName, Object> m = p.getKeyValues();
54 assertFalse(m.isEmpty());
55 assertEquals(SupportedTables.QNAME, p.getNodeType());
56 assertTrue(m.containsValue(BindingReflections.findQName(afi)));
57 assertTrue(m.containsValue(BindingReflections.findQName(safi)));