/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.intel.mtwilson.as.rest.v2.resource; import com.intel.dcsg.cpg.io.UUID; import com.intel.mtwilson.crypto.password.PasswordUtil; import com.intel.mtwilson.user.management.rest.v2.model.Status; import com.intel.mtwilson.user.management.rest.v2.model.UserLoginPassword; import com.intel.mtwilson.user.management.rest.v2.model.UserLoginPasswordCollection; import com.intel.mtwilson.user.management.rest.v2.model.UserLoginPasswordFilterCriteria; import com.intel.mtwilson.user.management.rest.v2.model.UserLoginPasswordLocator; import com.intel.mtwilson.user.management.rest.v2.repository.UserLoginPasswordRepository; import java.nio.charset.Charset; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.junit.Test; /** * * @author ssbangal */ public class UserLoginPasswordTest { private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(UserLoginPasswordTest.class); @Test public void testUserLoginPassword() throws Exception { UserLoginPasswordRepository repo = new UserLoginPasswordRepository(); UUID userLoginPwdId = new UUID(); UserLoginPassword loginPasswordInfo = new UserLoginPassword(); loginPasswordInfo.setId(userLoginPwdId); loginPasswordInfo.setUserId(UUID.valueOf("8d29aa87-386d-490d-9491-ab0be4f5e7f9")); loginPasswordInfo.setAlgorithm("SHA256"); loginPasswordInfo.setIterations(1); loginPasswordInfo.setSalt("password".getBytes(Charset.forName("UTF-8"))); loginPasswordInfo.setPasswordHash(PasswordUtil.hash(("password".getBytes(Charset.forName("UTF-8"))), loginPasswordInfo)); //loginPasswordInfo.setPasswordHash(RandomUtil.randomByteArray(8)); //"password".getBytes(Charset.forName("UTF-8")); loginPasswordInfo.setEnabled(false); repo.create(loginPasswordInfo); UserLoginPasswordFilterCriteria criteria = new UserLoginPasswordFilterCriteria(); criteria.id = userLoginPwdId; UserLoginPasswordCollection search = repo.search(criteria); for (UserLoginPassword obj : search.getUserLoginPasswords()) { log.debug("User login password retrieved has roles {}", obj.getRoles().toString()); } loginPasswordInfo.setEnabled(true); loginPasswordInfo.setStatus(Status.APPROVED); List<String> roleSet = new ArrayList<>(Arrays.asList("administrator", "tagadmin")); loginPasswordInfo.setRoles(roleSet); repo.store(loginPasswordInfo); UserLoginPasswordLocator locator = new UserLoginPasswordLocator(); locator.id = userLoginPwdId; UserLoginPassword retrieve = repo.retrieve(locator); log.debug("User login password retrieved has roles {}", retrieve.getRoles().toString()); repo.delete(locator); } }