View Javadoc
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  }