1 package org.exoplatform.platform.component.organization.test;
2
3 import org.exoplatform.container.PortalContainer;
4 import org.exoplatform.container.component.RequestLifeCycle;
5 import org.exoplatform.container.xml.InitParams;
6 import org.exoplatform.platform.migration.EnableUserUpgradePlugin;
7 import org.exoplatform.services.database.HibernateService;
8 import org.exoplatform.services.organization.OrganizationService;
9 import org.exoplatform.services.organization.User;
10 import org.exoplatform.services.organization.UserHandler;
11 import org.exoplatform.services.organization.UserStatus;
12 import org.exoplatform.services.organization.idm.PicketLinkIDMCacheService;
13 import org.exoplatform.services.organization.impl.UserImpl;
14 import org.junit.Before;
15 import org.junit.Test;
16
17 import static org.junit.Assert.*;
18
19 public class TestEnableUserUpgradePlugin {
20 PortalContainer container ;
21 HibernateService hibernateService;
22 PicketLinkIDMCacheService picketLinkIDMCacheService;
23 OrganizationService organizationService ;
24
25 @Before
26 public void setUp() throws Exception {
27 container = PortalContainer.getInstance();
28 organizationService = container.getComponentInstanceOfType(OrganizationService.class);
29 hibernateService = container.getComponentInstanceOfType(HibernateService.class);
30 picketLinkIDMCacheService = container.getComponentInstanceOfType(PicketLinkIDMCacheService.class);
31 }
32
33 @Test
34 public void testProcessUpgrade() throws Exception {
35 initData();
36 InitParams initParams = new InitParams();
37 EnableUserUpgradePlugin upgradePlugin = new EnableUserUpgradePlugin(initParams, hibernateService, organizationService, picketLinkIDMCacheService);
38 assertNotNull(upgradePlugin);
39 upgradePlugin.processUpgrade("4.4", "5.0");
40
41 checkUserStatusAfterUpgrade();
42 cleanData();
43 }
44
45 private void checkUserStatusAfterUpgrade() throws Exception {
46 try {
47 RequestLifeCycle.begin(container);
48 UserHandler userHandler = organizationService.getUserHandler();
49 User user = userHandler.findUserByName("testEnable", UserStatus.ANY);
50 assertNotNull(user);
51 assertTrue(user.isEnabled());
52
53 user = userHandler.findUserByName("testDisable", UserStatus.ANY);
54 assertNotNull(user);
55 assertFalse(user.isEnabled());
56
57 } finally {
58 RequestLifeCycle.end();
59 }
60 }
61
62 private void initData() throws Exception {
63 try {
64 RequestLifeCycle.begin(container);
65 UserHandler userHandler = organizationService.getUserHandler();
66 User user = new UserImpl("testEnable");
67 userHandler.createUser(user, false);
68
69 user = new UserImpl("testDisable");
70 userHandler.createUser(user, false);
71 userHandler.setEnabled("testDisable", false, false );
72 } finally {
73 RequestLifeCycle.end();
74 }
75 }
76
77 private void cleanData() throws Exception {
78 try {
79 RequestLifeCycle.begin(container);
80 UserHandler userHandler = organizationService.getUserHandler();
81 userHandler.removeUser("testEnable", true);
82 userHandler.removeUser("testDisable", false);
83 } finally {
84 RequestLifeCycle.end();
85 }
86 }
87 }