use of org.mx.comps.rbac.service.UserManageService in project main by JohnPeng739.
the class TestAccount method testChangePassword.
@Test
public void testChangePassword() {
GeneralDictAccessor service = context.getBean("generalDictAccessor", GeneralDictAccessor.class);
assertNotNull(service);
AccountManageService accountService = context.getBean(AccountManageService.class);
assertNotNull(service);
UserManageService userManageService = context.getBean(UserManageService.class);
assertNotNull(userManageService);
try {
TestUser.testInsertUser(service, userManageService);
TestUser.testEditUser(service, userManageService);
assertEquals(3, service.count(User.class));
testInsertAccount(service, accountService);
testEditAccount(service, accountService);
assertEquals(3, service.count(Account.class));
Account account1 = service.getById(account1Id, Account.class);
assertNotNull(account1);
assertEquals(DigestUtils.md5("password"), account1.getPassword());
accountService.changePassword(account1.getId(), "password", "new password");
account1 = service.getById(account1Id, Account.class);
assertNotNull(account1);
assertEquals(DigestUtils.md5("new password"), account1.getPassword());
Account account3 = service.getById(account3Id, Account.class);
assertNotNull(account3);
assertEquals(DigestUtils.md5("ds110119"), account3.getPassword());
accountService.changePassword(account3.getId(), "ds110119", "new password");
account3 = service.getById(account3Id, Account.class);
assertNotNull(account3);
assertEquals(DigestUtils.md5("new password"), account3.getPassword());
} catch (Exception ex) {
ex.printStackTrace();
fail(ex.getMessage());
}
}
use of org.mx.comps.rbac.service.UserManageService in project main by JohnPeng739.
the class TestAccount method testAccountCrud.
@Test
public void testAccountCrud() {
GeneralDictAccessor service = context.getBean("generalDictAccessor", GeneralDictAccessor.class);
assertNotNull(service);
AccountManageService accountService = context.getBean(AccountManageService.class);
assertNotNull(service);
UserManageService userManageService = context.getBean(UserManageService.class);
assertNotNull(userManageService);
try {
TestUser.testInsertUser(service, userManageService);
TestUser.testEditUser(service, userManageService);
assertEquals(0, service.count(Account.class));
// insert
testInsertAccount(service, accountService);
// edit
testEditAccount(service, accountService);
// delete
testDeleteAccount(service);
} catch (Exception ex) {
ex.printStackTrace();
fail(ex.getMessage());
}
}
use of org.mx.comps.rbac.service.UserManageService in project main by JohnPeng739.
the class TestAccount method testLoginAndLogout.
@Test
public void testLoginAndLogout() {
GeneralDictAccessor service = context.getBean("generalDictAccessor", GeneralDictAccessor.class);
assertNotNull(service);
AccountManageService accountService = context.getBean(AccountManageService.class);
assertNotNull(service);
UserManageService userManageService = context.getBean(UserManageService.class);
assertNotNull(userManageService);
try {
TestUser.testInsertUser(service, userManageService);
TestUser.testEditUser(service, userManageService);
assertEquals(3, service.count(User.class));
testInsertAccount(service, accountService);
testEditAccount(service, accountService);
assertEquals(3, service.count(Account.class));
// 测试正常流程
LoginHistory login = accountService.login("account1", "password", false);
assertNotNull(login);
Account account1 = service.getById(account1Id, Account.class);
assertNotNull(account1);
assertEquals(account1, login.getAccount());
// 测试用户重复登录
login = accountService.login("account1", "password", true);
assertNotNull(login);
assertEquals(account1, login.getAccount());
try {
accountService.login("account1", "password", false);
} catch (UserInterfaceRbacErrorException ex) {
assertEquals(UserInterfaceRbacErrorException.RbacErrors.ACCOUNT_ALREADY_LOGINED.getErrorCode(), ex.getErrorCode());
}
// 测试正常登出
login = accountService.logout(account1.getId());
assertNotNull(login);
assertEquals(account1, login.getAccount());
// 测试用户不存在
try {
accountService.login("abc", "adasd", false);
} catch (UserInterfaceRbacErrorException ex) {
assertEquals(UserInterfaceRbacErrorException.RbacErrors.ACCOUNT_NOT_FOUND.getErrorMessage(), ex.getErrorMessage());
}
// 测试密码不正确
try {
accountService.login("account1", "adfasd", false);
} catch (UserInterfaceRbacErrorException ex) {
assertEquals(UserInterfaceRbacErrorException.RbacErrors.ACCOUNT_PASSWORD_NOT_MATCHED.getErrorMessage(), ex.getErrorMessage());
}
} catch (Exception ex) {
ex.printStackTrace();
fail(ex.getMessage());
}
}
use of org.mx.comps.rbac.service.UserManageService in project main by JohnPeng739.
the class TestDepartment method testDepartmentManager.
@Test
public void testDepartmentManager() {
GeneralDictAccessor service = context.getBean("generalDictAccessor", GeneralDictAccessor.class);
assertNotNull(service);
DepartmentManageService departService = context.getBean(DepartmentManageService.class);
assertNotNull(service);
UserManageService userManageService = context.getBean(UserManageService.class);
assertNotNull(userManageService);
try {
TestUser.testInsertUser(service, userManageService);
TestUser.testEditUser(service, userManageService);
testInsertDepartment(service, departService);
testEditDepartment(service, departService);
assertEquals(3, service.count(User.class));
assertEquals(3, service.count(Department.class));
Department depart1 = service.getById(depart1Id, Department.class);
assertNotNull(depart1);
assertTrue(depart1.isValid());
assertNull(depart1.getManager());
User john = service.getById(TestUser.johnId, User.class);
assertNotNull(john);
assertTrue(john.isValid());
DepartmentManageService.DepartInfo departInfo = DepartmentManageService.DepartInfo.valueOf(depart1.getCode(), depart1.getName(), depart1.getDesc(), depart1.getId(), john.getId(), Arrays.asList(), true);
depart1 = departService.saveDepartment(departInfo);
assertEquals(3, service.count(Department.class));
assertNotNull(depart1);
depart1 = service.getById(depart1Id, Department.class);
assertNotNull(depart1);
assertNotNull(depart1.getManager());
assertEquals(john, depart1.getManager());
departInfo = DepartmentManageService.DepartInfo.valueOf(depart1.getCode(), depart1.getName(), depart1.getDesc(), depart1.getId(), null, Arrays.asList(), true);
departService.saveDepartment(departInfo);
depart1 = service.getById(depart1Id, Department.class);
assertEquals(3, service.count(Department.class));
assertNull(depart1.getManager());
} catch (Exception ex) {
ex.printStackTrace();
fail(ex.getMessage());
}
}
use of org.mx.comps.rbac.service.UserManageService in project main by JohnPeng739.
the class TestRole method testRoleAccounts.
@Test
public void testRoleAccounts() {
GeneralDictAccessor service = context.getBean("generalDictAccessor", GeneralDictAccessor.class);
assertNotNull(service);
RoleManageService roleService = context.getBean(RoleManageService.class);
assertNotNull(service);
UserManageService userManageService = context.getBean(UserManageService.class);
assertNotNull(userManageService);
AccountManageService accountManageService = context.getBean(AccountManageService.class);
assertNotNull(accountManageService);
try {
TestUser.testInsertUser(service, userManageService);
TestUser.testEditUser(service, userManageService);
assertEquals(3, service.count(User.class));
TestAccount.testInsertAccount(service, accountManageService);
TestAccount.testEditAccount(service, accountManageService);
testInsertRole(service, roleService);
testEditRole(service, roleService);
assertEquals(3, service.count(Account.class));
assertEquals(3, service.count(Role.class));
Role role1 = service.getById(role1Id, Role.class);
assertNotNull(role1);
assertEquals(0, role1.getAccounts().size());
Account account1 = service.getById(TestAccount.account1Id, Account.class);
Account account2 = service.getById(TestAccount.account2Id, Account.class);
Account account3 = service.getById(TestAccount.account3Id, Account.class);
assertNotNull(account1);
assertNotNull(account2);
assertNotNull(account3);
RoleManageService.RoleInfo roleInfo = RoleManageService.RoleInfo.valueOf(role1.getCode(), role1.getName(), role1.getDesc(), role1.getId(), Arrays.asList(account1.getId(), account2.getId(), account3.getId()), Arrays.asList(), role1.isValid());
roleService.saveRole(roleInfo);
assertEquals(3, service.count(Role.class));
role1 = service.getById(role1Id, Role.class);
assertNotNull(role1);
assertNotNull(role1.getAccounts());
assertEquals(3, role1.getAccounts().size());
assertEquals(new HashSet<>(Arrays.asList(account1, account2, account3)), role1.getAccounts());
roleInfo = RoleManageService.RoleInfo.valueOf(role1.getCode(), role1.getName(), role1.getDesc(), role1.getId(), Arrays.asList(account1.getId(), account3.getId()), Arrays.asList(), role1.isValid());
roleService.saveRole(roleInfo);
assertEquals(3, service.count(Role.class));
role1 = service.getById(role1Id, Role.class);
assertNotNull(role1);
assertNotNull(role1.getAccounts());
assertEquals(2, role1.getAccounts().size());
assertEquals(new HashSet<>(Arrays.asList(account1, account3)), role1.getAccounts());
roleInfo = RoleManageService.RoleInfo.valueOf(role1.getCode(), role1.getName(), role1.getDesc(), role1.getId(), Arrays.asList(), Arrays.asList(), role1.isValid());
roleService.saveRole(roleInfo);
role1 = service.getById(role1Id, Role.class);
assertNotNull(role1);
assertEquals(0, role1.getAccounts().size());
} catch (Exception ex) {
ex.printStackTrace();
fail(ex.getMessage());
}
}
Aggregations