--- /dev/null
+/*
+ * 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
--- /dev/null
+/*
+ * 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
--- /dev/null
+/*
+ * 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
--- /dev/null
+/*\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
--- /dev/null
+/*\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
--- /dev/null
+/*\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
--- /dev/null
+/*\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
--- /dev/null
+/*\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
--- /dev/null
+/*\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