2 * Copyright (c) 2015 Huawei, Inc. and others. All rights reserved.
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
8 package org.opendaylight.nemo.renderer.cli.physicalnetwork;
10 import com.google.common.util.concurrent.CheckedFuture;
11 import junit.framework.TestCase;
12 import org.junit.Assert;
13 import org.junit.Before;
14 import org.junit.Test;
15 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
16 import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.generic.physical.network.rev151010.physical.network.physical.hosts.PhysicalHost;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.generic.physical.network.rev151010.physical.network.physical.hosts.PhysicalHostKey;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.generic.physical.network.rev151010.physical.network.physical.links.PhysicalLink;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.generic.physical.network.rev151010.physical.network.physical.links.PhysicalLinkKey;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.generic.physical.network.rev151010.physical.network.physical.nodes.PhysicalNode;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.generic.physical.network.rev151010.physical.network.physical.nodes.PhysicalNodeKey;
24 import java.lang.reflect.Method;
26 import static org.mockito.Mockito.*;
29 * Created by zhangmeng on 2015/11/30.
31 public class DataBrokerAdapterTest extends TestCase {
32 private DataBrokerAdapter dataBrokerAdapter;
33 private DataBroker dataBroker;
36 public void setUp() throws Exception {
37 dataBroker = mock(DataBroker.class);
38 dataBrokerAdapter = new DataBrokerAdapter(dataBroker);
42 public void testGetPhysicalHostIdentifier() throws Exception {
43 PhysicalHostKey physicalHostKey = mock(PhysicalHostKey.class);
44 Class<DataBrokerAdapter> class1 = DataBrokerAdapter.class;
45 Method method = class1.getDeclaredMethod("getPhysicalHostIdentifier", new Class[]{PhysicalHostKey.class});
47 method.setAccessible(true);
49 method.invoke(dataBrokerAdapter, new Object[]{physicalHostKey = mock(PhysicalHostKey.class)});
50 Assert.assertTrue(object != null);
54 public void testGetPhysicalNodeIdentifier() throws Exception {
55 PhysicalNodeKey physicalNodeKey = mock(PhysicalNodeKey.class);
56 Class<DataBrokerAdapter> class1 = DataBrokerAdapter.class;
57 Method method = class1.getDeclaredMethod("getPhysicalNodeIdentifier",new Class[]{PhysicalNodeKey.class});
59 method.setAccessible(true);
60 Object object = method.invoke(dataBrokerAdapter,physicalNodeKey);
61 Assert.assertTrue(object != null);
66 public void testGetPhysicalLinkIdentifier() throws Exception {
67 PhysicalLinkKey physicalLinkKey = mock(PhysicalLinkKey.class);
68 Class<DataBrokerAdapter> class1 = DataBrokerAdapter.class;
69 Method method = class1.getDeclaredMethod("getPhysicalLinkIdentifier",new Class[]{PhysicalLinkKey.class});
71 method.setAccessible(true);
72 Object object = method.invoke(dataBrokerAdapter,physicalLinkKey);
73 Assert.assertTrue(object != null);
77 public void testAddPhysicalHost() throws Exception {
78 final PhysicalHost physicalHost = mock(PhysicalHost.class);
79 WriteTransaction writeTransaction = mock(WriteTransaction.class);
80 PhysicalHostKey physicalHostKey = mock(PhysicalHostKey.class);
81 CheckedFuture checkedFuture = mock(CheckedFuture.class);
83 Class<DataBrokerAdapter> class1 = DataBrokerAdapter.class;
84 Method method = class1.getDeclaredMethod("addPhysicalHost",new Class[]{PhysicalHost.class});
85 method.setAccessible(true);
87 when(dataBroker.newWriteOnlyTransaction()).thenReturn(writeTransaction);
88 when(physicalHost.getKey()).thenReturn(physicalHostKey);
89 when(writeTransaction.submit()).thenReturn(checkedFuture);
91 method.invoke(dataBrokerAdapter, physicalHost);
93 verify(dataBroker).newWriteOnlyTransaction();
94 verify(physicalHost).getKey();
95 verify(writeTransaction).submit();
98 public void testAddPhysicalNode() throws Exception {
99 final PhysicalNode physicalNode = mock(PhysicalNode.class);
100 WriteTransaction writeTransaction = mock(WriteTransaction.class);
101 PhysicalNodeKey physicalNodeKey = mock(PhysicalNodeKey.class);
102 CheckedFuture checkedFuture = mock(CheckedFuture.class);
104 Class<DataBrokerAdapter> class1 = DataBrokerAdapter.class;
105 Method method = class1.getDeclaredMethod("addPhysicalNode",new Class[]{PhysicalNode.class});
106 method.setAccessible(true);
108 when(dataBroker.newWriteOnlyTransaction()).thenReturn(writeTransaction);
109 when(physicalNode.getKey()).thenReturn(physicalNodeKey);
110 when(writeTransaction.submit()).thenReturn(checkedFuture);
112 // boolean b = false;
113 Assert.assertNotNull(method.invoke(dataBrokerAdapter, physicalNode));
115 verify(dataBroker).newWriteOnlyTransaction();
116 verify(physicalNode).getKey();
117 verify(writeTransaction).submit();
121 public void testRemovePhysicalNode() throws Exception {
122 final PhysicalNodeKey nodeKey = mock(PhysicalNodeKey.class);
123 WriteTransaction writeTransaction = mock(WriteTransaction.class);
124 CheckedFuture checkedFuture = mock(CheckedFuture.class);
126 Class<DataBrokerAdapter> class1 = DataBrokerAdapter.class;
127 Method method = class1.getDeclaredMethod("removePhysicalNode",new Class[]{PhysicalNodeKey.class});
128 method.setAccessible(true);
130 when(dataBroker.newWriteOnlyTransaction()).thenReturn(writeTransaction);
131 when(writeTransaction.submit()).thenReturn(checkedFuture);
133 Assert.assertNotNull(method.invoke(dataBrokerAdapter, nodeKey));
135 verify(dataBroker).newWriteOnlyTransaction();
136 verify(writeTransaction).submit();
140 public void testAddPhysicalLink() throws Exception {
141 final PhysicalLink physicalLink = mock(PhysicalLink.class);
142 WriteTransaction writeTransaction = mock(WriteTransaction.class);
143 CheckedFuture checkedFuture = mock(CheckedFuture.class);
144 PhysicalLinkKey physicalLinkKey = mock(PhysicalLinkKey.class);
146 Class<DataBrokerAdapter> class1 = DataBrokerAdapter.class;
147 Method method = class1.getDeclaredMethod("addPhysicalLink",new Class[]{PhysicalLink.class});
148 method.setAccessible(true);
150 when(dataBroker.newWriteOnlyTransaction()).thenReturn(writeTransaction);
151 when(physicalLink.getKey()).thenReturn(physicalLinkKey);
152 when(writeTransaction.submit()).thenReturn(checkedFuture);
154 method.invoke(dataBrokerAdapter, physicalLink);
156 verify(dataBroker).newWriteOnlyTransaction();
157 verify(physicalLink).getKey();
158 verify(writeTransaction).submit();
162 public void testRemovePhysicalLink() throws Exception {
163 final PhysicalLinkKey physicalLinkKey = mock(PhysicalLinkKey.class);
164 WriteTransaction writeTransaction = mock(WriteTransaction.class);
165 CheckedFuture checkedFuture = mock(CheckedFuture.class);
167 Class<DataBrokerAdapter> class1 = DataBrokerAdapter.class;
168 Method method = class1.getDeclaredMethod("removePhysicalLink", new Class[]{PhysicalLinkKey.class});
169 method.setAccessible(true);
171 when(dataBroker.newWriteOnlyTransaction()).thenReturn(writeTransaction);
172 when(writeTransaction.submit()).thenReturn(checkedFuture);
174 method.invoke(dataBrokerAdapter, physicalLinkKey);
176 verify(dataBroker).newWriteOnlyTransaction();
177 verify(writeTransaction).submit();