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
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
32 public class DeleteOperationTest{
\r
33 private DataBroker dataBroker;
\r
34 private TenantManage tenantManage;
\r
35 private UserId userId;
\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
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
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
65 when(tenantManage.getUser()).thenReturn(null);
\r
66 Assert.assertEquals(deleteoperation.DeleteOperationhandling(userId,operationId),"There are no user in the data store.");
\r
68 when(tenantManage.getUser()).thenReturn(user);
\r
69 when(user.getOperations()).thenReturn(null);
\r
70 Assert.assertEquals(deleteoperation.DeleteOperationhandling(userId,operationId),null);
\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
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
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