Modify nemo-impl partical test files
[nemo.git] / nemo-impl / src / test / java / org / opendaylight / nemo / user / vnspacemanager / structurestyle / deleteintent / DeleteOperationTest.java
1 package org.opendaylight.nemo.user.vnspacemanager.structurestyle.deleteintent;\r
2 import org.opendaylight.nemo.user.vnspacemanager.structurestyle.*;\r
3 import static org.mockito.Mockito.mock;\r
4 import org.junit.Assert;\r
5 import org.junit.Before;\r
6 import org.junit.Test;\r
7 \r
8 import org.opendaylight.controller.md.sal.binding.api.DataBroker;\r
9 import org.opendaylight.nemo.user.tenantmanager.TenantManage;\r
10 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.OperationId;\r
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.UserId;\r
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.Users;\r
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.Operations;\r
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.operations.Operation;\r
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.user.intent.operations.OperationKey;\r
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.users.User;\r
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.users.UserKey;\r
18 import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;\r
19 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;\r
20 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;\r
21 import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;\r
22 import com.google.common.util.concurrent.CheckedFuture;\r
23 import com.google.common.util.concurrent.FutureCallback;\r
24 import com.google.common.util.concurrent.Futures;\r
25 import org.slf4j.Logger;\r
26 import org.slf4j.LoggerFactory;\r
27 import java.util.List;\r
28 import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;\r
29 import static org.junit.Assert.*;\r
30 import static org.mockito.Mockito.*;\r
31 import java.util.*;\r
32 public class DeleteOperationTest{\r
33         private DataBroker dataBroker;\r
34     private TenantManage tenantManage;\r
35         private UserId userId;\r
36         private User user;\r
37     private     OperationId operationId;\r
38         private DeleteOperation deleteoperation;\r
39         private Operations operations;\r
40         private Operation operation;\r
41         private OperationId notoperationId;\r
42         private List<Operation> operationList;\r
43         private   WriteTransaction  writetransaction;\r
44         @org.junit.Before\r
45         public void setUp() throws Exception{\r
46         dataBroker=mock(DataBroker.class);\r
47         tenantManage=mock(TenantManage.class);\r
48     userId=mock(UserId.class);\r
49     operationId=mock(OperationId.class);\r
50         user=mock(User.class);\r
51         operation=mock(Operation.class);\r
52         notoperationId=mock(OperationId.class);\r
53     deleteoperation=new DeleteOperation(dataBroker,tenantManage);\r
54     operations=mock(Operations.class);\r
55     operationList=new ArrayList<Operation>(1);\r
56         operationList.add(operation);\r
57     writetransaction=mock(WriteTransaction.class);\r
58         }\r
59         @org.junit.Test\r
60         public void DeleteOperationhandlingTest(){\r
61          CheckedFuture connectiondefinitionFuture = mock(CheckedFuture.class);\r
62      ReadOnlyTransaction readOnlyTransaction = mock(ReadOnlyTransaction.class);\r
63          when(dataBroker.newReadOnlyTransaction()).thenReturn(readOnlyTransaction);\r
64                 //branch 1\r
65                 when(tenantManage.getUser()).thenReturn(null);\r
66                 Assert.assertEquals(deleteoperation.DeleteOperationhandling(userId,operationId),"There are no user in the data store.");\r
67                 //branch 2\r
68                 when(tenantManage.getUser()).thenReturn(user);\r
69                 when(user.getOperations()).thenReturn(null);\r
70                 Assert.assertEquals(deleteoperation.DeleteOperationhandling(userId,operationId),null);\r
71                 //branch 3\r
72                 when(tenantManage.getUser()).thenReturn(user);\r
73                 when(user.getOperations()).thenReturn(operations);      \r
74         when(operations.getOperation()).thenReturn(null);\r
75         Assert.assertEquals(deleteoperation.DeleteOperationhandling(userId,operationId),"There are no operation instances in the data store.");         \r
76             //branch 4\r
77                 when(tenantManage.getUser()).thenReturn(user);\r
78                 when(user.getOperations()).thenReturn(operations);      \r
79         when(operations.getOperation()).thenReturn(operationList);\r
80                 when(operation.getOperationId()).thenReturn(notoperationId);\r
81                 Assert.assertEquals(deleteoperation.DeleteOperationhandling(userId,operationId),"The operation instance" +operationId.toString()+"is not exist. Could not be deleted.");\r
82             //branch 5\r
83                 when(tenantManage.getUser()).thenReturn(user);\r
84                 when(user.getOperations()).thenReturn(operations);      \r
85         when(operations.getOperation()).thenReturn(operationList);\r
86                 when(operation.getOperationId()).thenReturn(operationId);\r
87                 when(dataBroker.newWriteOnlyTransaction()).thenReturn(writetransaction);\r
88             CheckedFuture<Void, TransactionCommitFailedException> f;\r
89             f=mock(CheckedFuture.class);\r
90             when(writetransaction.submit()).thenReturn(f);\r
91                 Assert.assertEquals(deleteoperation.DeleteOperationhandling(userId,operationId),null);\r
92         }\r
93 }