Add nemo-impl partical test files
[nemo.git] / nemo-impl / src / test / java / org / opendaylight / nemo / user / vnspacemanager / languagestyle / deleteintentlang / DeleteNodeLangTest.java
1 /*\r
2  * Copyright (c) 2015 Huawei, Inc. and others. All rights reserved.\r
3  *\r
4  * This program and the accompanying materials are made available under the\r
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
6  * and is available at http://www.eclipse.org/legal/epl-v10.html\r
7  */\r
8 \r
9 package user.vnspacemanager.languagestyle.deleteintentlang;\r
10 \r
11 import junit.framework.TestCase;\r
12 import org.junit.Assert;\r
13 import org.junit.Before;\r
14 import org.junit.Test;\r
15 \r
16 import static org.junit.Assert.*;\r
17 import org.opendaylight.nemo.user.tenantmanager.TenantManage;\r
18 import org.opendaylight.nemo.user.vnspacemanager.languagestyle.deleteintentlang.DeleteConnectionLang;\r
19 import org.opendaylight.nemo.user.vnspacemanager.languagestyle.deleteintentlang.DeleteNodeLang;\r
20 import org.opendaylight.nemo.user.vnspacemanager.structurestyle.deleteintent.DeleteNode;\r
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.UserId;\r
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.objects.Node;\r
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.users.User;\r
24 import org.opendaylight.controller.md.sal.binding.api.DataBroker;\r
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.Objects;\r
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.NodeName;\r
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.NodeId;\r
28 import java.lang.reflect.Field;\r
29 import java.util.ArrayList;\r
30 import java.util.List;\r
31 import static org.mockito.Mockito.*;\r
32 /**\r
33  * Created by zhangmeng on 2015/12/10.\r
34  */\r
35 public class DeleteNodeLangTest extends TestCase {\r
36     private DataBroker dataBroker;\r
37     private TenantManage tenantManage;\r
38     private DeleteNode deleteNode;\r
39     private DeleteNodeLang deleteNodeLang;\r
40     @Before\r
41     public void setUp() throws Exception {\r
42         dataBroker = mock(DataBroker.class);\r
43         tenantManage = mock(TenantManage.class);\r
44         deleteNode = mock(DeleteNode.class);\r
45 \r
46         deleteNodeLang = new DeleteNodeLang(dataBroker,tenantManage);\r
47     }\r
48 \r
49     @Test\r
50     public void testDeleteNodeHandling() throws Exception {\r
51         User user = mock(User.class);\r
52         UserId userId = mock(UserId.class);\r
53         Objects objects = mock(Objects.class);\r
54         Node node = mock(Node.class);\r
55         NodeName nodeName = mock(NodeName.class);\r
56         NodeId nodeId = mock(NodeId.class);\r
57         String nodename = new String("test");\r
58         String result;\r
59         List<Node> nodeList = new ArrayList<Node>();\r
60 \r
61         doNothing().when(tenantManage).fetchVNSpace(userId);\r
62         when(tenantManage.getUser()).thenReturn(user);\r
63         when(user.getObjects())\r
64                 .thenReturn(null)\r
65                 .thenReturn(objects);\r
66 \r
67         result = deleteNodeLang.DeleteNodeHandling(userId,nodename);\r
68         Assert.assertTrue(result.equals("The node " + nodename + " is not exist in this user vn space."));\r
69         verify(user).getObjects();\r
70 \r
71         when(objects.getNode()).thenReturn(nodeList);\r
72         Assert.assertTrue(nodeList.isEmpty());\r
73         result = deleteNodeLang.DeleteNodeHandling(userId,nodename);\r
74         Assert.assertTrue(result.equals("The node " + nodename + " is not exist in this user vn space."));\r
75 \r
76         nodeList.add(node);\r
77         when(node.getNodeName()).thenReturn(nodeName);\r
78         when(nodeName.getValue())\r
79                 .thenReturn("")\r
80                 .thenReturn(nodename);\r
81         Assert.assertTrue(!nodeList.isEmpty());\r
82         result = deleteNodeLang.DeleteNodeHandling(userId,nodename);\r
83         Assert.assertTrue(result.equals("The node " + nodename + " is not exist in this user vn space."));\r
84 \r
85         Class<DeleteNodeLang> class1 = DeleteNodeLang.class;\r
86         Field field = class1.getDeclaredField("deleteNode");\r
87         field.setAccessible(true);\r
88         field.set(deleteNodeLang, deleteNode);\r
89         System.out.println(field.get(deleteNodeLang));\r
90         when(node.getNodeId()).thenReturn(nodeId);\r
91         when(deleteNode.DeleNodeHandling(any(UserId.class), any(NodeId.class))).thenReturn(new String("test"));\r
92         result = deleteNodeLang.DeleteNodeHandling(userId,nodename);\r
93         Assert.assertTrue(result.equals("test"));\r
94         verify(node).getNodeId();\r
95     }\r
96 }