Skip to content

Commit

Permalink
#18101 adding an unit test
Browse files Browse the repository at this point in the history
  • Loading branch information
jdotcms committed Mar 13, 2020
1 parent 908f741 commit 6999f66
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 3 deletions.
Expand Up @@ -10,7 +10,10 @@
import com.dotmarketing.exception.DotDataException;
import com.dotmarketing.exception.DotSecurityException;
import com.dotmarketing.util.UUIDGenerator;
import com.liferay.portal.NoSuchCompanyException;
import com.liferay.portal.SystemException;
import com.liferay.portal.ejb.CompanyPool;
import com.liferay.portal.ejb.CompanyUtil;
import com.liferay.portal.model.Company;
import com.liferay.portal.model.User;
import com.liferay.portal.util.WebKeys;
Expand All @@ -22,6 +25,10 @@
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.core.Response;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyObject;
import static org.mockito.Mockito.mock;
Expand Down Expand Up @@ -56,11 +63,52 @@ public void test_revokeUserToken_non_admin_user() throws DotDataException, DotSe
}

@Test
public void test_revokeUserToken() {
public void test_revokeUserToken() throws DotSecurityException, DotDataException, SystemException, NoSuchCompanyException {

// 1) create an user with skinid
// 2) call the revoke to reset the user
// 3) check the user has the skinid reset
Assert.assertTrue(true);

final Company company = new CompanyDataGen()
.name("TestCompany")
.shortName("TC")
.authType("email")
.autoLogin(true)
.emailAddress("lol@dotCMS.com")
.homeURL("localhost")
.city("NYC")
.mx("MX")
.type("test")
.phone("5552368")
.portalURL("/portalURL")
.nextPersisted();
assertNotNull(company.getCompanyId());
final Company retrievedCompany = CompanyUtil.findByPrimaryKey(company.getCompanyId());
assertEquals(company.getCompanyId(), retrievedCompany.getCompanyId());

final String skinId = UUIDGenerator.generateUuid();
final User limitedUser = new UserDataGen().active(true)
.skinId(skinId).companyId(retrievedCompany.getCompanyId()).nextPersisted();

final User adminUser = new UserDataGen().nextPersisted();
APILocator.getRoleAPI().addRoleToUser(APILocator.getRoleAPI().loadCMSAdminRole(), adminUser);
assertTrue(APILocator.getUserAPI().isCMSAdmin(adminUser));

final HttpServletRequest request = mock(HttpServletRequest.class);
final HttpServletResponse response = mock(HttpServletResponse.class);
final WebResource webResource = mock(WebResource.class);
final ApiTokenResource apiTokenResource = new ApiTokenResource(APILocator.getApiTokenAPI(), webResource);

when(request.getAttribute(WebKeys.USER)).thenReturn(adminUser);
final InitDataObject initDataObject = new InitDataObject();
initDataObject.setUser(adminUser);
when(webResource.init(any(WebResource.InitBuilder.class))).thenReturn(initDataObject);
final Response restResponse = apiTokenResource.revokeUserToken(request, response, limitedUser.getUserId());
Assert.assertNotNull(restResponse);
assertEquals(restResponse.getStatus(), Response.Status.OK.getStatusCode());

final User modifiedUser = APILocator.getUserAPI().loadUserById(limitedUser.getUserId());
assertNotNull(modifiedUser);
assertNotEquals(skinId, modifiedUser.getSkinId());
}
}
Expand Up @@ -250,7 +250,7 @@ public final Response revokeUserToken(@Context final HttpServletRequest request,

if (APILocator.getRoleAPI().doesUserHaveRole(initDataObject.getUser(), APILocator.getRoleAPI().loadCMSAdminRole())) {

final User user = initDataObject.getUser();
final User user = initDataObject.getUser();
final User userToken = APILocator.getUserAPI().loadUserById(userid);

if (null != userToken) {
Expand Down

0 comments on commit 6999f66

Please sign in to comment.