Modify nemo-impl patrical test files 53/32253/1
authorsaomenmen <zhangmroy@163.com>
Mon, 4 Jan 2016 23:49:22 +0000 (07:49 +0800)
committersaomenmen <zhangmroy@163.com>
Mon, 4 Jan 2016 23:50:03 +0000 (07:50 +0800)
Change-Id: I0b94fcf778c4f50e7ca999b7db75e52f2a5b12f2
Signed-off-by: saomenmen <zhangmroy@163.com>
nemo-impl/src/test/java/org/opendaylight/nemo/user/vnspacemanager/languagestyle/NEMOParse/NEMOparserTest.java
nemo-impl/src/test/java/org/opendaylight/nemo/user/vnspacemanager/languagestyle/updateintentlang/UpdateConnectionLangTest.java
nemo-impl/src/test/java/org/opendaylight/nemo/user/vnspacemanager/languagestyle/updateintentlang/UpdateFlowLangTest.java
nemo-impl/src/test/java/org/opendaylight/nemo/user/vnspacemanager/languagestyle/updateintentlang/UpdateNodeLangTest.java

index 697e3c880e3dfa850feb49155636514882f64123..45828a1283b3554c52e27c476f07fb4111cd7fa3 100644 (file)
@@ -37,6 +37,8 @@ import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.ArrayList;
 import java.io.StringReader;
+import java.util.Map;
+
 import static org.mockito.Mockito.*;
 import org.powermock.api.mockito.PowerMockito;
 import org.powermock.api.support.membermodification.MemberMatcher;
@@ -160,21 +162,219 @@ public class NEMOparserTest extends TestCase {
 
     @Test
     public void testNodeModel() throws Exception {
+        UserId userId = mock(UserId.class);
+        DataBroker dataBroker = mock(DataBroker.class);
+        TenantManage tenantManage = mock(TenantManage.class);
 
+        Field field_jj_ntk = class1.getDeclaredField("jj_ntk");
+        field_jj_ntk.setAccessible(true);
+        Field field_token = class1.getDeclaredField("token");
+        field_token.setAccessible(true);
+
+        Token token = new Token();
+        Token token_ID = new Token();
+        token_ID.kind = NEMOparserConstants.ID;
+        token_ID.image = "test";
+        Token token_PROPERTY = new Token();
+        token_PROPERTY.kind = NEMOparserConstants.PROPERTY;
+        Token token_STRING = new Token();
+        token_STRING.kind = NEMOparserConstants.STRING;
+        token_STRING.image = "test_string";
+        Token token_COLON = new Token();
+        token_COLON.kind = NEMOparserConstants.COLON;
+        Token token_ID1 = new Token();
+        token_ID1.kind = NEMOparserConstants.ID;
+        token_ID1.image = "test1";
+        Token token_SEMICOLON = new Token();
+        token_SEMICOLON.kind = NEMOparserConstants.SEMICOLON;
+        Token token_NODE = new Token();
+        token_NODE.kind = NEMOparserConstants.NODE;
+
+
+        //connect
+        token.next = token_ID;
+        token_ID.next = token_PROPERTY;
+        token_PROPERTY.next = token_STRING;
+        token_STRING.next = token_COLON;
+        token_COLON.next = token_ID1;
+        token_ID1.next = token_SEMICOLON;
+        token_SEMICOLON.next = token_NODE;
+
+        field_jj_ntk.set(class1, NEMOparserConstants.STRING);
+        field_token.set(class1, token);
+        PowerMockito.spy(NEMOparser.class);
+        PowerMockito.when(NEMOparser.class,"jj_ntk")
+                .thenReturn(NEMOparserConstants.NODE)
+                .thenReturn(NEMOparserConstants.NODE)
+                .thenReturn(NEMOparserConstants.SEMICOLON);
+        PowerMockito.mockStatic(NEMOparser.class);
+        PowerMockito.when(NEMOparser.abstractNode(any(UpdateTemplateDefinitionLang.class))).thenReturn("zhangmeng");
+        Assert.assertTrue(NEMOparser.NodeModel(userId, dataBroker, tenantManage) == null);
     }
 
     @Test
     public void testAbstractNode() throws Exception {
+        UpdateTemplateDefinitionLang definition = mock(UpdateTemplateDefinitionLang.class);
+
+        Field field_jj_ntk = class1.getDeclaredField("jj_ntk");
+        field_jj_ntk.setAccessible(true);
+        Field field_token = class1.getDeclaredField("token");
+        field_token.setAccessible(true);
+
+        Token token = new Token();
+        Token token_ID = new Token();
+        token_ID.kind = NEMOparserConstants.ID;
+        token_ID.image = "test";
+        Token token_TYPE = new Token();
+        token_TYPE.kind = NEMOparserConstants.TYPE;
+        Token token_ID1 = new Token();
+        token_ID1.kind = NEMOparserConstants.ID;
+        token_ID1.image = "test1";
+        Token token_CONTAIN = new Token();
+        token_CONTAIN.kind = NEMOparserConstants.CONTAIN;
+        Token token_ID2 = new Token();
+        token_ID2.kind = NEMOparserConstants.ID;
+        token_ID2.image = "test2";
+        Token token_SEMICOLON = new Token();
+        token_SEMICOLON.kind = NEMOparserConstants.SEMICOLON;
+
+        //connect
+        token.next = token_ID;
+        token_ID.next = token_TYPE;
+        token_TYPE.next = token_ID1;
+        token_ID1.next = token_CONTAIN;
+        token_CONTAIN.next = token_ID2;
+        token_ID2.next = token_SEMICOLON;
+
+        field_jj_ntk.set(class1, NEMOparserConstants.CONTAIN);
+        field_token.set(class1, token);
+        Assert.assertTrue(NEMOparser.abstractNode(definition) == null);
+
+        //branch PROPERTY
+        //connect aggin
+        Token token_PROPERTY = new Token();
+        token_PROPERTY.kind = NEMOparserConstants.PROPERTY;
+        Token token_COLON = new Token();
+        token_COLON.kind = NEMOparserConstants.COLON;
+        PowerMockito.mockStatic(NEMOparser.class);
+        PowerMockito.when(NEMOparser.property()).thenReturn(new LinkedHashMap<String, String>());
+        token.next = token_ID;
+        token_ID.next = token_TYPE;
+        token_TYPE.next = token_ID1;
+        token_ID1.next = token_PROPERTY;
+        token_PROPERTY.next = token_ID2;
+        token_ID2.next = token_COLON;
+        token_COLON.next = token_SEMICOLON;
+
+        field_jj_ntk.set(class1, NEMOparserConstants.PROPERTY);
+        field_token.set(class1, token);
+        Assert.assertTrue(NEMOparser.abstractNode(definition) == null);
 
     }
 
     @Test
     public void testAbstractConnection() throws Exception {
+        UpdateTemplateDefinitionLang definition = mock(UpdateTemplateDefinitionLang.class);
 
+        Field field_jj_ntk = class1.getDeclaredField("jj_ntk");
+        field_jj_ntk.setAccessible(true);
+        Field field_token = class1.getDeclaredField("token");
+        field_token.setAccessible(true);
+
+        Token token = new Token();
+        Token token_ID = new Token();
+        token_ID.kind = NEMOparserConstants.ID;
+        token_ID.image = "test";
+        Token token_TYPE = new Token();
+        token_TYPE.kind = NEMOparserConstants.TYPE;
+        Token token_ID1 = new Token();
+        token_ID1.kind = NEMOparserConstants.ID;
+        token_ID1.image = "test1";
+        Token token_ENDNODES = new Token()  ;
+        token_ENDNODES.kind = NEMOparserConstants.ENDNODES;
+        Token token_ID2 = new Token();
+        token_ID2.kind = NEMOparserConstants.ID;
+        token_ID2.image = "test2";
+        Token token_SEMICOLON = new Token();
+        token_SEMICOLON.kind = NEMOparserConstants.SEMICOLON;
+        //connect
+        token.next = token_ID;
+        token_ID.next = token_TYPE;
+        token_TYPE.next = token_ID1;
+        token_ID1.next = token_ENDNODES;
+        token_ENDNODES.next = token_ID2;
+        token_ID2.next = token_SEMICOLON;
+
+        field_jj_ntk.set(class1, NEMOparserConstants.ENDNODES);
+        field_token.set(class1, token);
+
+        Assert.assertTrue(NEMOparser.abstractConnection(definition) == null);
+
+        //branch PROPERTY
+        //connect aggin
+        Token token_PROPERTY = new Token();
+        token_PROPERTY.kind = NEMOparserConstants.PROPERTY;
+        Token token_COLON = new Token();
+        token_COLON.kind = NEMOparserConstants.COLON;
+        PowerMockito.mockStatic(NEMOparser.class);
+        PowerMockito.when(NEMOparser.property()).thenReturn(new LinkedHashMap<String, String>());
+        token.next = token_ID;
+        token_ID.next = token_TYPE;
+        token_TYPE.next = token_ID1;
+        token_ID1.next = token_PROPERTY;
+        token_PROPERTY.next = token_ID2;
+        token_ID2.next = token_COLON;
+        token_COLON.next = token_SEMICOLON;
+
+        field_jj_ntk.set(class1, NEMOparserConstants.PROPERTY);
+        field_token.set(class1, token);
+        Assert.assertTrue(NEMOparser.abstractConnection(definition) == null);
     }
 
     @Test
     public void testAbstractFlow() throws Exception {
+        UpdateTemplateDefinitionLang definition = mock(UpdateTemplateDefinitionLang.class);
+
+        Field field_jj_ntk = class1.getDeclaredField("jj_ntk");
+        field_jj_ntk.setAccessible(true);
+        Field field_token = class1.getDeclaredField("token");
+        field_token.setAccessible(true);
+
+        Token token = new Token();
+        Token token_ID = new Token();
+        token_ID.kind = NEMOparserConstants.ID;
+        token_ID.image = "test";
+        Token token_MATCH = new Token();
+        token_MATCH.kind = NEMOparserConstants.MATCH;
+        Token token_ID1 = new Token();
+        token_ID1.kind = NEMOparserConstants.ID;
+        Token token_COLON = new Token();
+        token_COLON.kind = NEMOparserConstants.COLON;
+        Token token_PROPERTY = new Token();
+        token_PROPERTY.kind = NEMOparserConstants.PROPERTY;
+        Token token_ID2 = new Token();
+        token_ID2.kind = NEMOparserConstants.ID;
+        Token token_COLON1 = new Token();
+        token_COLON1.kind = NEMOparserConstants.COLON;
+        Token token_SEMICOLON = new Token();
+        token_SEMICOLON.kind = NEMOparserConstants.SEMICOLON;
+        //connect
+        token.next = token_ID;
+        token_ID.next = token_MATCH;
+        token_MATCH.next = token_ID1;
+        token_ID1.next = token_COLON;
+        token_COLON.next = token_PROPERTY;
+        token_PROPERTY.next = token_ID2;
+        token_ID2.next = token_COLON1;
+        token_COLON1.next = token_SEMICOLON;
+
+        field_jj_ntk.set(class1, NEMOparserConstants.PROPERTY);
+        field_token.set(class1, token);
+
+        PowerMockito.mockStatic(NEMOparser.class);
+        PowerMockito.when(NEMOparser.property()).thenReturn(new LinkedHashMap<String, String>());
+        when(definition.createAbstractFlow(any(String.class), any(LinkedHashMap.class), any(LinkedHashMap.class))).thenReturn("test");
+        Assert.assertTrue(NEMOparser.abstractFlow(definition) == null);
 
     }
 
index c3c349fe7af4e59bc08416ddd6a5a5334cd181f9..ed95f7e66f94731caa57be13029294fc8a6d80fb 100644 (file)
@@ -13,12 +13,6 @@ import org.junit.Before;
 import org.junit.Test;\r
 import static org.mockito.Mockito.*;\r
 import static org.junit.Assert.*;\r
-import java.util.ArrayList;\r
-import java.util.List;\r
-import java.util.HashMap;\r
-import java.util.LinkedHashMap;\r
-import java.lang.reflect.Method; \r
-import java.util.*;\r
 \r
 \r
 import org.opendaylight.nemo.user.tenantmanager.TenantManage;\r
@@ -47,6 +41,8 @@ import java.util.HashMap;
 import java.util.LinkedHashMap;\r
 \r
 import  java.io.*;\r
+import java.lang.reflect.Field;\r
+import java.lang.reflect.Method;\r
 \r
 /**\r
  * Created by Thomas Liu on 2015/12/14.\r
@@ -61,6 +57,9 @@ public class UpdateConnectionLangTest extends TestCase {
     private List<String> endnodes;\r
     private LinkedHashMap<String, LinkedHashMap<String,String>> propertyList;\r
     private LinkedHashMap<String,String> properties;\r
+    private Field field;\r
+    private Class class1;\r
+    private Method method;\r
 \r
     //createConnection\r
     private User user;\r
@@ -82,7 +81,7 @@ public class UpdateConnectionLangTest extends TestCase {
         connectionname = new String("conn1");\r
         connectiontype = new String("p2p");\r
         endnodes = new ArrayList<String>(){{add(new String("123"));}};\r
-\r
+        class1 = UpdateConnectionLang.class;\r
         //createConnection\r
         user = mock(User.class);\r
         object = mock(Objects.class);\r
@@ -99,170 +98,129 @@ public class UpdateConnectionLangTest extends TestCase {
 \r
     @org.junit.Test\r
     public void testConnectionHandling() throws Exception {\r
-\r
-\r
+        field = class1.getDeclaredField("updateConnection");\r
+        UpdateConnection updateConnection = mock(UpdateConnection.class);\r
+        field.setAccessible(true);\r
+        field.set(updateConnectionLangTest,updateConnection);\r
+        field = class1.getDeclaredField("connection");\r
+        Connection connection = mock(Connection.class);\r
+        field.setAccessible(true);\r
+        field.set(updateConnectionLangTest,connection);\r
         //errorInfo == null\r
+        endnodes = new ArrayList<String>(){{add(new String("123"));}};\r
+        connectiontype = new String("p2p");\r
         properties = new LinkedHashMap<String,String>(){{\r
-            put(new String("1"),NEMOConstants.range);\r
-            put(new String("group"),NEMOConstants.string);\r
+            //put(new String("1"),NEMOConstants.range);\r
+            //put(new String("group"),NEMOConstants.string);\r
             //put(new String("100"),NEMOConstants.integer);\r
             put(new String("100,200"),NEMOConstants.range);\r
         }};\r
         propertyList.put(new String("p1"),properties);\r
+        //checkProperties()\r
         //createConnection()\r
         //userId,connectionname,connectiontype,endnodes,propertyList\r
-        doNothing().when(tenantManage).fetchVNSpace(userId);\r
-        when(tenantManage.getUser()).thenReturn(user);\r
-        when(user.getObjects()).thenReturn(object);\r
-        when(object.getNode()).thenReturn(nodeList);\r
-        when(object.getNode()).thenReturn(nodeList);\r
-        when(object.getConnection()).thenReturn(connList);\r
-        when(object.getConnection()).thenReturn(connList);\r
-\r
-        //connection\r
-        //connection exists\r
-        when(connList.get(0).getConnectionName()).thenReturn(connectionName);\r
-        when(connectionName.getValue()).thenReturn(new String("conn1"));\r
-        when(connList.get(0).getConnectionId()).thenReturn(connectionId);\r
-\r
-        //endnodes\r
-        when(nodeList.get(0).getNodeName()).thenReturn(nodeName);\r
-        when(nodeName.getValue()).thenReturn(new String("node1"));\r
-        when(nodeList.get(0).getNodeId()).thenReturn(nodeId);\r
-        when(nodeList.get(0).getNodeId()).thenReturn(nodeId);\r
-\r
-        //propertylist\r
-        updateConnectionLangTest.ConnectionHandling(userId, connectionname, connectiontype, endnodes, propertyList);\r
-\r
+        when(tenantManage.getObjectId(userId,connectionname)).thenReturn("11111111-1111-1111-1111-111111111111");\r
+        HashMap<ConnectionId,Connection> connectionMap = new HashMap<ConnectionId,Connection>();\r
+        ConnectionId connectionId = new ConnectionId("11111111-1111-1111-1111-111111111111");\r
+        Connection connection2 = mock(Connection.class);\r
+        connectionMap.put(connectionId,connection2);\r
+        when(tenantManage.getConnection(userId)).thenReturn(connectionMap);\r
+        when(tenantManage.getConnection(userId)).thenReturn(connectionMap);\r
+        //if (!endnodes.isEmpty())\r
+        when(tenantManage.getObjectId(userId,"123")).thenReturn("11111111-1111-1111-1111-111111111111");\r
+        when(tenantManage.getObjectId(userId,"123")).thenReturn("11111111-1111-1111-1111-111111111111");\r
+        when(updateConnection.ConnectionHandling(userId,connection)).thenReturn("ConnectionHandling");\r
+        System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@ Result1 :"+updateConnectionLangTest.ConnectionHandling(userId, connectionname, connectiontype, endnodes, propertyList));\r
+\r
+\r
+        //\r
         properties = new LinkedHashMap<String,String>(){{\r
-            //put(new String("1"),NEMOConstants.range);\r
-            //put(new String("group"),NEMOConstants.string);\r
-            //put(new String("100"),NEMOConstants.integer);\r
             put(new String("100,200"),NEMOConstants.range);\r
+            put(new String("100"),NEMOConstants.integer);\r
         }};\r
         propertyList.put(new String("p1"),properties);\r
-        //createConnection()\r
-        //userId,connectionname,connectiontype,endnodes,propertyList\r
-        doNothing().when(tenantManage).fetchVNSpace(userId);\r
-        when(tenantManage.getUser()).thenReturn(user);\r
-        when(user.getObjects()).thenReturn(object);\r
-        when(object.getNode()).thenReturn(nodeList);\r
-        when(object.getNode()).thenReturn(nodeList);\r
-        when(object.getConnection()).thenReturn(connList);\r
-        when(object.getConnection()).thenReturn(connList);\r
-\r
-        //connection\r
-        //connection exists\r
-        when(connList.get(0).getConnectionName()).thenReturn(connectionName);\r
-        when(connectionName.getValue()).thenReturn(new String("conn1"));\r
-        when(connList.get(0).getConnectionId()).thenReturn(connectionId);\r
-\r
-        //endnodes\r
-        when(nodeList.get(0).getNodeName()).thenReturn(nodeName);\r
-        when(nodeName.getValue()).thenReturn(new String("node1"));\r
-        when(nodeList.get(0).getNodeId()).thenReturn(nodeId);\r
-        when(nodeList.get(0).getNodeId()).thenReturn(nodeId);\r
+        System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@ Result2 :"+updateConnectionLangTest.ConnectionHandling(userId, connectionname, connectiontype, endnodes, propertyList));\r
+    }\r
 \r
-        //propertylist\r
-        updateConnectionLangTest.ConnectionHandling(userId, connectionname, connectiontype, endnodes, propertyList);\r
+    @org.junit.Test\r
+    public void testcheckProperty() throws Exception {\r
+        method = class1.getDeclaredMethod("checkProperty",new Class[]{\r
+                LinkedHashMap.class,\r
+        });\r
+        properties = new LinkedHashMap<String,String>(){{\r
+            put(new String("100"),NEMOConstants.integer);\r
+            put(new String("group"),NEMOConstants.string);\r
+            put(new String("100,200"),NEMOConstants.range);\r
+        }};\r
+        propertyList.put(new String("s1"),properties);\r
+        method.setAccessible(true);\r
+        System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@ Result3 :"+method.invoke(updateConnectionLangTest,propertyList));\r
 \r
-        /*connList = new ArrayList<Connection>();\r
-        endnodes = new ArrayList<String>();\r
         properties = new LinkedHashMap<String,String>(){{\r
-            //put(new String("1"),NEMOConstants.range);\r
-            //put(new String("group"),NEMOConstants.string);\r
-            //put(new String("100"),NEMOConstants.integer);\r
+            put(new String("group"),NEMOConstants.string);\r
+            put(new String("100"),NEMOConstants.integer);\r
             put(new String("100,200"),NEMOConstants.range);\r
         }};\r
-        propertyList.put(new String("p1"),properties);\r
-        //createConnection()\r
-        //userId,connectionname,connectiontype,endnodes,propertyList\r
-        doNothing().when(tenantManage).fetchVNSpace(userId);\r
-        when(tenantManage.getUser()).thenReturn(user);\r
-        when(user.getObjects()).thenReturn(object);\r
-        when(object.getNode()).thenReturn(nodeList);\r
-        when(object.getNode()).thenReturn(nodeList);\r
-        when(object.getConnection()).thenReturn(connList);\r
-        when(object.getConnection()).thenReturn(connList);\r
+        propertyList.put(new String("s1"),properties);\r
+        System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@ Result4 :"+method.invoke(updateConnectionLangTest,propertyList));\r
+    }\r
 \r
+    @org.junit.Test\r
+    public void testcreateConnection() throws Exception {\r
 \r
-        updateConnectionLangTest.ConnectionHandling(userId, connectionname, connectiontype, endnodes, propertyList);*/\r
+        method = class1.getDeclaredMethod("createConnection",new Class[]{\r
+                UserId.class,\r
+                String.class,\r
+                String.class,\r
+                List.class,\r
+                LinkedHashMap.class,\r
+        });\r
+        method.setAccessible(true);\r
 \r
 \r
         properties = new LinkedHashMap<String,String>(){{\r
-            //put(new String("1"),NEMOConstants.range);\r
-            //put(new String("group"),NEMOConstants.string);\r
-            //put(new String("100"),NEMOConstants.integer);\r
-            //put(new String("100,200"),NEMOConstants.range);\r
+            put(new String("100"),NEMOConstants.string);\r
         }};\r
         propertyList.put(new String("p1"),properties);\r
-        //createConnection()\r
-        //userId,connectionname,connectiontype,endnodes,propertyList\r
+        endnodes = new ArrayList<String>();\r
+        when(tenantManage.getObjectId(userId,connectionname)).thenReturn(null);\r
+        System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@ Result5 :"+method.invoke(updateConnectionLangTest,userId,connectionname,connectiontype,endnodes,propertyList));\r
 \r
-        //updateConnectionLangTest.ConnectionHandling(userId, connectionname, connectiontype, endnodes, propertyList);\r
 \r
+        properties = new LinkedHashMap<String,String>(){{\r
+            put(new String("200,100"),NEMOConstants.range);\r
+        }};\r
+        propertyList.put(new String("p1"),properties);\r
+        endnodes = new ArrayList<String>();\r
+        when(tenantManage.getObjectId(userId,connectionname)).thenReturn(null);\r
+        System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@ Result6 :"+method.invoke(updateConnectionLangTest,userId,connectionname,connectiontype,endnodes,propertyList));\r
 \r
+        properties = new LinkedHashMap<String,String>(){{\r
+            put(new String("1"),NEMOConstants.integer);\r
+        }};\r
+        propertyList.put(new String("p1"),properties);\r
+        endnodes = new ArrayList<String>();\r
+        when(tenantManage.getObjectId(userId,connectionname)).thenReturn(null);\r
+        System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@ Result7 :"+method.invoke(updateConnectionLangTest,userId,connectionname,connectiontype,endnodes,propertyList));\r
 \r
-    }\r
-       @org.junit.Test\r
-       public void createConnectionTest() throws Exception{\r
-     UserId userId1=mock(UserId.class);\r
-        String connectionname1;\r
-        String connectiontype1;\r
-        connectionname1 = new String("conn1");\r
-     connectiontype1 = new String("p2p");\r
-        List<String> endnodes1=null;\r
-        LinkedHashMap<String, LinkedHashMap<String,String>> propertyList1=null;\r
-        Class<?>[] args=new Class<?>[5];\r
-               args[0]=userId1.getClass();\r
-               args[1]=connectionname1.getClass();\r
-               args[2]=connectiontype1.getClass();\r
-               args[3]=endnodes1.getClass();\r
-               args[4]=propertyList1.getClass();\r
-               Object[] args1 = new Object[4]; \r
-               for(int i=0;i<5;i++)\r
-           args1[i]=new Object();\r
-               args1[0]=userId1;\r
-               args1[1]=connectionname1;\r
-               args1[2]=connectiontype1;\r
-               args1[3]=endnodes1;\r
-               args1[4]=propertyList1;\r
-       Method methon=updateConnectionLangTest.getClass().getDeclaredMethod("createConnection",args);\r
-       methon.setAccessible(true);\r
-       //branch 1 \r
-        when(tenantManage.getObjectId(userId1,connectionname1)).thenReturn(null);\r
-     Assert.assertNull(methon.invoke(updateConnectionLangTest,args1));\r
-       //branch 2 \r
-       Map<ConnectionId, Connection> map=new HashMap<ConnectionId,Connection>();\r
-       ConnectionId connectionId1=new ConnectionId("111111111111");\r
-       Connection connection1=mock(Connection.class);\r
-       map.put(connectionId1,connection1);\r
-       ConnectionKey connectionkey=mock(ConnectionKey.class);\r
-       when(tenantManage.getObjectId(userId1,connectionname1)).thenReturn("111111111111");\r
-       when(tenantManage.getObjectId(userId1,connectionname1)).thenReturn("111111111111");\r
-       when(tenantManage.getConnection(userId1)).thenReturn(map);\r
-    when(connection1.getKey()).thenReturn(connectionkey);\r
-       when(connection1.getConnectionId()).thenReturn(connectionId1);\r
-       Assert.assertNull(methon.invoke(updateConnectionLangTest,args1));\r
-       //branch 3\r
-       when(tenantManage.getObjectId(userId1,connectionname1)).thenReturn(null);\r
-        endnodes1 = new ArrayList<String>(){{add(new String("123"));}};\r
-       args1[3]=endnodes1;\r
-       when(tenantManage.getObjectId(userId,"123")).thenReturn(null);\r
-       Assert.assertNotNull(methon.invoke(updateConnectionLangTest,args1));\r
-       //branch 4\r
-       when(tenantManage.getObjectId(userId1,connectionname1)).thenReturn(null);\r
-       propertyList1 = new LinkedHashMap<String, LinkedHashMap<String,String>>();\r
-       LinkedHashMap<String,String> properties1 = new LinkedHashMap<String,String>(){{\r
-            put(new String("1"),NEMOConstants.range);\r
-            put(new String("group"),NEMOConstants.string);\r
+        properties = new LinkedHashMap<String,String>(){{\r
             put(new String("100"),NEMOConstants.integer);\r
-            put(new String("100,200"),NEMOConstants.range);\r
+\r
         }};\r
-    propertyList1.put(new String("p1"),properties1);\r
-       endnodes1=null;\r
-       args1[3]=endnodes1;\r
-       args1[4]=propertyList1;\r
-       Assert.assertNull(methon.invoke(updateConnectionLangTest,args1));\r
-       }\r
+        propertyList.put(new String("p1"),properties);\r
+        endnodes = new ArrayList<String>();\r
+        HashMap<ConnectionId,Connection> connectionMap = new HashMap<ConnectionId,Connection>();\r
+        ConnectionId connectionId = new ConnectionId("11111111-1111-1111-1111-111121111111");\r
+        Connection connection2 = mock(Connection.class);\r
+        connectionMap.put(connectionId,connection2);\r
+        when(tenantManage.getObjectId(userId,connectionname)).thenReturn("11111111-1111-1111-1111-111111111111");\r
+        when(tenantManage.getConnection(userId)).thenReturn(connectionMap);\r
+        connectionMap.clear();\r
+        connectionMap.put(new ConnectionId("11111111-1111-1111-1111-111111111111"),connection2);\r
+        when(tenantManage.getConnectionDataStore(userId)).thenReturn(connectionMap);\r
+        when(tenantManage.getConnectionDataStore(userId)).thenReturn(connectionMap);\r
+        System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@ Result8 :"+method.invoke(updateConnectionLangTest,userId,connectionname,connectiontype,endnodes,propertyList));\r
+    }\r
+\r
+\r
 }
\ No newline at end of file
index 37bda1e88d576be4780705bcf8b9bb96673d1627..3b1e62b269a26a07ef58d7ef7c97364395313b70 100644 (file)
@@ -18,15 +18,17 @@ import java.util.ArrayList;
 import java.util.List;\r
 import java.util.HashMap;\r
 import java.util.LinkedHashMap;\r
-import java.lang.reflect.Method; \r
-import java.util.*;\r
+\r
+import java.lang.reflect.Field;\r
+import java.lang.reflect.Method;\r
 \r
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.Objects;\r
 import org.opendaylight.nemo.user.tenantmanager.TenantManage;\r
 import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOConstants;\r
+import org.opendaylight.nemo.user.vnspacemanager.structurestyle.updateintent.UpdateConnection;\r
 import org.opendaylight.nemo.user.vnspacemanager.structurestyle.updateintent.UpdateFlow;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.*;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.objects.Connection;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.objects.Flow;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.objects.FlowBuilder;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.objects.FlowKey;\r
@@ -39,7 +41,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.obj
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.FlowName;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.FlowId;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.Objects;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.objects.Flow;\r
+\r
 /**\r
  * Created by Thomas Liu on 2015/12/15.\r
  */\r
@@ -56,6 +58,9 @@ public class UpdateFlowLangTest extends TestCase {
     private Objects object;\r
     private List<Flow> flows;\r
     private LinkedHashMap<String,String> matches,properties;\r
+    private Class class1;\r
+    private Method method;\r
+    private Field field;\r
 \r
 \r
     @org.junit.Before\r
@@ -64,6 +69,7 @@ public class UpdateFlowLangTest extends TestCase {
         tenantManage = mock(TenantManage.class);\r
         updateFlowLangTest = new UpdateFlowLang(dataBroker,tenantManage);\r
         flowname = new String("flow1");\r
+        class1 = UpdateFlowLang.class;\r
 \r
         user = mock(User.class);\r
         object = mock(Objects.class);\r
@@ -75,106 +81,128 @@ public class UpdateFlowLangTest extends TestCase {
 \r
     @org.junit.Test\r
     public void testFlowHandling() throws Exception {\r
-        doNothing().when(tenantManage).fetchVNSpace(userId);\r
-        when(tenantManage.getUser()).thenReturn(user);\r
-\r
-        when(user.getObjects()).thenReturn(object);\r
-        when(user.getObjects()).thenReturn(object);\r
-        when(object.getFlow()).thenReturn(flows);\r
-        when(user.getObjects()).thenReturn(object);\r
-        when(object.getFlow()).thenReturn(flows);\r
-\r
-        when(flows.get(0).getFlowName()).thenReturn(new FlowName("flow1"));\r
-        when(flows.get(0).getFlowId()).thenReturn(new FlowId("11111111-1111-1111-1111-111111111111"));\r
 \r
+        field = class1.getDeclaredField("updateFlow");\r
+        UpdateFlow updateFlow = mock(UpdateFlow.class);\r
+        field.setAccessible(true);\r
+        field.set(updateFlowLangTest,updateFlow);\r
+        field = class1.getDeclaredField("flow");\r
+        Flow flow2 = mock(Flow.class);\r
+        field.setAccessible(true);\r
+        field.set(updateFlowLangTest,flow2);\r
         matches = new LinkedHashMap<String,String>(){{\r
             put(new String("group"),NEMOConstants.string);\r
             put(new String("100"),NEMOConstants.integer);\r
             put(new String("100,200"),NEMOConstants.range);\r
+            put(new String("200,100"),NEMOConstants.range);\r
         }};\r
-        flowmatch.put(new String("1"),matches);\r
+        flowmatch.put(new String("s1"),matches);\r
 \r
         properties = new LinkedHashMap<String,String>(){{\r
             //put(new String("1"),NEMOConstants.range);\r
-            put(new String("group"),NEMOConstants.string);\r
-            put(new String("100"),NEMOConstants.integer);\r
+            //put(new String("group"),NEMOConstants.string);\r
+            //put(new String("100"),NEMOConstants.integer);\r
             put(new String("100,200"),NEMOConstants.range);\r
         }};\r
-        propertyList.put(new String("1"),properties);\r
+        propertyList.put(new String("s1"),properties);\r
+        //createflow\r
+        when(tenantManage.getObjectId(userId,flowname)).thenReturn("11111111-1111-1111-1111-111111111111");\r
+        HashMap<FlowId,Flow> flowMap = new HashMap<FlowId,Flow>();\r
+        FlowId flowId = new FlowId("11111111-1111-1111-1111-111111111111");\r
+        Flow flow = mock(Flow.class);\r
+        flowMap.put(flowId,flow);\r
+        when(tenantManage.getObjectId(userId,flowname)).thenReturn("11111111-1111-1111-1111-111111111111");\r
+        when(tenantManage.getFlow(userId)).thenReturn(flowMap);\r
+        when(tenantManage.getFlow(userId)).thenReturn(flowMap);\r
+        when(updateFlow.FlowHandling(userId,flow2)).thenReturn("FlowHandling");\r
+        System.out.println("&&&&&&&&&&&&&&&&&&&&&& Result1: " + updateFlowLangTest.FlowHandling(userId, flowname, flowmatch, propertyList));\r
 \r
 \r
-        updateFlowLangTest.FlowHandling(userId,flowname,flowmatch,propertyList);\r
+        properties = new LinkedHashMap<String,String>(){{\r
+            put(new String("100,200"),NEMOConstants.range);\r
+            put(new String("1"),NEMOConstants.range);\r
+        }};\r
+        propertyList.put(new String("s1"),properties);\r
+        System.out.println("&&&&&&&&&&&&&&&&&&&&&& Result2: " + updateFlowLangTest.FlowHandling(userId, flowname, flowmatch, propertyList));\r
 \r
     }\r
-       @org.junit.Test\r
-       public void createFlowTest() throws Exception{\r
-               UserId userid=mock(UserId.class);\r
-               String flowname="flowname";\r
-               LinkedHashMap<String,LinkedHashMap<String,String>> flowmatch=null;\r
-               LinkedHashMap<String,LinkedHashMap<String,String>> propertyList=null;\r
-               doNothing().when(tenantManage).fetchVNSpace(userId);\r
-               when(tenantManage.getUser()).thenReturn(user);\r
-               when(user.getObjects()).thenReturn(null);\r
-               Class<?>[] args=new Class<?>[4];\r
-               args[0]=userid.getClass();\r
-               args[1]=flowname.getClass();\r
-               args[2]=flowmatch.getClass();\r
-               args[3]=propertyList.getClass();\r
-               Object[] args1 = new Object[4]; \r
-               args1[0]=userid;\r
-               args1[1]=flowname;\r
-               args1[2]=flowmatch;\r
-               args1[3]=propertyList;\r
-               Method setupdateintentlang= updateFlowLangTest.getClass().getDeclaredMethod("createFlow",args);  \r
-               setupdateintentlang.setAccessible(true);\r
-               Assert.assertNull(setupdateintentlang.invoke(updateFlowLangTest,args1));\r
-               //branch 2\r
-               Objects objects=mock(Objects.class);\r
-               Flow flow=mock(Flow.class);\r
-               doNothing().when(tenantManage).fetchVNSpace(userId);\r
-               when(tenantManage.getUser()).thenReturn(user);\r
-               List<Flow> flows = new ArrayList<Flow>();\r
-               flows.add(flow);\r
-               FlowId flowId = new FlowId(UUID.randomUUID().toString());\r
-               when(user.getObjects()).thenReturn(objects);\r
-               when(objects.getFlow()).thenReturn(flows);\r
-               when(flow.getFlowName().getValue()).thenReturn(flowname);\r
-               when(flow.getKey()).thenReturn(new FlowKey(flowId));\r
-               when(flow.getFlowId()).thenReturn(flowId);\r
-               Assert.assertNull(setupdateintentlang.invoke(updateFlowLangTest,args1));\r
-               //branch 3\r
-               doNothing().when(tenantManage).fetchVNSpace(userId);\r
-               when(tenantManage.getUser()).thenReturn(user);\r
-               when(user.getObjects()).thenReturn(objects);\r
-               when(objects.getFlow()).thenReturn(flows);\r
-               when(flow.getFlowName().getValue()).thenReturn(flowname);\r
-               when(flow.getKey()).thenReturn(new FlowKey(flowId));\r
-               when(flow.getFlowId()).thenReturn(flowId);\r
-        flowmatch = new LinkedHashMap<String,LinkedHashMap<String,String>>();\r
 \r
-               args1[0]=userid;\r
-               args1[1]=flowname;\r
-               args1[3]=flowmatch;\r
-               args1[4]=propertyList;\r
-        matches = new LinkedHashMap<String,String>(){{\r
-            put(new String("group"),NEMOConstants.string);\r
+    @org.junit.Test\r
+    public void testcheckProperty() throws Exception {\r
+        System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&" );\r
+        System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&" );\r
+        System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&" );\r
+        method = class1.getDeclaredMethod("checkProperty",new Class[]{\r
+                LinkedHashMap.class,\r
+        });\r
+        method.setAccessible(true);\r
+\r
+        properties = new LinkedHashMap<String,String>(){{\r
             put(new String("100"),NEMOConstants.integer);\r
+            put(new String("group"),NEMOConstants.string);\r
             put(new String("100,200"),NEMOConstants.range);\r
-                       put(new String("300,200"),NEMOConstants.range);\r
         }};\r
-               flowmatch.put(new String("1"),matches);\r
-               Assert.assertNull(setupdateintentlang.invoke(updateFlowLangTest,args1));\r
-               //branch 4\r
-        propertyList = new LinkedHashMap<String,LinkedHashMap<String,String>>();\r
+        propertyList.put(new String("s1"),properties);\r
+        System.out.println("&&&&&&&&&&&&&&&&&&&&&& Result3: " + method.invoke(updateFlowLangTest, propertyList));\r
+\r
         properties = new LinkedHashMap<String,String>(){{\r
             put(new String("group"),NEMOConstants.string);\r
             put(new String("100"),NEMOConstants.integer);\r
             put(new String("100,200"),NEMOConstants.range);\r
-                       put(new String("300,200"),NEMOConstants.range);\r
         }};\r
-        propertyList.put(new String("1"),properties);\r
-               args1[4]=propertyList;\r
-        Assert.assertNotNull(setupdateintentlang.invoke(updateFlowLangTest,args1));    \r
-               \r
-       }\r
+        propertyList.put(new String("s1"),properties);\r
+        System.out.println("&&&&&&&&&&&&&&&&&&&&&& Result4: " +  method.invoke(updateFlowLangTest, propertyList));\r
+    }\r
+\r
+\r
+    @org.junit.Test\r
+    public void testcreateFlow() throws Exception{\r
+        method = class1.getDeclaredMethod("createFlow",new Class[]{\r
+                UserId.class,\r
+                String.class,\r
+                LinkedHashMap.class,\r
+                LinkedHashMap.class,\r
+        });\r
+        method.setAccessible(true);\r
+\r
+        properties = new LinkedHashMap<String,String>(){{\r
+            put(new String("100"),NEMOConstants.string);\r
+        }};\r
+        propertyList.put(new String("p1"),properties);\r
+        matches = new LinkedHashMap<String,String>();\r
+        flowmatch.put(new String("s1"),matches);\r
+        when(tenantManage.getObjectId(userId,flowname)).thenReturn(null);\r
+        System.out.println("&&&&&&&&&&&&&&&&&&&&&& Result5: " +  method.invoke(updateFlowLangTest, userId,flowname,flowmatch,propertyList));\r
+\r
+\r
+        properties = new LinkedHashMap<String,String>(){{\r
+            put(new String("200,100"),NEMOConstants.range);\r
+        }};\r
+        propertyList.put(new String("p1"),properties);\r
+        when(tenantManage.getObjectId(userId,flowname)).thenReturn(null);\r
+        System.out.println("&&&&&&&&&&&&&&&&&&&&&& Result6: " +  method.invoke(updateFlowLangTest, userId,flowname,flowmatch,propertyList));\r
+\r
+        properties = new LinkedHashMap<String,String>(){{\r
+            put(new String("1"),NEMOConstants.integer);\r
+        }};\r
+        propertyList.put(new String("p1"),properties);\r
+        when(tenantManage.getObjectId(userId,flowname)).thenReturn(null);\r
+        System.out.println("&&&&&&&&&&&&&&&&&&&&&& Result7: " +  method.invoke(updateFlowLangTest, userId,flowname,flowmatch,propertyList));\r
+\r
+        properties = new LinkedHashMap<String,String>(){{\r
+            put(new String("1"),NEMOConstants.integer);\r
+        }};\r
+        propertyList.put(new String("p1"),properties);\r
+        HashMap<FlowId,Flow> flowMap = new HashMap<FlowId,Flow>();\r
+        FlowId flowId = new FlowId("11111111-1111-1111-1111-111111111111");\r
+        Flow flow = mock(Flow.class);\r
+        when(tenantManage.getObjectId(userId,flowname)).thenReturn("11111111-1111-1111-1111-111111111111");\r
+        when(tenantManage.getObjectId(userId,flowname)).thenReturn("11111111-1111-1111-1111-111111111111");\r
+        when(tenantManage.getFlow(userId)).thenReturn(flowMap);\r
+        flowMap.put(flowId,flow);\r
+        when(tenantManage.getFlowDataStore(userId)).thenReturn(flowMap);\r
+        when(tenantManage.getFlowDataStore(userId)).thenReturn(flowMap);\r
+        System.out.println("&&&&&&&&&&&&&&&&&&&&&& Result8: " +  method.invoke(updateFlowLangTest, userId,flowname,flowmatch,propertyList));\r
+\r
+    }\r
 }
\ No newline at end of file
index d07849830950cec52e0c21e707c1eee5a266ed9c..88f38a1eaf82887b6755f613be5ca1f176dd03bf 100644 (file)
@@ -15,22 +15,17 @@ import org.junit.Test;
 import static org.mockito.Mockito.*;\r
 import static org.junit.Assert.*;\r
 \r
-import java.util.ArrayList;\r
-import java.util.List;\r
-import java.util.HashMap;\r
-import java.util.LinkedHashMap;\r
-import java.util.ArrayList;\r
-import java.util.List;\r
-import java.util.HashMap;\r
-import java.util.LinkedHashMap;\r
-import java.lang.reflect.Method; \r
 import java.util.*;\r
+\r
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;\r
 import org.opendaylight.nemo.user.tenantmanager.TenantManage;\r
 import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOConstants;\r
 import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOParse.NEMOparser;\r
+import org.opendaylight.nemo.user.vnspacemanager.structurestyle.updateintent.GetDefinitions;\r
 import org.opendaylight.nemo.user.vnspacemanager.structurestyle.updateintent.UpdateNode;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.generic.physical.network.rev151010.physical.network.physical.hosts.PhysicalHost;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.*;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.engine.common.rev151010.PhysicalHostName;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.objects.Node;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.objects.NodeBuilder;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.objects.NodeKey;\r
@@ -41,7 +36,14 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.obj
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.NodeName;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.NodeId;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.NodeType;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.ObjectId;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.Objects;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.TemplateName;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.template.definitions.TemplateDefinition;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.UserRoleName;\r
+//import java.lang.reflect.Field;\r
+import java.lang.reflect.Field;\r
+import java.lang.reflect.Method;\r
 \r
 \r
 \r
@@ -62,144 +64,262 @@ public class UpdateNodeLangTest extends TestCase {
     private User user;\r
     private Objects object;\r
     private List<Node> nodes;\r
+    private Field field;\r
+    private Class class1;\r
+    private Method method;\r
 \r
     @org.junit.Before\r
     public void setUp() throws Exception {\r
         dataBroker = mock(DataBroker.class);\r
         tenantManage = mock(TenantManage.class);\r
         updateNodeLangTest = new UpdateNodeLang(dataBroker,tenantManage);\r
-\r
         propertyList = new LinkedHashMap<String,LinkedHashMap<String,String>>();\r
-        properties = new LinkedHashMap<String,String>(){{\r
-            //put(new String("1"),NEMOConstants.range);\r
-            put(new String("group"),NEMOConstants.string);\r
-            put(new String("100"),NEMOConstants.integer);\r
-            put(new String("100,200"),NEMOConstants.range);\r
-        }};\r
-        propertyList.put(new String("1"),properties);\r
-\r
         user = mock(User.class);\r
         object = mock(Objects.class);\r
         nodes = new ArrayList<Node>(){{add(mock(Node.class));}};\r
-\r
+        userId = mock(UserId.class);\r
         nodename = new String("node1");\r
+        class1 = UpdateNodeLang.class;\r
 \r
     }\r
 \r
     @org.junit.Test\r
     public void testNodeHandling() throws Exception {\r
+        //if (nodetype.equals(NEMOConstants.host)&&!subnodes.isEmpty())\r
+        nodetype = new String(NEMOConstants.host);\r
+        subnodes = new ArrayList<String>(){{\r
+            add("node1");\r
+        }};\r
+        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Result1 :"+updateNodeLangTest.NodeHandling(userId,nodename,nodetype,subnodes,propertyList));\r
+\r
+        //if (tenantManage.getTempalteDefinition(userId)!=null)\r
+        //if (!subnodes.isEmpty())\r
+        //if (nodeModel)\r
+        //if (!subnodes.isEmpty())\r
+        nodetype = new String("null");\r
+        subnodes = new ArrayList<String>(){{\r
+            add("node1");\r
+        }};\r
+        HashMap<TemplateName,TemplateDefinition>  TempalteDefinition = new HashMap<TemplateName,TemplateDefinition>();\r
+        TemplateName templateName = new TemplateName("null");\r
+        TemplateDefinition templateDefinition = mock(TemplateDefinition.class);\r
+        TempalteDefinition.put(templateName,templateDefinition);\r
+        when(tenantManage.getTempalteDefinition(userId)).thenReturn(TempalteDefinition);\r
+        when(tenantManage.getTempalteDefinition(userId)).thenReturn(TempalteDefinition);\r
+        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Result2 :"+updateNodeLangTest.NodeHandling(userId,nodename,nodetype,subnodes,propertyList));\r
+\r
+        //if (tenantManage.getTempalteDefinition(userId)==null)\r
+        //if (tenantManage.getDefinitionDataStore(userId)!=null)\r
+        //if (!subnodes.isEmpty())\r
+        //if (nodeModel)\r
+        //if (!subnodes.isEmpty())\r
+        nodetype = new String("null");\r
+        subnodes = new ArrayList<String>(){{\r
+            add("node1");\r
+        }};\r
+        when(tenantManage.getTempalteDefinition(userId)).thenReturn(null);\r
+        when(tenantManage.getDefinitionDataStore(userId)).thenReturn(TempalteDefinition);\r
+        when(tenantManage.getDefinitionDataStore(userId)).thenReturn(TempalteDefinition);\r
+        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Result3 :"+updateNodeLangTest.NodeHandling(userId,nodename,nodetype,subnodes,propertyList));\r
+\r
+        //if (tenantManage.getTempalteDefinition(userId)==null)\r
+        //if (tenantManage.getDefinitionDataStore(userId)==null)\r
+        // else if (!nodeModel)\r
+        //if (!subnodes.isEmpty())\r
+        //if (nodeModel)\r
+        //if (!subnodes.isEmpty())\r
+        nodetype = new String("null");\r
+        subnodes = new ArrayList<String>(){{\r
+            add("node1");\r
+        }};\r
+        HashMap<UserId, User> usersMap = new HashMap<UserId, User>();\r
+        UserId userId2 = mock(UserId.class);\r
+        User user2 = mock(User.class);\r
+        usersMap.put(userId2,user2);\r
+        when(tenantManage.getTempalteDefinition(userId)).thenReturn(null);\r
+        when(tenantManage.getDefinitionDataStore(userId)).thenReturn(null);\r
+        when(tenantManage.getUsers()).thenReturn(usersMap);\r
+        when(user2.getUserRole()).thenReturn(new UserRoleName(NEMOConstants.admin));\r
+        //when(user2.getUserRole()).thenReturn(1);\r
+        UserId userId3 = mock(UserId.class);\r
+        when(user2.getUserId()).thenReturn(userId3);\r
+        when(tenantManage.getDefinitionDataStore(userId3)).thenReturn(TempalteDefinition);\r
+        when(user2.getUserId()).thenReturn(userId3);\r
+        when(tenantManage.getDefinitionDataStore(userId3)).thenReturn(TempalteDefinition);\r
+        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Result4 :"+updateNodeLangTest.NodeHandling(userId,nodename,nodetype,subnodes,propertyList));\r
+\r
+        //if (tenantManage.getTempalteDefinition(userId)==null)\r
+        //if (tenantManage.getDefinitionDataStore(userId)==null)\r
+        // else if (!nodeModel)\r
+        //else\r
+        //(!propertyList.isEmpty())\r
+        //if (errorInfo==null)\r
+        //test checkProperty\r
+        //test createNode\r
+        nodetype = new String("null");\r
+        subnodes = new ArrayList<String>(){{\r
+            add("node1");\r
+        }};\r
+        properties = new LinkedHashMap<String,String>(){{\r
+            //put(new String("1"),NEMOConstants.range);\r
+            //put(new String("group"),NEMOConstants.string);\r
+            //put(new String("100"),NEMOConstants.integer);\r
+            put(new String("100,200"),NEMOConstants.range);\r
+            //put(new String("100"),NEMOConstants.integer);\r
+        }};\r
+        field = class1.getDeclaredField("updateNode");\r
+        UpdateNode updateNode = mock(UpdateNode.class);\r
+        field.setAccessible(true);\r
+        field.set(updateNodeLangTest,updateNode);\r
+        propertyList.put(new String("s1"),properties);\r
+        when(tenantManage.getTempalteDefinition(userId)).thenReturn(null);\r
+        when(tenantManage.getDefinitionDataStore(userId)).thenReturn(null);\r
+        when(tenantManage.getUsers()).thenReturn(usersMap);\r
+        when(user2.getUserRole()).thenReturn(new UserRoleName("null"));\r
+        //test createNode()\r
+        HashMap<NodeId,Node> nodeMap = new HashMap<NodeId,Node>();\r
+        NodeId nodeId4 = new NodeId("11111111-1111-1111-1111-111111111111");\r
+        Node node1 = mock(Node.class);\r
+        nodeMap.put(nodeId4, node1);\r
+        when(tenantManage.getObjectId(userId, nodename)).thenReturn("11111111-1111-1111-1111-111111111111");\r
+        when(tenantManage.getObjectId(userId,nodename)).thenReturn("11111111-1111-1111-1111-111111111111");\r
+        when(tenantManage.getNode(userId)).thenReturn(nodeMap);\r
+        when(node1.getNodeId()).thenReturn(new NodeId("11111111-1111-1111-1111-111111111111"));\r
+        //if (!subnodes.isEmpty())\r
+        when(tenantManage.getObjectId(userId,"node1")).thenReturn("11111111-1111-1111-1111-111111111111");\r
+        //if (errorInfo==null && !propertyList.isEmpty())\r
+        field = class1.getDeclaredField("node");\r
+        Node nodemock = mock(Node.class);\r
+        field.setAccessible(true);\r
+        field.set(updateNodeLangTest,nodemock);\r
+        when(updateNode.NodeHandling(userId,nodemock)).thenReturn("string");\r
+        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Result5 :"+updateNodeLangTest.NodeHandling(userId,nodename,nodetype,subnodes,propertyList));\r
 \r
-        nodetype = new String("host");\r
+        //if (tenantManage.getTempalteDefinition(userId)!=null)\r
+        //if (!subnodes.isEmpty())\r
+        //if (nodeModel)\r
+        //if else\r
+        nodetype = new String("null");\r
         subnodes = new ArrayList<String>();\r
-        updateNodeLangTest.NodeHandling(userId,nodename,nodetype,subnodes,propertyList);\r
+        field = class1.getDeclaredField("updateTemplateInstanceLang");\r
+        UpdateTemplateInstanceLang updateTemplateInstanceLang = mock(UpdateTemplateInstanceLang.class);\r
+        field.setAccessible(true);\r
+        field.set(updateNodeLangTest,updateTemplateInstanceLang);\r
+        when(tenantManage.getTempalteDefinition(userId)).thenReturn(TempalteDefinition);\r
+        when(tenantManage.getTempalteDefinition(userId)).thenReturn(TempalteDefinition);\r
+        when(updateTemplateInstanceLang.templateInstanceLang(userId,nodename,nodetype,propertyList)).thenReturn("errorinfo");\r
+        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Result6 :"+updateNodeLangTest.NodeHandling(userId,nodename,nodetype,subnodes,propertyList));\r
+\r
 \r
-        nodetype = new String("host");\r
+        //if (tenantManage.getTempalteDefinition(userId)==null)\r
+        //if (tenantManage.getDefinitionDataStore(userId)==null)\r
+        // else if (!nodeModel)\r
+        //else\r
+        //(!propertyList.isEmpty())\r
+        //if (errorInfo==null)\r
+        //test checkProperty()\r
+        nodetype = new String("null");\r
         subnodes = new ArrayList<String>(){{\r
             add("node1");\r
         }};\r
+        properties = new LinkedHashMap<String,String>(){{\r
+            put(new String("100,200"),NEMOConstants.range);\r
+            put(new String("100"),NEMOConstants.integer);\r
+        }};\r
+        propertyList.put(new String("s1"),properties);\r
+        when(tenantManage.getTempalteDefinition(userId)).thenReturn(null);\r
+        when(tenantManage.getDefinitionDataStore(userId)).thenReturn(null);\r
+        when(tenantManage.getUsers()).thenReturn(usersMap);\r
+        when(user2.getUserRole()).thenReturn(new UserRoleName("null"));\r
+\r
+        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Result7 :"+updateNodeLangTest.NodeHandling(userId,nodename,nodetype,subnodes,propertyList));\r
+    }\r
+\r
+    @org.junit.Test\r
+    public void testcheckProperty() throws Exception {\r
+        method = class1.getDeclaredMethod("checkProperty",new Class[]{\r
+                LinkedHashMap.class,\r
+        });\r
+        properties = new LinkedHashMap<String,String>(){{\r
+            put(new String("100"),NEMOConstants.integer);\r
+            put(new String("group"),NEMOConstants.string);\r
+            put(new String("100,200"),NEMOConstants.range);\r
+        }};\r
+        propertyList.put(new String("s1"),properties);\r
+        method.setAccessible(true);\r
+        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Result8 "+method.invoke(updateNodeLangTest,propertyList));\r
+\r
+\r
+        properties = new LinkedHashMap<String,String>(){{\r
+            put(new String("group"),NEMOConstants.string);\r
+            put(new String("100"),NEMOConstants.integer);\r
+            put(new String("100,200"),NEMOConstants.range);\r
+        }};\r
+        propertyList.put(new String("s1"),properties);\r
+        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Result9 "+method.invoke(updateNodeLangTest,propertyList));\r
+    }\r
+\r
+    @org.junit.Test\r
+    public void testcreateNode() throws Exception {\r
+        nodetype = new String(NEMOConstants.host);\r
+        method = class1.getDeclaredMethod("createNode",new Class[]{\r
+                UserId.class,\r
+                String.class,\r
+                String.class,\r
+                List.class,\r
+                LinkedHashMap.class,\r
 \r
-        doNothing().when(tenantManage).fetchVNSpace(userId);\r
-        when(tenantManage.getUser()).thenReturn(user);\r
+        });\r
+        subnodes = new ArrayList<String>(){{\r
+            add("node1");\r
+        }};\r
+        properties = new LinkedHashMap<String,String>(){{\r
+            put(new String("100,200"),NEMOConstants.range);\r
+            put(new String("100,200"),NEMOConstants.range);\r
+        }};\r
+        propertyList.put(new String("s1"),properties);\r
+        method.setAccessible(true);\r
+        field = class1.getDeclaredField("getDefinitions");\r
+        field.setAccessible(true);\r
+        GetDefinitions getDefinitions = mock(GetDefinitions.class);\r
+        field.set(updateNodeLangTest,getDefinitions);\r
+        Map<PhysicalHostName, PhysicalHost> physicalHostMap = new HashMap<PhysicalHostName, PhysicalHost>();\r
+        when(tenantManage.getObjectId(userId,nodename)).thenReturn(null);\r
+        when(getDefinitions.getPhysicalHost()).thenReturn(physicalHostMap);\r
+        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Result10 "+method.invoke(updateNodeLangTest,userId,nodename,nodetype,subnodes,propertyList));\r
 \r
-        when(user.getObjects()).thenReturn(object);\r
-        when(user.getObjects()).thenReturn(object);\r
-        when(object.getNode()).thenReturn(nodes);\r
-        when(user.getObjects()).thenReturn(object);\r
-        when(object.getNode()).thenReturn(nodes);\r
 \r
-        when(nodes.get(0).getNodeName()).thenReturn(new NodeName("node1"));\r
-        when(nodes.get(0).getNodeId()).thenReturn(new NodeId("11111111-1111-1111-1111-111111111111"));\r
+        subnodes = new ArrayList<String>();\r
+        properties = new LinkedHashMap<String,String>(){{\r
+            put(new String("group"),NEMOConstants.string);\r
+        }};\r
+        propertyList.put(new String("s1"),properties);\r
+        method.setAccessible(true);\r
 \r
-        when(nodes.get(0).getNodeName()).thenReturn(new NodeName("node1"));\r
-        when(nodes.get(0).getNodeId()).thenReturn(new NodeId("11111111-1111-1111-1111-111111111111"));\r
-        when(nodes.get(0).getNodeId()).thenReturn(new NodeId("11111111-1111-1111-1111-111111111111"));\r
+        HashMap<NodeId,Node> nodeMap = new HashMap<NodeId,Node>();\r
+        NodeId nodeId4 = new NodeId("11111111-1111-1111-1111-111111111111");\r
+        Node node1 = mock(Node.class);\r
+        nodeMap.put(nodeId4, node1);\r
+        when(tenantManage.getObjectId(userId, nodename)).thenReturn("11111111-1111-1111-1111-111111111111");\r
+        when(tenantManage.getObjectId(userId,nodename)).thenReturn("11111111-1111-1111-1111-111111111111");\r
+        when(tenantManage.getNode(userId)).thenReturn(null);\r
+        when(tenantManage.getNodeDataStore(userId)).thenReturn(nodeMap);\r
+        when(node1.getNodeId()).thenReturn(new NodeId("11111111-1111-1111-1111-111111111111"));\r
+        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Result11 "+method.invoke(updateNodeLangTest,userId,nodename,nodetype,subnodes,propertyList));\r
 \r
-        updateNodeLangTest.NodeHandling(userId, nodename, nodetype, subnodes, propertyList);\r
 \r
+        nodetype = "error";\r
+        subnodes = new ArrayList<String>();\r
+        properties = new LinkedHashMap<String,String>(){{\r
+            put(new String("100"),NEMOConstants.integer);\r
+        }};\r
+        propertyList.put(new String("s1"),properties);\r
+        method.setAccessible(true);\r
 \r
+        when(tenantManage.getObjectId(userId, nodename)).thenReturn("11111111-1111-1111-1111-111111111111");\r
+        when(tenantManage.getObjectId(userId,nodename)).thenReturn("11111111-1111-1111-1111-111111111111");\r
+        when(tenantManage.getNode(userId)).thenReturn(null);\r
+        when(tenantManage.getNodeDataStore(userId)).thenReturn(null);\r
+        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Result12 "+method.invoke(updateNodeLangTest,userId,nodename,nodetype,subnodes,propertyList));\r
     }\r
-       @org.junit.Test\r
-       public void createNodeTest() throws Exception{\r
-       //branch 1 \r
-       UserId userId=mock(UserId.class);\r
-       NodeId nodeid=new NodeId("11111111-1111-1111-1111-111111111111");\r
-       NodeKey nodekey=mock(NodeKey.class);\r
-       String nodename="nodename"; \r
-       String nodetype=NEMOConstants.host; \r
-       ObjectId objectid=mock(ObjectId.class);\r
-       List<String> subnodes=null; \r
-       Node node =mock(Node.class);\r
-       Map<NodeId, Node> nodes=new HashMap<NodeId, Node>(2);\r
-       nodes.put(nodeid,node);\r
-       LinkedHashMap<String, LinkedHashMap<String,String>> propertyList1=null;\r
-    when(tenantManage.getObjectId(userId,nodename)).thenReturn("11111111-1111-1111-1111-111111111111");        \r
-       when(tenantManage.getNode(any(UserId.class))).thenReturn(nodes);\r
-       when(nodes.get(any(NodeId.class))).thenReturn(node);\r
-       when(tenantManage.getNodeDataStore(userId)).thenReturn(nodes);\r
-       when(nodes.get(any(NodeId.class))).thenReturn(node);\r
-       when(node.getKey()).thenReturn(nodekey);\r
-       when(node.getNodeId()).thenReturn(nodeid);\r
-       Class<?>[] args=new Class<?>[5];\r
-       args[0]=userId.getClass();\r
-       args[1]=nodename.getClass();\r
-       args[2]=nodetype.getClass();\r
-       args[3]=subnodes.getClass();\r
-       args[4]=propertyList1.getClass();\r
-       Object[] args1 = new Object[5]; \r
-       args1[0]=userId;\r
-       args1[1]=nodename;\r
-       args1[2]=nodetype;\r
-       args1[3]=subnodes;\r
-       args1[4]=propertyList1;\r
-       Method updatenodeintentlang= updateNodeLangTest.getClass().getDeclaredMethod("createNode",args);  \r
-       updatenodeintentlang.setAccessible(true);\r
-       Assert.assertNull(updatenodeintentlang.invoke(updateNodeLangTest,args1));\r
-    //branch 2\r
-       when(tenantManage.getObjectId(userId,nodename)).thenReturn("11111111-1111-1111-1111-111111111111");     \r
-       when(tenantManage.getNode(any(UserId.class))).thenReturn(nodes);\r
-       when(nodes.get(any(NodeId.class))).thenReturn(node);\r
-       when(tenantManage.getNodeDataStore(userId)).thenReturn(nodes);\r
-       when(nodes.get(any(NodeId.class))).thenReturn(node);\r
-       when(node.getKey()).thenReturn(nodekey);\r
-       when(node.getNodeId()).thenReturn(nodeid);\r
-       subnodes=new ArrayList<String>(3);\r
-       String subnodeName="subnodename";\r
-       subnodes.add(subnodeName);\r
-       args1[3]=subnodes;\r
-       when(tenantManage.getObjectId(userId,subnodeName)).thenReturn(null);\r
-       Assert.assertEquals(updatenodeintentlang.invoke(updateNodeLangTest,args1),"The subnode " +subnodeName+ " is not exist.");\r
-       //branch 3\r
-       when(tenantManage.getObjectId(userId,nodename)).thenReturn("11111111-1111-1111-1111-111111111111");     \r
-       when(tenantManage.getNode(any(UserId.class))).thenReturn(nodes);\r
-       when(nodes.get(any(NodeId.class))).thenReturn(node);\r
-       when(tenantManage.getNodeDataStore(userId)).thenReturn(nodes);\r
-       when(nodes.get(any(NodeId.class))).thenReturn(node);\r
-       when(node.getKey()).thenReturn(nodekey);\r
-       when(node.getNodeId()).thenReturn(nodeid);\r
-       \r
-       when(tenantManage.getObjectId(userId,subnodeName)).thenReturn("11111111-1111-1111-1111-111111111111");\r
-       Assert.assertNull(updatenodeintentlang.invoke(updateNodeLangTest,args1));\r
-       //branch 4\r
-       LinkedHashMap<String,String> properties1;\r
-       propertyList1 = new LinkedHashMap<String,LinkedHashMap<String,String>>();\r
-    properties1 = new LinkedHashMap<String,String>(){{\r
-        //put(new String("1"),NEMOConstants.range);\r
-        put(new String("group"),NEMOConstants.string);\r
-        put(new String("100"),NEMOConstants.integer);\r
-        put(new String("100,200"),NEMOConstants.range);\r
-    }};\r
-    propertyList1.put(new String("1"),properties1);\r
-       args1[4]=propertyList1;\r
-       when(tenantManage.getObjectId(userId,nodename)).thenReturn("11111111-1111-1111-1111-111111111111");     \r
-       when(tenantManage.getNode(any(UserId.class))).thenReturn(nodes);\r
-       when(nodes.get(any(NodeId.class))).thenReturn(node);\r
-       when(tenantManage.getNodeDataStore(userId)).thenReturn(nodes);\r
-       when(nodes.get(any(NodeId.class))).thenReturn(node);\r
-       when(node.getKey()).thenReturn(nodekey);\r
-       when(node.getNodeId()).thenReturn(nodeid);\r
-       \r
-       when(tenantManage.getObjectId(userId,subnodeName)).thenReturn("11111111-1111-1111-1111-111111111111");\r
-       Assert.assertNull(updatenodeintentlang.invoke(updateNodeLangTest,args1));\r
-       \r
-       }\r
 }
\ No newline at end of file