Rib support refactoring II
[bgpcep.git] / bgp / rib-spi / src / test / java / org / opendaylight / protocol / bgp / rib / spi / AbstractRIBSupportTest.java
1 /*
2  * Copyright (c) 2015 Cisco Systems, Inc. and others.  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 package org.opendaylight.protocol.bgp.rib.spi;
9
10 /**
11  * TODO: Remove, instead use Common Rib Support test
12  */
13 public class AbstractRIBSupportTest {
14    /* private final ContainerNode ipv4p = ImmutableContainerNodeBuilder.create().withNodeIdentifier(new NodeIdentifier(Ipv4Prefixes.QNAME)).build();
15     private final ContainerNode destination = ImmutableContainerNodeBuilder.create().withNodeIdentifier(new NodeIdentifier(DestinationIpv4.QNAME)).addChild(this.ipv4p).build();
16     private final ChoiceNode choiceNode = ImmutableChoiceNodeBuilder.create().withNodeIdentifier(new NodeIdentifier(DestinationType.QNAME)).addChild(this.destination).build();
17     static ContainerNode dest;
18
19     private final RIBSupport testSupport = new AbstractRIBSupport(Ipv4RoutesCase.class, Ipv4Routes.class, Ipv4Route.class,
20         Ipv4AddressFamily.class, UnicastSubsequentAddressFamily.class, DestinationIpv4.QNAME) {
21         @Override
22         public ImmutableCollection<Class<? extends DataObject>> cacheableAttributeObjects() {
23             return null;
24         }
25
26         @Override
27         public ImmutableCollection<Class<? extends DataObject>> cacheableNlriObjects() {
28             return null;
29         }
30
31         @Nonnull
32         @Override
33         protected DestinationType buildDestination(@Nonnull final Collection<MapEntryNode> routes) {
34             return null;
35         }
36
37         @Nonnull
38         @Override
39         protected DestinationType buildWithdrawnDestination(@Nonnull final Collection<MapEntryNode> routes) {
40             return null;
41         }
42
43         @Override
44         protected void processDestination(final DOMDataWriteTransaction tx, final YangInstanceIdentifier routesPath, final ContainerNode destination, final ContainerNode attributes, final ApplyRoute applyFunction) {
45
46         }
47
48         @Override
49         public boolean isComplexRoute() {
50             return false;
51         }
52     };
53
54     @Mock
55     private DOMDataWriteTransaction tx;
56
57     @Test
58     public void testRouteAttributesIdentifier() {
59         assertEquals(new NodeIdentifier(QName.create(Ipv4Routes.QNAME, Attributes.QNAME.getLocalName())), this.testSupport.routeAttributesIdentifier());
60     }
61
62     @Test
63     public void testChangedRoutes() {
64         final QName TEST_QNAME = QName.create("urn:opendaylight:params:xml:ns:yang:bgp-inet:test", "2015-03-05", "test");
65         final YangInstanceIdentifier writePath = YangInstanceIdentifier.of(TEST_QNAME);
66
67         final YangInstanceIdentifier.NodeWithValue nodeIdentifier = new YangInstanceIdentifier.NodeWithValue(Ipv4Route.QNAME, "route");
68         final LeafSetEntryNode<Object> routeEntry = ImmutableLeafSetEntryNodeBuilder.create().withNodeIdentifier(nodeIdentifier).withValue("route").build();
69         final LeafSetNode<Object> route = ImmutableLeafSetNodeBuilder.create().withNodeIdentifier(new NodeIdentifier(Ipv4Route.QNAME)).withChild(routeEntry).build();
70         ContainerNode routes = ImmutableContainerNodeBuilder.create().withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifier(Ipv4Routes.QNAME))
71             .withChild(route).build();
72
73         final ContainerNode routesContainer = ImmutableContainerNodeBuilder.create().addChild(routes).
74             withNodeIdentifier(new NodeIdentifier(TEST_QNAME)).build();
75         final DataTreeCandidate candidate = DataTreeCandidates.fromNormalizedNode(writePath, routesContainer);
76         final Collection<DataTreeCandidateNode> output = this.testSupport.changedRoutes(candidate.getRootNode());
77
78         Assert.assertFalse(output.isEmpty());
79         assertEquals(nodeIdentifier.toString(), output.iterator().next().getIdentifier().toString());
80     }
81
82
83     @Test
84     public void testRoutePath() {
85         final YangInstanceIdentifier routePath = YangInstanceIdentifier.of(Routes.QNAME);
86         final NodeIdentifier routeId = new NodeIdentifier(Ipv4Route.QNAME);
87         final String result = "/(urn:opendaylight:params:xml:ns:yang:bgp-rib?revision=2013-09-25)routes/(urn:opendaylight:params:xml:ns:yang:bgp-inet?revision=2015-03-05)ipv4-routes/ipv4-route/ipv4-route";
88         assertEquals(result, this.testSupport.routePath(routePath, routeId).toString());
89     }
90
91     @Test
92     public void testDeleteRoutes() {
93         final ContainerNode advertised = ImmutableContainerNodeBuilder.create().addChild(this.choiceNode).withNodeIdentifier(new NodeIdentifier(WithdrawnRoutes.QNAME)).build();
94         final ContainerNode nlri = ImmutableContainerNodeBuilder.create().addChild(advertised).withNodeIdentifier(new NodeIdentifier(Nlri.QNAME)).build();
95         this.testSupport.deleteRoutes(null, null, nlri);
96         assertEquals(dest, this.destination);
97     }
98
99     @Test
100     public void testPutRoutes() {
101         final ContainerNode advertised = ImmutableContainerNodeBuilder.create().addChild(this.choiceNode).withNodeIdentifier(new NodeIdentifier(AdvertizedRoutes.QNAME)).build();
102         final ContainerNode nlri = ImmutableContainerNodeBuilder.create().addChild(advertised).withNodeIdentifier(new NodeIdentifier(Nlri.QNAME)).build();
103         this.testSupport.putRoutes(null, null, nlri, null);
104         assertEquals(dest, this.destination);
105     }*/
106 }