Add nemo-impl partical test files 30/31330/1
authorsaomenmen <zhangmroy@163.com>
Tue, 15 Dec 2015 00:37:59 +0000 (08:37 +0800)
committersaomenmen <zhangmroy@163.com>
Tue, 15 Dec 2015 00:38:55 +0000 (08:38 +0800)
Change-Id: I42b1f9f49a76602fc5ea33a3659adcc3f81a3318
Signed-off-by: saomenmen <zhangmroy@163.com>
nemo-impl/src/test/java/org/opendaylight/nemo/user/tenantmanager/AAATest.java [new file with mode: 0644]
nemo-impl/src/test/java/org/opendaylight/nemo/user/tenantmanager/RegisterUserTest.java [new file with mode: 0644]
nemo-impl/src/test/java/org/opendaylight/nemo/user/tenantmanager/TenantManageTest.java [new file with mode: 0644]
nemo-impl/src/test/java/org/opendaylight/nemo/user/transactionmanager/TransactionBeginTest.java [new file with mode: 0644]
nemo-impl/src/test/java/org/opendaylight/nemo/user/transactionmanager/TransactionEndTest.java [new file with mode: 0644]
nemo-impl/src/test/java/org/opendaylight/nemo/user/vnspacemanager/languagestyle/deleteintentlang/DeleteConnectionLangTest.java [new file with mode: 0644]
nemo-impl/src/test/java/org/opendaylight/nemo/user/vnspacemanager/languagestyle/deleteintentlang/DeleteFlowLangTest.java [new file with mode: 0644]
nemo-impl/src/test/java/org/opendaylight/nemo/user/vnspacemanager/languagestyle/deleteintentlang/DeleteNodeLangTest.java [new file with mode: 0644]
nemo-impl/src/test/java/org/opendaylight/nemo/user/vnspacemanager/languagestyle/deleteintentlang/DeleteOperationLangTest.java [new file with mode: 0644]

diff --git a/nemo-impl/src/test/java/org/opendaylight/nemo/user/tenantmanager/AAATest.java b/nemo-impl/src/test/java/org/opendaylight/nemo/user/tenantmanager/AAATest.java
new file mode 100644 (file)
index 0000000..07070e3
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2015 Huawei, Inc. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package user.tenantmanager;
+
+import junit.framework.TestCase;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.opendaylight.nemo.user.tenantmanager.AAA;
+import org.opendaylight.nemo.user.tenantmanager.TenantManage;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.UserId;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.users.User;
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.Assert.*;
+import static org.mockito.Mockito.*;
+/**
+ * Created by zhangmeng on 2015/12/15.
+ */
+public class AAATest extends TestCase {
+    private TenantManage tenantManage;
+    private AAA aaa;
+    @Before
+    public void setUp() throws Exception {
+        tenantManage = mock(TenantManage.class);
+        aaa = new AAA(tenantManage);
+    }
+
+    @Test
+    public void testCheckUser() throws Exception {
+        UserId userId = mock(UserId.class);
+        User user = mock(User.class);
+        Map<UserId, User> users = new HashMap<UserId, User>();
+
+        when(tenantManage.getUsers())
+                .thenReturn(null)
+                .thenReturn(users);
+        Assert.assertTrue(aaa.checkUser(userId).equals("The user is not exist."));
+        verify(tenantManage).getUsers();
+
+        users.put(userId, user);
+        Assert.assertTrue(users != null);
+        Assert.assertTrue(aaa.checkUser(userId) == null);
+        verify(tenantManage,times(2)).getUsers();
+    }
+}
\ No newline at end of file
diff --git a/nemo-impl/src/test/java/org/opendaylight/nemo/user/tenantmanager/RegisterUserTest.java b/nemo-impl/src/test/java/org/opendaylight/nemo/user/tenantmanager/RegisterUserTest.java
new file mode 100644 (file)
index 0000000..60f7fc4
--- /dev/null
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2015 Huawei, Inc. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package user.tenantmanager;
+
+import junit.framework.TestCase;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.opendaylight.nemo.user.tenantmanager.RegisterUser;
+import org.opendaylight.nemo.user.tenantmanager.TenantManage;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.UserId;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.UserRoleName;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.RegisterUserInput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.users.User;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.user.rev151010.user.roles.UserRole;
+import static org.junit.Assert.*;
+import static org.mockito.Mockito.*;
+/**
+ * Created by zhangmeng on 2015/12/15.
+ */
+public class RegisterUserTest extends TestCase {
+    private TenantManage tenantManage;
+    private RegisterUser registerUser;
+    @Before
+    public void setUp() throws Exception {
+        tenantManage = mock(TenantManage.class);
+
+        registerUser = new RegisterUser(tenantManage);
+    }
+
+    @Test
+    public void testRegisterUser() throws Exception {
+        RegisterUserInput input = mock(RegisterUserInput.class);
+        UserRoleName userRoleName = mock(UserRoleName.class);
+        UserRole userRole = mock(UserRole.class);
+        UserId userId = mock(UserId.class);
+        User user = mock(User.class);
+        Map<UserRoleName, UserRole> userRoles = new HashMap<UserRoleName, UserRole>();
+        Map<UserId, User> users = new HashMap<UserId, User>();
+
+        when(tenantManage.getUsers()).thenReturn(users);
+        when(tenantManage.getUserRoles()).thenReturn(userRoles);
+
+        //test if
+        Assert.assertTrue(userRoles.isEmpty());
+        Assert.assertTrue(registerUser.registerUser(input).equals("There are no roles be defined."));
+
+        //test else
+        userRoles.put(userRoleName, userRole);
+        when(input.getUserRole())
+                .thenReturn(new UserRoleName("admin"))
+                .thenReturn(userRoleName);
+        Assert.assertTrue(registerUser.registerUser(input).equals("The role is not defined in the data store."));
+        verify(input).getUserRole();
+        Assert.assertTrue(!userRoles.containsKey(new UserRoleName("admin")));
+        
+        users.put(userId,user);
+        when(input.getUserId())
+                .thenReturn(userId)
+                .thenReturn(new UserId("00001111-0000-0000-0000-000011112222"));
+
+        Assert.assertTrue(registerUser.registerUser(input).equals("The user has been registered."));
+
+        doNothing().when(tenantManage).addUser(any(RegisterUserInput.class));
+        Assert.assertTrue(registerUser.registerUser(input) == null);
+        verify(tenantManage).addUser(any(RegisterUserInput.class));
+
+
+
+
+    }
+}
\ No newline at end of file
diff --git a/nemo-impl/src/test/java/org/opendaylight/nemo/user/tenantmanager/TenantManageTest.java b/nemo-impl/src/test/java/org/opendaylight/nemo/user/tenantmanager/TenantManageTest.java
new file mode 100644 (file)
index 0000000..e551092
--- /dev/null
@@ -0,0 +1,137 @@
+/*
+ * Copyright (c) 2015 Huawei, Inc. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package user.tenantmanager;
+
+import junit.framework.TestCase;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ExecutionException;
+
+import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
+import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
+import org.opendaylight.nemo.user.tenantmanager.TenantManage;
+import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.UserId;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.UserRoleName;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.RegisterUserInput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.Users;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.users.User;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.users.UserBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.users.UserKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.user.rev151010.UserRoles;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.user.rev151010.user.roles.UserRole;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.google.common.base.Function;
+import com.google.common.base.Optional;
+import com.google.common.collect.Maps;
+import com.google.common.util.concurrent.CheckedFuture;
+import com.google.common.util.concurrent.FutureCallback;
+import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.ListenableFuture;
+import static org.mockito.Mockito.*;
+/**
+ * Created by zhangmeng on 2015/12/15.
+ */
+public class TenantManageTest extends TestCase {
+    private DataBroker dataBroker;
+    private TenantManage tenantManage;
+    @Before
+    public void setUp() throws Exception {
+        dataBroker = mock(DataBroker.class);
+
+        tenantManage = new TenantManage(dataBroker);
+    }
+
+    @Test
+    public void testGetUser() throws Exception {
+        User result;
+        result = tenantManage.getUser();
+        Assert.assertTrue(result == null);
+    }
+
+    @Test
+    public void testGetUserRoles() throws Exception {
+        Map<UserRoleName, UserRole> result;
+        UserRoles userRoles = mock(UserRoles.class);
+        ReadOnlyTransaction readOnlyTransaction = mock(ReadOnlyTransaction.class);
+        CheckedFuture checkedFuture = mock(CheckedFuture.class);
+        Optional<UserRoles> optional = Optional.of(userRoles);;
+        Assert.assertTrue(optional.isPresent());
+
+
+        when(dataBroker.newReadOnlyTransaction()).thenReturn(readOnlyTransaction);
+        when(readOnlyTransaction.read(any(LogicalDatastoreType.class), any(InstanceIdentifier.class))).thenReturn(checkedFuture);
+        when(checkedFuture.get()).thenReturn(optional);
+//        when(userRoles.getUserRole()).thenReturn(new UserRoleName("admin"));
+
+        result = tenantManage.getUserRoles();
+        Assert.assertTrue(result.isEmpty());
+        verify(userRoles).getUserRole();
+    }
+
+    @Test
+    public void testGetUsers_FetchVNSpace() throws Exception {
+        Map<UserId, User> result;
+        Users users = mock(Users.class);
+        User user = mock(User.class);
+        UserId userId = mock(UserId.class);
+        ReadOnlyTransaction readOnlyTransaction = mock(ReadOnlyTransaction.class);
+        CheckedFuture checkedFuture = mock(CheckedFuture.class);
+        Optional<Users> usersOpt = Optional.of(users);
+        List<User> userList = new ArrayList<User>();
+
+        userList.add(user);
+
+        when(dataBroker.newReadOnlyTransaction()).thenReturn(readOnlyTransaction);
+        when(readOnlyTransaction.read(any(LogicalDatastoreType.class), any(InstanceIdentifier.class))).thenReturn(checkedFuture);
+        when(checkedFuture.get()).thenReturn(usersOpt);
+        when(users.getUser()).thenReturn(userList);
+        when(user.getUserId()).thenReturn(userId);
+
+        result = tenantManage.getUsers();  //hashmap with userid user
+        Assert.assertTrue(!result.isEmpty() && result.size() == 1);
+        verify(users).getUser();
+        verify(user).getUserId();
+
+        tenantManage.fetchVNSpace(userId);
+        Assert.assertTrue(tenantManage.getUser() != null);
+    }
+
+    @Test
+    public void testAddUser() throws Exception {
+        RegisterUserInput registerUserInput = mock(RegisterUserInput.class);
+        WriteTransaction writeTransaction = mock(WriteTransaction.class);
+        CheckedFuture checkedFuture = mock(CheckedFuture.class);
+        UserId userId = mock(UserId.class);
+
+        when(dataBroker.newWriteOnlyTransaction()).thenReturn(writeTransaction);
+        when(writeTransaction.submit()).thenReturn(checkedFuture);
+        when(registerUserInput.getUserId())
+                .thenReturn(null)
+                .thenReturn(userId);
+
+        tenantManage.addUser(registerUserInput);
+        verify(registerUserInput).getUserId();
+
+        tenantManage.addUser(registerUserInput);
+        verify(registerUserInput,times(4)).getUserId();
+
+    }
+}
\ No newline at end of file
diff --git a/nemo-impl/src/test/java/org/opendaylight/nemo/user/transactionmanager/TransactionBeginTest.java b/nemo-impl/src/test/java/org/opendaylight/nemo/user/transactionmanager/TransactionBeginTest.java
new file mode 100644 (file)
index 0000000..4f4964d
--- /dev/null
@@ -0,0 +1,46 @@
+/*\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 user.transactionmanager;\r
+\r
+import junit.framework.TestCase;\r
+import org.junit.Assert;\r
+import org.junit.Before;\r
+import org.junit.Test;\r
+import org.opendaylight.nemo.user.tenantmanager.AAA;\r
+import org.opendaylight.nemo.user.transactionmanager.TransactionBegin;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.BeginTransactionInput;\r
+import static org.junit.Assert.*;\r
+import static org.mockito.Mockito.*;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.UserId;\r
+/**\r
+ * Created by zhangmeng on 2015/12/15.\r
+ */\r
+public class TransactionBeginTest extends TestCase {\r
+    private AAA aaa;\r
+    private BeginTransactionInput input;\r
+    private TransactionBegin transactionBegin;\r
+    @Before\r
+    public void setUp() throws Exception {\r
+        aaa = mock(AAA.class);\r
+        input =  mock(BeginTransactionInput.class);\r
+\r
+        transactionBegin = new TransactionBegin();\r
+    }\r
+\r
+    @Test\r
+    public void testTransactionbegin() throws Exception {\r
+        String result;\r
+        UserId userId = mock(UserId.class);\r
+\r
+        when(aaa.checkUser(any(UserId.class))).thenReturn(new String("test"));\r
+        when(input.getUserId()).thenReturn(userId);\r
+\r
+        result = transactionBegin.transactionbegin(aaa,input);\r
+        Assert.assertTrue(result.equals("test"));\r
+    }\r
+}
\ No newline at end of file
diff --git a/nemo-impl/src/test/java/org/opendaylight/nemo/user/transactionmanager/TransactionEndTest.java b/nemo-impl/src/test/java/org/opendaylight/nemo/user/transactionmanager/TransactionEndTest.java
new file mode 100644 (file)
index 0000000..f90b499
--- /dev/null
@@ -0,0 +1,44 @@
+/*\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 user.transactionmanager;\r
+\r
+import junit.framework.TestCase;\r
+import org.junit.Assert;\r
+import org.junit.Before;\r
+import org.junit.Test;\r
+import org.opendaylight.nemo.user.tenantmanager.AAA;\r
+import org.opendaylight.nemo.user.transactionmanager.TransactionEnd;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.EndTransactionInput;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.UserId;\r
+import static org.junit.Assert.*;\r
+import static org.mockito.Mockito.*;\r
+/**\r
+ * Created by zhangmeng on 2015/12/15.\r
+ */\r
+public class TransactionEndTest extends TestCase {\r
+    private AAA aaa;\r
+    private EndTransactionInput input;\r
+    private TransactionEnd transactionEnd;\r
+    @Before\r
+    public void setUp() throws Exception {\r
+        aaa = mock(AAA.class);\r
+        input = mock(EndTransactionInput.class);\r
+\r
+        transactionEnd = new TransactionEnd();\r
+    }\r
+\r
+    @Test\r
+    public void testTransactionend() throws Exception {\r
+        UserId userId = mock(UserId.class);\r
+\r
+        when(aaa.checkUser(any(UserId.class))).thenReturn(new String("test"));\r
+        when(input.getUserId()).thenReturn(userId);\r
+\r
+        Assert.assertTrue(transactionEnd.transactionend(aaa,input).equals("test"));\r
+    }\r
+}
\ No newline at end of file
diff --git a/nemo-impl/src/test/java/org/opendaylight/nemo/user/vnspacemanager/languagestyle/deleteintentlang/DeleteConnectionLangTest.java b/nemo-impl/src/test/java/org/opendaylight/nemo/user/vnspacemanager/languagestyle/deleteintentlang/DeleteConnectionLangTest.java
new file mode 100644 (file)
index 0000000..cc154af
--- /dev/null
@@ -0,0 +1,98 @@
+/*\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 user.vnspacemanager.languagestyle.deleteintentlang;\r
+\r
+import junit.framework.TestCase;\r
+import org.junit.Assert;\r
+import org.junit.Before;\r
+import org.junit.Test;\r
+import org.opendaylight.nemo.user.tenantmanager.TenantManage;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.users.User;\r
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.deleteintentlang.DeleteConnectionLang;\r
+import org.opendaylight.nemo.user.vnspacemanager.structurestyle.deleteintent.DeleteConnection;\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.common.rev151010.ConnectionId;\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.users.User;\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.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.ConnectionName;\r
+\r
+import java.lang.reflect.Field;\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+\r
+import static org.junit.Assert.*;\r
+import static org.mockito.Mockito.*;\r
+import static org.mockito.Mockito.doNothing;\r
+\r
+/**\r
+ * Created by zhangmeng on 2015/12/9.\r
+ */\r
+public class DeleteConnectionLangTest extends TestCase {\r
+    private DeleteConnectionLang deleteConnectionLang;\r
+    private DataBroker dataBroker;\r
+    private TenantManage tenantManage;\r
+    private DeleteConnection deleteConnection;\r
+    @Before\r
+    public void setUp() throws Exception {\r
+        dataBroker = mock(DataBroker.class);\r
+        tenantManage = mock(TenantManage.class);\r
+        deleteConnection = mock(DeleteConnection.class);\r
+\r
+        deleteConnectionLang = new DeleteConnectionLang(dataBroker,tenantManage);\r
+    }\r
+\r
+    @Test\r
+    public void testDeleteConnectionHandling() throws Exception {\r
+        String result;\r
+        String connectionname = new String("test");\r
+        Objects objects = mock(Objects.class);\r
+        UserId userId = mock(UserId.class);\r
+        User user = mock(User.class);\r
+        Connection connection = mock(Connection.class);\r
+        ConnectionId connectionId = mock(ConnectionId.class);\r
+        ConnectionName connectionName = mock(ConnectionName.class);\r
+        List<Connection> connections = new ArrayList<Connection>();\r
+\r
+        doNothing().when(tenantManage).fetchVNSpace(any(UserId.class));\r
+        when(tenantManage.getUser()).thenReturn(user);\r
+        when(user.getObjects())\r
+                .thenReturn(null)//if (user.getObjects()!=null)\r
+                .thenReturn(objects);//get into if\r
+\r
+        result = deleteConnectionLang.DeleteConnectionHandling(userId,connectionname);\r
+        Assert.assertTrue(result.equals("The connection " + connectionname + " is not exist in this user vn space."));\r
+        verify(user).getObjects();\r
+        //test null\r
+        when(objects.getConnection()).thenReturn(connections);\r
+        Assert.assertTrue(connections.isEmpty());\r
+        result = deleteConnectionLang.DeleteConnectionHandling(userId,connectionname);\r
+        Assert.assertTrue(result.equals("The connection " + connectionname + " is not exist in this user vn space."));\r
+        //test not null\r
+        connections.add(connection);\r
+        when(connection.getConnectionName()).thenReturn(connectionName);\r
+        when(connectionName.getValue())\r
+                .thenReturn("")\r
+                .thenReturn(connectionname);\r
+        Assert.assertTrue(!connections.isEmpty());\r
+        result = deleteConnectionLang.DeleteConnectionHandling(userId,connectionname);\r
+        Assert.assertTrue(result.equals("The connection " + connectionname + " is not exist in this user vn space."));\r
+        //test last\r
+        when(connection.getConnectionId()).thenReturn(connectionId);\r
+        Class<DeleteConnectionLang> class1 = DeleteConnectionLang.class;\r
+        Field field = class1.getDeclaredField("deleteConnection");\r
+        field.setAccessible(true);\r
+        field.set(deleteConnectionLang, deleteConnection);\r
+        System.out.println(field.get(deleteConnectionLang));\r
+        when(deleteConnection.DeleteConnectionHandling(any(UserId.class),any(ConnectionId.class))).thenReturn(new String("test"));\r
+        result = deleteConnectionLang.DeleteConnectionHandling(userId,connectionname);\r
+        Assert.assertTrue(result.equals("test"));\r
+        verify(connection).getConnectionId();\r
+    }\r
+}
\ No newline at end of file
diff --git a/nemo-impl/src/test/java/org/opendaylight/nemo/user/vnspacemanager/languagestyle/deleteintentlang/DeleteFlowLangTest.java b/nemo-impl/src/test/java/org/opendaylight/nemo/user/vnspacemanager/languagestyle/deleteintentlang/DeleteFlowLangTest.java
new file mode 100644 (file)
index 0000000..4aa5a1b
--- /dev/null
@@ -0,0 +1,89 @@
+/*\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 user.vnspacemanager.languagestyle.deleteintentlang;\r
+\r
+import org.junit.Assert;\r
+import org.opendaylight.nemo.user.tenantmanager.TenantManage;\r
+import org.opendaylight.nemo.user.vnspacemanager.structurestyle.deleteintent.DeleteFlow;\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.user.intent.objects.Flow;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.users.User;\r
+import org.opendaylight.controller.md.sal.binding.api.DataBroker;\r
+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
+\r
+import java.lang.reflect.Field;\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+import junit.framework.TestCase;\r
+import org.junit.Before;\r
+import org.junit.Test;\r
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.deleteintentlang.DeleteFlowLang;\r
+import  org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.Objects;\r
+import static org.junit.Assert.*;\r
+import static org.mockito.Mockito.*;\r
+/**\r
+ * Created by zhangmeng on 2015/12/9.\r
+ */\r
+public class DeleteFlowLangTest extends TestCase {\r
+    private DataBroker dataBroker;\r
+    private TenantManage tenantManage;\r
+    private DeleteFlowLang deleteFlowLang;\r
+    private DeleteFlow deleteFlow;\r
+    @Before\r
+    public void setUp() throws Exception {\r
+        dataBroker = mock(DataBroker.class);\r
+        tenantManage = mock(TenantManage.class);\r
+        deleteFlow = mock(DeleteFlow.class);\r
+        deleteFlowLang = new DeleteFlowLang(dataBroker,tenantManage);\r
+    }\r
+\r
+    @Test\r
+    public void testDeleteFlowHandling() throws Exception {\r
+        String result;\r
+        String flowname = new String("test");\r
+        UserId userId = mock(UserId.class);\r
+        User user = mock(User.class);\r
+        Objects objects = mock(Objects.class);\r
+        Flow flow = mock(Flow.class);\r
+        FlowId flowId = mock(FlowId.class);\r
+        FlowName flowName = mock(FlowName.class);\r
+        List<Flow> flowList = new ArrayList<Flow>();\r
+\r
+        doNothing().when(tenantManage).fetchVNSpace(any(UserId.class));\r
+        when(tenantManage.getUser()).thenReturn(user);\r
+        when(user.getObjects())\r
+                .thenReturn(null)//if (user.getObjects()!=null)\r
+                .thenReturn(objects);//get into if\r
+        result = deleteFlowLang.DeleteFlowHandling(userId,flowname);\r
+        Assert.assertTrue(result.equals("The flow " + flowname + " is not exist in this user vn space."));\r
+        when(objects.getFlow()).thenReturn(flowList);\r
+        result = deleteFlowLang.DeleteFlowHandling(userId,flowname);\r
+        Assert.assertTrue(result.equals("The flow " + flowname + " is not exist in this user vn space."));\r
+        Assert.assertTrue(flowList.isEmpty());\r
+        //list not null\r
+        flowList.add(flow);\r
+        when(flow.getFlowName()).thenReturn(flowName);\r
+        when(flowName.getValue())\r
+                .thenReturn("1")\r
+                .thenReturn(flowname);\r
+        result = deleteFlowLang.DeleteFlowHandling(userId,flowname);\r
+        Assert.assertTrue(result.equals("The flow " + flowname + " is not exist in this user vn space."));\r
+        //test last\r
+        when(flow.getFlowId()).thenReturn(flowId);\r
+        Class<DeleteFlowLang> class1 = DeleteFlowLang.class;\r
+        Field field = class1.getDeclaredField("deleteFlow");\r
+        field.setAccessible(true);\r
+        field.set(deleteFlowLang, deleteFlow);\r
+        System.out.println(field.get(deleteFlowLang));\r
+        when(deleteFlow.DeleteFlowHandling(any(UserId.class),any(FlowId.class))).thenReturn(new String("test"));\r
+        result = deleteFlowLang.DeleteFlowHandling(userId,flowname);\r
+        Assert.assertTrue(result.equals("test"));\r
+        verify(flow).getFlowId();\r
+    }\r
+}
\ No newline at end of file
diff --git a/nemo-impl/src/test/java/org/opendaylight/nemo/user/vnspacemanager/languagestyle/deleteintentlang/DeleteNodeLangTest.java b/nemo-impl/src/test/java/org/opendaylight/nemo/user/vnspacemanager/languagestyle/deleteintentlang/DeleteNodeLangTest.java
new file mode 100644 (file)
index 0000000..3eefdcf
--- /dev/null
@@ -0,0 +1,96 @@
+/*\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
+\r
+package user.vnspacemanager.languagestyle.deleteintentlang;\r
+\r
+import junit.framework.TestCase;\r
+import org.junit.Assert;\r
+import org.junit.Before;\r
+import org.junit.Test;\r
+\r
+import static org.junit.Assert.*;\r
+import org.opendaylight.nemo.user.tenantmanager.TenantManage;\r
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.deleteintentlang.DeleteConnectionLang;\r
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.deleteintentlang.DeleteNodeLang;\r
+import org.opendaylight.nemo.user.vnspacemanager.structurestyle.deleteintent.DeleteNode;\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.user.intent.objects.Node;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.users.User;\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.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 java.lang.reflect.Field;\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+import static org.mockito.Mockito.*;\r
+/**\r
+ * Created by zhangmeng on 2015/12/10.\r
+ */\r
+public class DeleteNodeLangTest extends TestCase {\r
+    private DataBroker dataBroker;\r
+    private TenantManage tenantManage;\r
+    private DeleteNode deleteNode;\r
+    private DeleteNodeLang deleteNodeLang;\r
+    @Before\r
+    public void setUp() throws Exception {\r
+        dataBroker = mock(DataBroker.class);\r
+        tenantManage = mock(TenantManage.class);\r
+        deleteNode = mock(DeleteNode.class);\r
+\r
+        deleteNodeLang = new DeleteNodeLang(dataBroker,tenantManage);\r
+    }\r
+\r
+    @Test\r
+    public void testDeleteNodeHandling() throws Exception {\r
+        User user = mock(User.class);\r
+        UserId userId = mock(UserId.class);\r
+        Objects objects = mock(Objects.class);\r
+        Node node = mock(Node.class);\r
+        NodeName nodeName = mock(NodeName.class);\r
+        NodeId nodeId = mock(NodeId.class);\r
+        String nodename = new String("test");\r
+        String result;\r
+        List<Node> nodeList = new ArrayList<Node>();\r
+\r
+        doNothing().when(tenantManage).fetchVNSpace(userId);\r
+        when(tenantManage.getUser()).thenReturn(user);\r
+        when(user.getObjects())\r
+                .thenReturn(null)\r
+                .thenReturn(objects);\r
+\r
+        result = deleteNodeLang.DeleteNodeHandling(userId,nodename);\r
+        Assert.assertTrue(result.equals("The node " + nodename + " is not exist in this user vn space."));\r
+        verify(user).getObjects();\r
+\r
+        when(objects.getNode()).thenReturn(nodeList);\r
+        Assert.assertTrue(nodeList.isEmpty());\r
+        result = deleteNodeLang.DeleteNodeHandling(userId,nodename);\r
+        Assert.assertTrue(result.equals("The node " + nodename + " is not exist in this user vn space."));\r
+\r
+        nodeList.add(node);\r
+        when(node.getNodeName()).thenReturn(nodeName);\r
+        when(nodeName.getValue())\r
+                .thenReturn("")\r
+                .thenReturn(nodename);\r
+        Assert.assertTrue(!nodeList.isEmpty());\r
+        result = deleteNodeLang.DeleteNodeHandling(userId,nodename);\r
+        Assert.assertTrue(result.equals("The node " + nodename + " is not exist in this user vn space."));\r
+\r
+        Class<DeleteNodeLang> class1 = DeleteNodeLang.class;\r
+        Field field = class1.getDeclaredField("deleteNode");\r
+        field.setAccessible(true);\r
+        field.set(deleteNodeLang, deleteNode);\r
+        System.out.println(field.get(deleteNodeLang));\r
+        when(node.getNodeId()).thenReturn(nodeId);\r
+        when(deleteNode.DeleNodeHandling(any(UserId.class), any(NodeId.class))).thenReturn(new String("test"));\r
+        result = deleteNodeLang.DeleteNodeHandling(userId,nodename);\r
+        Assert.assertTrue(result.equals("test"));\r
+        verify(node).getNodeId();\r
+    }\r
+}
\ No newline at end of file
diff --git a/nemo-impl/src/test/java/org/opendaylight/nemo/user/vnspacemanager/languagestyle/deleteintentlang/DeleteOperationLangTest.java b/nemo-impl/src/test/java/org/opendaylight/nemo/user/vnspacemanager/languagestyle/deleteintentlang/DeleteOperationLangTest.java
new file mode 100644 (file)
index 0000000..922b2ec
--- /dev/null
@@ -0,0 +1,93 @@
+/*\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 user.vnspacemanager.languagestyle.deleteintentlang;\r
+\r
+import junit.framework.TestCase;\r
+import org.junit.Assert;\r
+import org.junit.Before;\r
+import org.junit.Test;\r
+\r
+import static org.junit.Assert.*;\r
+import org.opendaylight.nemo.user.tenantmanager.TenantManage;\r
+import org.opendaylight.nemo.user.vnspacemanager.languagestyle.deleteintentlang.DeleteOperationLang;\r
+import org.opendaylight.nemo.user.vnspacemanager.structurestyle.deleteintent.DeleteOperation;\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.user.intent.operations.Operation;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.users.User;\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.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.Operations;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.OperationName;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.OperationId;\r
+import java.lang.reflect.Field;\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+import static org.mockito.Mockito.*;\r
+/**\r
+ * Created by zhangmeng on 2015/12/10.\r
+ */\r
+public class DeleteOperationLangTest extends TestCase {\r
+    private DataBroker dataBroker;\r
+    private TenantManage tenantManage;\r
+    private DeleteOperationLang deleteOperationLang;\r
+    private DeleteOperation deleteOperation;\r
+\r
+    @Before\r
+    public void setUp() throws Exception {\r
+        dataBroker = mock(DataBroker.class);\r
+        tenantManage = mock(TenantManage.class);\r
+        deleteOperation = mock(DeleteOperation.class);\r
+\r
+        deleteOperationLang = new DeleteOperationLang(dataBroker,tenantManage);\r
+    }\r
+\r
+    @Test\r
+    public void testDeleteOperationHandling() throws Exception {\r
+        UserId userId = mock(UserId.class);\r
+        User user = mock(User.class);\r
+        OperationName operationName = mock(OperationName.class);\r
+        Operation operation = mock(Operation.class);\r
+        Operations operations = mock(Operations.class);\r
+        OperationId operationId = mock(OperationId.class);\r
+        List<Operation> operationList = new ArrayList<Operation>();\r
+        String operationname = new String("test");\r
+        String result;\r
+\r
+        doNothing().when(tenantManage).fetchVNSpace(userId);\r
+        when(tenantManage.getUser()).thenReturn(user);\r
+        when(user.getOperations())\r
+                .thenReturn(null)\r
+                .thenReturn(operations);\r
+\r
+        result = deleteOperationLang.DeleteOperationHandling(userId,operationname);\r
+        Assert.assertTrue(result.equals("The operation " + operationname + " is not exist in this user vn space."));\r
+\r
+        when(operations.getOperation()).thenReturn(operationList);\r
+        result = deleteOperationLang.DeleteOperationHandling(userId,operationname);\r
+        Assert.assertTrue(operationList.isEmpty());\r
+        Assert.assertTrue(result.equals("The operation " + operationname + " is not exist in this user vn space."));\r
+\r
+        operationList.add(operation);\r
+        when(operation.getOperationName()).thenReturn(operationName);\r
+        when(operationName.getValue())\r
+                .thenReturn("")\r
+                .thenReturn(operationname);\r
+        result = deleteOperationLang.DeleteOperationHandling(userId,operationname);\r
+        Assert.assertTrue(result.equals("The operation " + operationname + " is not exist in this user vn space."));\r
+\r
+        Class<DeleteOperationLang> class1 = DeleteOperationLang.class;\r
+        Field field = class1.getDeclaredField("deleteOperation");\r
+        field.setAccessible(true);\r
+        field.set(deleteOperationLang, deleteOperation);\r
+        System.out.println(field.get(deleteOperationLang));\r
+        when(operation.getOperationId()).thenReturn(operationId);\r
+        when(deleteOperation.DeleteOperationhandling(any(UserId.class), any(OperationId.class))).thenReturn(operationname);\r
+        result = deleteOperationLang.DeleteOperationHandling(userId,operationname);\r
+        Assert.assertTrue(result.equals(operationname));\r
+    }\r
+}
\ No newline at end of file