Merge "Refactor UserManager"
[nemo.git] / nemo-impl / src / test / java / org / opendaylight / nemo / user / tenantmanager / RegisterUserTest.java
1 /*
2
3 * Copyright (c) 2015 Huawei, Inc. and others. All rights reserved.
4
5 *
6
7 * This program and the accompanying materials are made available under the
8
9 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
10
11 * and is available at http://www.eclipse.org/legal/epl-v10.html
12
13 */
14 package org.opendaylight.nemo.user.tenantmanager;
15
16
17 import static org.mockito.Mockito.doNothing;
18 import static org.mockito.Mockito.mock;
19 import static org.mockito.Mockito.times;
20 import static org.mockito.Mockito.verify;
21 import static org.mockito.Mockito.when;
22
23 import java.util.LinkedList;
24
25 import junit.framework.TestCase;
26
27 import org.junit.Assert;
28 import org.junit.Before;
29 import org.junit.Test;
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.UserRoleName;
31 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.RegisterUserInput;
32 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.users.User;
33 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.user.rev151010.user.roles.UserRole;
34 /**
35  * Created by zhangmeng on 2015/11/20.
36  */
37 public class RegisterUserTest extends TestCase {
38     private RegisterUser registerUser;
39     private TenantManage tenantManage;
40     private RegisterUserInput input;
41     @Before
42     public void setUp() throws Exception {
43         tenantManage = mock(TenantManage.class);
44         registerUser = new RegisterUser(tenantManage);
45
46         input = mock(RegisterUserInput.class);
47     }
48
49     @Test
50     public void testRegisterUser() throws Exception {
51
52         //no data test
53         doNothing().when(tenantManage).fetchUserRoles();
54         when(tenantManage.getUserRoleList()).thenReturn(null);//return nothing
55         doNothing().when(tenantManage).fetchUsers();
56         when(tenantManage.getUsersList()).thenReturn(null);
57         registerUser.registerUser(input);
58
59         //data exists . and test other branch
60         when(tenantManage.getUserRoleList()).thenReturn(new LinkedList<UserRole>());//return nothing
61         when(tenantManage.getUsersList()).thenReturn(new LinkedList<User>());
62         when(input.getUserRole()).thenReturn(mock(UserRoleName.class));
63         registerUser.registerUser(input);
64
65         verify(tenantManage,times(2)).getUserRoleList();
66         verify(tenantManage,times(2)).getUsersList();
67         Assert.assertNotNull(tenantManage);
68         Assert.assertNotNull(registerUser);
69     }
70 }