Added two test files and modified one test file 79/31679/1
authorGaoJie <gaojieusy@163.com>
Fri, 18 Dec 2015 04:19:08 +0000 (12:19 +0800)
committerGaoJie <gaojieusy@163.com>
Fri, 18 Dec 2015 04:20:35 +0000 (12:20 +0800)
Change-Id: Ic740ed33251724b5dddd7cc03c30b2162b09fabd
Signed-off-by: GaoJie <gaojieusy@163.com>
nemo-impl/src/test/java/org/opendaylight/nemo/user/UserManagerTest.java [new file with mode: 0644]
nemo-impl/src/test/java/org/opendaylight/nemo/user/vnspacemanager/languagestyle/NEMOParse/NEMOparserTest.java
nemo-impl/src/test/java/org/opendaylight/nemo/user/vnspacemanager/structurestyle/updateintent/ValueCheckTest.java [new file with mode: 0644]

diff --git a/nemo-impl/src/test/java/org/opendaylight/nemo/user/UserManagerTest.java b/nemo-impl/src/test/java/org/opendaylight/nemo/user/UserManagerTest.java
new file mode 100644 (file)
index 0000000..4e6a41a
--- /dev/null
@@ -0,0 +1,276 @@
+/*\r
+ * Copyright (c) 2015 Huawei, Inc. and others. All rights reserved.\r
+ *\r
+ * This program and the accompanying materials are made available under the\r
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
+ * and is available at http://www.eclipse.org/legal/epl-v10.html\r
+ */\r
+package org.opendaylight.nemo.user;\r
+\r
+import org.opendaylight.controller.md.sal.binding.api.DataBroker;\r
+import org.opendaylight.nemo.intent.IntentResolutionException;\r
+import org.opendaylight.nemo.intent.IntentResolver;\r
+import org.opendaylight.nemo.intent.computation.VNMappingException;\r
+import org.opendaylight.nemo.user.advancedquery.AdvancedQuery;\r
+import org.opendaylight.nemo.user.tenantmanager.AAA;\r
+import org.opendaylight.nemo.user.tenantmanager.RegisterUser;\r
+import org.opendaylight.nemo.user.tenantmanager.TenantManage;\r
+import org.opendaylight.nemo.user.transactionmanager.TransactionBegin;\r
+import org.opendaylight.nemo.user.transactionmanager.TransactionEnd;\r
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.LanguageIntent;\r
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOConstants;\r
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOParse.ParseException;\r
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOParse.SimpleCharStream;\r
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOParse.NEMOparserTokenManager;\r
+import org.opendaylight.nemo.user.vnspacemanager.structurestyle.deleteintent.DeleteIntent;\r
+import org.opendaylight.nemo.user.vnspacemanager.structurestyle.updateintent.UpdateIntent;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.*;\r
+import org.opendaylight.yangtools.yang.common.RpcResult;\r
+import org.opendaylight.yangtools.yang.common.RpcResultBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.advanced.nemo.query.input.QueryCondition;\r
+import java.util.concurrent.Future;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.Users;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.UserId;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.users.User;\r
+import static org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.CommonRpcResult.ResultCode.Error;\r
+import static org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.CommonRpcResult.ResultCode.Ok;\r
+import org.junit.Assert;\r
+import org.junit.Before;\r
+import org.junit.Test;\r
+import java.util.List;\r
+import java.util.*;\r
+import java.util.Map;\r
+import java.lang.reflect.Field;\r
+import java.lang.reflect.Method;\r
+import com.google.common.base.Function;\r
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOParse.NEMOparser;\r
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;\r
+import com.google.common.base.Optional;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.user.rev151010.UserRoles;\r
+import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;\r
+import com.google.common.util.concurrent.CheckedFuture;\r
+import com.google.common.util.concurrent.FutureCallback;\r
+import com.google.common.util.concurrent.Futures;\r
+import com.google.common.util.concurrent.ListenableFuture;\r
+import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;\r
+import static org.mockito.Mockito.*;\r
+public class UserManagerTest{\r
+       private DataBroker dataBroker;\r
+    private LanguageIntent languageIntent;\r
+    private TenantManage tenantManage;\r
+       private IntentResolver intentResolver;\r
+       UserManager usermanager1;\r
+       @org.junit.Before\r
+       public  void setUp()throws Exception{\r
+       dataBroker=mock(DataBroker.class);\r
+    intentResolver=mock(IntentResolver.class);\r
+       tenantManage=mock(TenantManage.class);\r
+       \r
+    Class<NEMOparser> class1 = NEMOparser.class;\r
+   Field field = class1.getDeclaredField("jj_initialized_once");\r
+   field.setAccessible(true);\r
+   field.set(usermanager1,false);\r
+   \r
+   Class<SimpleCharStream> class2=SimpleCharStream.class;\r
+   Field field1=class2.getDeclaredField("inputStream");\r
+   field1.setAccessible(true);\r
+   field1.set(usermanager1,null);\r
+   \r
+   Class<NEMOparserTokenManager> class3=NEMOparserTokenManager.class;\r
+   Field field2=class3.getDeclaredField("input_stream");\r
+   field2.setAccessible(true);\r
+   field2.set(usermanager1,null);\r
+   usermanager1=new UserManager(dataBroker,intentResolver);   \r
+       }\r
+\r
+       @org.junit.Test \r
+       public void advancedNemoQueryTest()throws Exception{\r
+               \r
+               AdvancedNemoQueryInput input =mock(AdvancedNemoQueryInput.class);\r
+        Map<UserId, User> result=new HashMap<UserId, User>();\r
+        Users users = mock(Users.class);\r
+        User user = mock(User.class);\r
+        UserId userId = mock(UserId.class);\r
+               UserId userId1 = mock(UserId.class);\r
+           result.put(userId,user);\r
+        ReadOnlyTransaction readOnlyTransaction = mock(ReadOnlyTransaction.class);\r
+        CheckedFuture checkedFuture = mock(CheckedFuture.class);\r
+        Optional<Users> usersOpt = Optional.of(users);\r
+        List<User> userList = new ArrayList<User>();\r
+               \r
+               \r
+               userList.add(user);\r
+               \r
+               when(input.getUserId()).thenReturn(userId1);\r
+        when(dataBroker.newReadOnlyTransaction()).thenReturn(readOnlyTransaction);\r
+        when(readOnlyTransaction.read(any(LogicalDatastoreType.class), any(InstanceIdentifier.class))).thenReturn(checkedFuture);\r
+        when(checkedFuture.get()).thenReturn(usersOpt);\r
+        when(users.getUser()).thenReturn(userList);\r
+        when(user.getUserId()).thenReturn(userId);\r
+               AdvancedNemoQueryOutputBuilder outputBuilder = new AdvancedNemoQueryOutputBuilder();\r
+               outputBuilder.setResultCode(Error).setMessage("The user is not exist.");\r
+        Assert.assertNotNull(usermanager1.advancedNemoQuery(input)); \r
+       } \r
+               \r
+               \r
+       @Test \r
+       public void beginTransactionTest()throws Exception{\r
+        IntentResolver intentResolver1=mock(IntentResolver.class);\r
+        BeginTransactionInput input=mock(BeginTransactionInput.class);\r
+           BeginTransactionOutputBuilder outputBuilder = new BeginTransactionOutputBuilder();\r
+            Map<UserId, User> result;\r
+        Users users = mock(Users.class);\r
+        User user = mock(User.class);\r
+        UserId userId = mock(UserId.class);\r
+               UserId userId1 = mock(UserId.class);\r
+        ReadOnlyTransaction readOnlyTransaction = mock(ReadOnlyTransaction.class);\r
+        CheckedFuture checkedFuture = mock(CheckedFuture.class);\r
+        Optional<Users> usersOpt = Optional.of(users);\r
+        List<User> userList = new ArrayList<User>();\r
+               \r
+               \r
+               userList.add(user);\r
+       \r
+           when(input.getUserId()).thenReturn(userId1);\r
+        when(dataBroker.newReadOnlyTransaction()).thenReturn(readOnlyTransaction);\r
+        when(readOnlyTransaction.read(any(LogicalDatastoreType.class), any(InstanceIdentifier.class))).thenReturn(checkedFuture);\r
+        when(checkedFuture.get()).thenReturn(usersOpt);\r
+        when(users.getUser()).thenReturn(userList);\r
+        when(user.getUserId()).thenReturn(userId);\r
+       Assert.assertNotNull(usermanager1.beginTransaction(input)); \r
+       }\r
+       @Test\r
+   public void         endTransactionTest() throws Exception{\r
+          usermanager1.transaction=false;\r
+          EndTransactionInput input=mock(EndTransactionInput.class);\r
+          Assert.assertNotNull(usermanager1.endTransaction(input)); \r
+          \r
+          \r
+          usermanager1.transaction=true;\r
+            Map<UserId, User> result;\r
+        Users users = mock(Users.class);\r
+        User user = mock(User.class);\r
+        UserId userId = mock(UserId.class);\r
+               UserId userId1 = mock(UserId.class);\r
+        ReadOnlyTransaction readOnlyTransaction = mock(ReadOnlyTransaction.class);\r
+        CheckedFuture checkedFuture = mock(CheckedFuture.class);\r
+        Optional<Users> usersOpt = Optional.of(users);\r
+        List<User> userList = new ArrayList<User>();\r
+               \r
+               \r
+               userList.add(user);\r
+       \r
+           when(input.getUserId()).thenReturn(userId1);\r
+        when(dataBroker.newReadOnlyTransaction()).thenReturn(readOnlyTransaction);\r
+        when(readOnlyTransaction.read(any(LogicalDatastoreType.class), any(InstanceIdentifier.class))).thenReturn(checkedFuture);\r
+        when(checkedFuture.get()).thenReturn(usersOpt);\r
+        when(users.getUser()).thenReturn(userList);\r
+        when(user.getUserId()).thenReturn(userId);\r
+          usermanager1.informresolver=false;\r
+          Assert.assertNotNull(usermanager1.endTransaction(input));   \r
+   }\r
+   @Test\r
+   public void languageStyleNemoRequestTest() throws Exception{\r
+       LanguageStyleNemoRequestInput input=mock(LanguageStyleNemoRequestInput.class);\r
+     Map<UserId, User> result;\r
+        Users users = mock(Users.class);\r
+        User user = mock(User.class);\r
+        UserId userId = mock(UserId.class);\r
+               UserId userId1 = mock(UserId.class);\r
+        ReadOnlyTransaction readOnlyTransaction = mock(ReadOnlyTransaction.class);\r
+        CheckedFuture checkedFuture = mock(CheckedFuture.class);\r
+        Optional<Users> usersOpt = Optional.of(users);\r
+        List<User> userList = new ArrayList<User>();\r
+               \r
+               \r
+               userList.add(user);\r
+       \r
+           when(input.getUserId()).thenReturn(userId1);\r
+        when(dataBroker.newReadOnlyTransaction()).thenReturn(readOnlyTransaction);\r
+        when(readOnlyTransaction.read(any(LogicalDatastoreType.class), any(InstanceIdentifier.class))).thenReturn(checkedFuture);\r
+        when(checkedFuture.get()).thenReturn(usersOpt);\r
+        when(users.getUser()).thenReturn(userList);\r
+        when(user.getUserId()).thenReturn(userId);\r
+               Assert.assertNotNull(usermanager1.languageStyleNemoRequest(input));  \r
+   }\r
+   @Test \r
+   public void registerUserTest() throws Exception{\r
+        RegisterUserInput input=mock(RegisterUserInput.class); \r
+          Map<UserId, User> result=new HashMap<UserId, User>();\r
+        Users users = mock(Users.class);\r
+               UserRoles userRoles = mock(UserRoles.class);\r
+        User user = mock(User.class);\r
+        UserId userId = mock(UserId.class);\r
+               \r
+           result.put(userId,user);\r
+        ReadOnlyTransaction readOnlyTransaction = mock(ReadOnlyTransaction.class);\r
+        CheckedFuture checkedFuture = mock(CheckedFuture.class);\r
+        Optional<Users> usersOpt = Optional.of(users);\r
+        List<User> userList = new ArrayList<User>();\r
+               Optional<UserRoles> userrolesOpt = Optional.of(userRoles);\r
+               \r
+               userList.add(user);\r
+               \r
+               when(input.getUserId()).thenReturn(userId).thenReturn(userId);\r
+        when(dataBroker.newReadOnlyTransaction()).thenReturn(readOnlyTransaction).thenReturn(readOnlyTransaction);\r
+        when(readOnlyTransaction.read(any(LogicalDatastoreType.class), any(InstanceIdentifier.class))).thenReturn(checkedFuture).thenReturn(checkedFuture);\r
+        when(checkedFuture.get()).thenReturn(userrolesOpt).thenReturn(usersOpt);\r
+        when(users.getUser()).thenReturn(userList);\r
+        when(user.getUserId()).thenReturn(userId);\r
+               Assert.assertNotNull(usermanager1.registerUser(input)); \r
+               }\r
+       @Test\r
+       public void structureStyleNemoDeleteTest() throws Exception{\r
+       StructureStyleNemoDeleteInput input=mock(StructureStyleNemoDeleteInput.class);\r
+     Map<UserId, User> result=new HashMap<UserId, User>();\r
+        Users users = mock(Users.class);\r
+        User user = mock(User.class);\r
+        UserId userId = mock(UserId.class);\r
+               UserId userId1 = mock(UserId.class);\r
+           result.put(userId,user);\r
+        ReadOnlyTransaction readOnlyTransaction = mock(ReadOnlyTransaction.class);\r
+        CheckedFuture checkedFuture = mock(CheckedFuture.class);\r
+        Optional<Users> usersOpt = Optional.of(users);\r
+        List<User> userList = new ArrayList<User>();\r
+               \r
+               \r
+               userList.add(user);\r
+               \r
+               when(input.getUserId()).thenReturn(userId1);\r
+        when(dataBroker.newReadOnlyTransaction()).thenReturn(readOnlyTransaction);\r
+        when(readOnlyTransaction.read(any(LogicalDatastoreType.class), any(InstanceIdentifier.class))).thenReturn(checkedFuture);\r
+        when(checkedFuture.get()).thenReturn(usersOpt);\r
+        when(users.getUser()).thenReturn(userList);\r
+        when(user.getUserId()).thenReturn(userId);\r
+               AdvancedNemoQueryOutputBuilder outputBuilder = new AdvancedNemoQueryOutputBuilder();\r
+               outputBuilder.setResultCode(Error).setMessage("The user is not exist.");\r
+        Assert.assertNotNull(usermanager1.structureStyleNemoDelete(input));    \r
+       }\r
+       public void structureStyleNemoUpdateTest() throws Exception{\r
+       StructureStyleNemoUpdateInput input=mock(StructureStyleNemoUpdateInput.class);\r
+            Map<UserId, User> result=new HashMap<UserId, User>();\r
+        Users users = mock(Users.class);\r
+        User user = mock(User.class);\r
+        UserId userId = mock(UserId.class);\r
+               UserId userId1 = mock(UserId.class);\r
+           result.put(userId,user);\r
+        ReadOnlyTransaction readOnlyTransaction = mock(ReadOnlyTransaction.class);\r
+        CheckedFuture checkedFuture = mock(CheckedFuture.class);\r
+        Optional<Users> usersOpt = Optional.of(users);\r
+        List<User> userList = new ArrayList<User>();\r
+               \r
+               \r
+               userList.add(user);\r
+               \r
+               when(input.getUserId()).thenReturn(userId1);\r
+        when(dataBroker.newReadOnlyTransaction()).thenReturn(readOnlyTransaction);\r
+        when(readOnlyTransaction.read(any(LogicalDatastoreType.class), any(InstanceIdentifier.class))).thenReturn(checkedFuture);\r
+        when(checkedFuture.get()).thenReturn(usersOpt);\r
+        when(users.getUser()).thenReturn(userList);\r
+        when(user.getUserId()).thenReturn(userId);\r
+               AdvancedNemoQueryOutputBuilder outputBuilder = new AdvancedNemoQueryOutputBuilder();\r
+               outputBuilder.setResultCode(Error).setMessage("The user is not exist.");\r
+        Assert.assertNotNull(usermanager1.structureStyleNemoUpdate(input));\r
+       }\r
+}\r
+\r
index e372062b1184f2be0673658f1eaca9b36f73a365..6978ebc739419aafd7fc5a1d917a31f7fe2c5719 100644 (file)
@@ -103,8 +103,11 @@ public class NEMOparserTest extends TestCase {
     public void testInit() throws Exception{
         Field field = simpleCharStreamClass.getDeclaredField("inputStream");
         Field field1 = nemOparserTokenManagerClass.getDeclaredField("input_stream");
+        Field field2 = class1.getDeclaredField("jj_initialized_once");
+        field2.setAccessible(true);
         field1.setAccessible(true);
         field.setAccessible(true);
+        field2.set(class1,false);
         field.set(simpleCharStreamClass, null);
         field1.set(nemOparserTokenManagerClass, null);
         nemOparser = new NEMOparser(inputStream,null);
diff --git a/nemo-impl/src/test/java/org/opendaylight/nemo/user/vnspacemanager/structurestyle/updateintent/ValueCheckTest.java b/nemo-impl/src/test/java/org/opendaylight/nemo/user/vnspacemanager/structurestyle/updateintent/ValueCheckTest.java
new file mode 100644 (file)
index 0000000..1aa5565
--- /dev/null
@@ -0,0 +1,100 @@
+/*\r
+ * Copyright (c) 2015 Huawei, Inc. and others. All rights reserved.\r
+ *\r
+ * This program and the accompanying materials are made available under the\r
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
+ * and is available at http://www.eclipse.org/legal/epl-v10.html\r
+ */\r
+package org.opendaylight.nemo.user.vnspacemanager.structurestyle.updateintent;\r
+import static org.mockito.Mockito.*;\r
+import org.junit.Assert;\r
+import org.junit.Before;\r
+import org.junit.Test;\r
+public class ValueCheckTest{\r
+       private ValueCheck valuecheck;\r
+@Before\r
+public void setUp() throws Exception{\r
+  valuecheck=new ValueCheck();\r
+    }\r
+@Test\r
+public void checkMacTest() throws Exception{\r
+       //branch 1\r
+       String macAddress1="11:22:33";\r
+       Assert.assertFalse(valuecheck.checkMac(macAddress1));\r
+       //branch 2\r
+       String macAddress2="11:222:33:44:55:66";\r
+       Assert.assertFalse(valuecheck.checkMac(macAddress2));\r
+       //branch 3\r
+       String macAddress3="1s:22:33:44:55:66";\r
+       Assert.assertFalse(valuecheck.checkMac(macAddress3));\r
+       //branch 4 \r
+       String macAddress4="00:00:00:00:00:00";\r
+       Assert.assertTrue(valuecheck.checkMac(macAddress4));\r
+}\r
+@Test\r
+public void checkIpPrefixTest()throws Exception{\r
+       //branch 1 \r
+       String ipPrefix1="11/22/33";\r
+       Assert.assertFalse(valuecheck.checkIpPrefix(ipPrefix1));\r
+       //branch 2\r
+       String ipPrefix2="22/33";\r
+       Assert.assertFalse(valuecheck.checkIpPrefix(ipPrefix2));\r
+       //branch 3 \r
+       String ipPrefix3="00:00:00:00:00:000/12";\r
+       Assert.assertFalse(valuecheck.checkIpPrefix(ipPrefix3));\r
+       //branch 4 \r
+       String ipPrefix4="10.1.1.1/12";\r
+       Assert.assertTrue(valuecheck.checkIpPrefix(ipPrefix4));\r
+}\r
+@Test\r
+public void checkIpAddressTest() throws Exception{\r
+       //branch 1 \r
+       String ipAdress1="1.1";\r
+       Assert.assertFalse(valuecheck.checkIpAddress(ipAdress1));\r
+       //branch 2\r
+       String ipAdress2="1111.1.1.1";\r
+       Assert.assertFalse(valuecheck.checkIpAddress(ipAdress2));\r
+       //branch 3\r
+       String ipAdress3="11.1.1.1";\r
+       Assert.assertTrue(valuecheck.checkIpAddress(ipAdress3));\r
+}\r
+@Test\r
+public void  checkTimeTest() throws Exception{\r
+       //branch 1 \r
+       String time1="1,1,1";\r
+       Assert.assertTrue(valuecheck.checkTime(time1));\r
+       //branch 2 \r
+       String time2="12:12:12:12";\r
+       Assert.assertFalse(valuecheck.checkTime(time2));\r
+       //branch 3 \r
+       String time3="66:12:12";\r
+       Assert.assertFalse(valuecheck.checkTime(time3));\r
+    String time4="22:66:12";\r
+       Assert.assertFalse(valuecheck.checkTime(time4));\r
+       String time5="21:12:66";\r
+       Assert.assertFalse(valuecheck.checkTime(time5));\r
+       String time6="12:12:12";\r
+       Assert.assertTrue(valuecheck.checkTime(time6));\r
+       //branch 4\r
+    String time7="2015-12-16-22,12:12:12";\r
+       Assert.assertFalse(valuecheck.checkTime(time7));\r
+       //branch 5\r
+    String time8="2015-66-16,12:12:12";\r
+       Assert.assertFalse(valuecheck.checkTime(time8));\r
+       //branch 6\r
+    String time9="2015-1-32,12:12:12";\r
+       Assert.assertFalse(valuecheck.checkTime(time9));\r
+       //branch 7\r
+    String time10="2015-4-31,12:12:12";\r
+       Assert.assertFalse(valuecheck.checkTime(time10));\r
+       //branch 8\r
+    String time11="2015-2-29,12:12:12";\r
+       Assert.assertFalse(valuecheck.checkTime(time11));\r
+       //branch 9\r
+    String time12="2015-2-28,12:12";\r
+       Assert.assertFalse(valuecheck.checkTime(time12));\r
+       //branch 10\r
+    String time13="2015-12-16,12:12:12";\r
+       Assert.assertTrue(valuecheck.checkTime(time13));        \r
+}\r
+}
\ No newline at end of file