1 package org.opendaylight.nemo.user.vnspacemanager.structurestyle.deleteintent;
\r
2 import org.opendaylight.nemo.user.vnspacemanager.structurestyle.*;
\r
3 import static org.mockito.Mockito.mock;
\r
4 import org.junit.Assert;
\r
5 import org.junit.Before;
\r
6 import org.junit.Test;
\r
8 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
\r
9 import org.opendaylight.nemo.user.tenantmanager.TenantManage;
\r
10 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.NodeId;
\r
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.UserId;
\r
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.Users;
\r
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.Objects;
\r
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.objects.Node;
\r
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.objects.NodeKey;
\r
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.users.User;
\r
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.users.UserKey;
\r
18 import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
\r
19 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
\r
20 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
\r
21 import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
\r
22 import com.google.common.util.concurrent.CheckedFuture;
\r
23 import com.google.common.util.concurrent.FutureCallback;
\r
24 import com.google.common.util.concurrent.Futures;
\r
25 import org.slf4j.Logger;
\r
26 import org.slf4j.LoggerFactory;
\r
27 import java.util.List;
\r
28 import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
\r
29 import static org.junit.Assert.*;
\r
30 import static org.mockito.Mockito.*;
\r
32 public class DeleteNodeTest{
\r
33 private DataBroker dataBroker;
\r
34 private TenantManage tenantManage;
\r
35 private UserId userid;
\r
36 private NodeId nodeid;
\r
37 private DeleteNode deletenode;
\r
39 private Objects objects;
\r
41 private NodeId notnodeid;
\r
42 private List<Node> nodeList;
\r
43 private WriteTransaction writetransaction;
\r
45 public void setUp() throws Exception{
\r
46 dataBroker=mock(DataBroker.class);
\r
47 tenantManage=mock(TenantManage.class);
\r
48 userid=mock(UserId.class);
\r
49 nodeid=mock(NodeId.class);
\r
50 deletenode=new DeleteNode(dataBroker,tenantManage);
\r
51 user=mock(User.class);
\r
52 objects=mock(Objects.class);
\r
53 node=mock(Node.class);
\r
54 notnodeid=mock(NodeId.class);
\r
55 nodeList=new ArrayList<Node>(1);
\r
57 writetransaction=mock(WriteTransaction.class);
\r
60 public void DeleNodeHandlingTest(){
\r
61 CheckedFuture connectiondefinitionFuture = mock(CheckedFuture.class);
\r
62 ReadOnlyTransaction readOnlyTransaction = mock(ReadOnlyTransaction.class);
\r
63 when(dataBroker.newReadOnlyTransaction()).thenReturn(readOnlyTransaction);
\r
65 when(tenantManage.getUser()).thenReturn(null);
\r
66 Assert.assertEquals(deletenode.DeleNodeHandling(userid,nodeid),"There are no user in data store.");
\r
68 when(tenantManage.getUser()).thenReturn(user);
\r
69 when(user.getObjects()).thenReturn(null);
\r
70 Assert.assertEquals(deletenode.DeleNodeHandling(userid,nodeid),null);
\r
72 when(tenantManage.getUser()).thenReturn(user);
\r
73 when(user.getObjects()).thenReturn(objects);
\r
74 when(objects.getNode()).thenReturn(null);
\r
75 Assert.assertEquals(deletenode.DeleNodeHandling(userid,nodeid),"There are no nodes instances in data store.");
\r
77 when(tenantManage.getUser()).thenReturn(user);
\r
78 when(user.getObjects()).thenReturn(objects);
\r
79 when(objects.getNode()).thenReturn(nodeList);
\r
80 when(node.getNodeId()).thenReturn(notnodeid);
\r
81 Assert.assertEquals(deletenode.DeleNodeHandling(userid,nodeid),"The node instance" +nodeid.toString()+"is not exist.Could not be deleted");
\r
83 when(tenantManage.getUser()).thenReturn(user);
\r
84 when(user.getObjects()).thenReturn(objects);
\r
85 when(objects.getNode()).thenReturn(nodeList);
\r
86 when(node.getNodeId()).thenReturn(nodeid);
\r
87 when(dataBroker.newWriteOnlyTransaction()).thenReturn(writetransaction);
\r
88 CheckedFuture<Void, TransactionCommitFailedException> f;
\r
89 f=mock(CheckedFuture.class);
\r
90 when(writetransaction.submit()).thenReturn(f);
\r
91 Assert.assertEquals(deletenode.DeleNodeHandling(userid,nodeid),null);
\r