@Override protected User getExistingObject() { return userService.getUser(EXISTING_ID); } }
@Test public void getUsersByName_shouldFetchVoidedUsersWhenincludeVoidedIsTrue() { User voidedUser = userService.getUser(501); // assertTrue(voidedUser.getVoided()); // this generates an error: // org.hibernate.QueryException: illegal attempt to dereference // collection [user0_.user_id.names] with element property reference [givenName] // [from org.openmrs.User u where u.names.givenName = :givenName and u.names.familyName // = :familyName] List<User> users = userService.getUsersByName("Bruno", "Otterbourg", true); assertTrue(users.contains(voidedUser)); }
@Test @SkipBaseSetup public void getUserByUuid_shouldFetchUserWithGivenUuid() throws SQLException { initializeInMemoryDatabase(); executeDataSet(XML_FILENAME); authenticate(); User user = userService.getUserByUuid("013c49c6-e132-11de-babe-001e378eb67e"); assertEquals("Did not fetch user with given uuid", user, userService.getUser(5505)); }
@Override protected User getObjectById(Integer id) { return Context.getUserService().getUser(id); }
@Test public void getUsersByName_shouldNotFetchAnyVoidedUsersWhenIncludeVoidedIsFalse() { User voidedUser = userService.getUser(501); // assertTrue(voidedUser.getVoided()); // this generates an error: // org.hibernate.QueryException: illegal attempt to dereference // collection [user0_.user_id.names] with element property reference [givenName] // [from org.openmrs.User u where u.names.givenName = :givenName and u.names.familyName // = :familyName and u.voided = false] List<User> users = userService.getUsersByName("Bruno", "Otterbourg", false); assertFalse(users.contains(voidedUser)); }
/** * @see UserService#getUser(Integer) */ @Test public void getUser_shouldFetchUserWithGivenUserId() { User user = userService.getUser(501); Assert.assertEquals(501, user.getUserId().intValue()); }
/** * @see UserService#isSecretAnswer(User,String) */ @Test public void isSecretAnswer_shouldReturnFalseWhenGivenAnswerDoesNotMatchTheStoredSecretAnswer() { User user = userService.getUser(502); Assert.assertFalse(userService.isSecretAnswer(user, "not the answer")); }
/** * @see UserService#purgeUser(User,boolean) */ @Test public void purgeUser_shouldThrowAPIExceptionIfCascadeIsTrue() { User user = userService.getUser(502); expectedException.expect(APIException.class); userService.purgeUser(user, true); }
/** * @see UserService#setUserProperty(User,String,String) */ @Test public void setUserProperty_shouldModifyPropertyWithGivenKeyAndValueWhenKeyAlreadyExists() { executeDataSet(XML_FILENAME); User user = userService.getUser(5505); // Check that it already exists Assert.assertEquals(user.getUserProperty("some key"), "some value"); userService.setUserProperty(user, "some key", "some new value"); user = userService.getUser(5505); Assert.assertEquals("some new value", user.getUserProperty("some key")); }
/** * @see UserService#setUserProperty(User,String,String) */ @Test public void setUserProperty_shouldAddPropertyWithGivenKeyAndValueWhenKeyDoesNotAlreadyExist() { executeDataSet(XML_FILENAME); User user = userService.getUser(5505); // Check that it doesn't already exist Assert.assertEquals(user.getUserProperty("some new key"), ""); userService.setUserProperty(user, "some new key", "some new value"); user = userService.getUser(5505); Assert.assertEquals("some new value", user.getUserProperty("some new key")); }
/** * @see UserService#setUserProperty(User,String,String) */ @Test public void setUserProperty_shouldThrowErrorWhenUserIsNotAuthorizedToEditUsers() { User user = userService.getUser(502); Context.logout(); expectedException.expect(APIException.class); userService.setUserProperty(user, "some key", "some value"); }
/** * @see UserService#isSecretAnswer(User,String) */ @Test public void isSecretAnswer_shouldReturnTrueWhenGivenAnswerMatchesStoredSecretAnswer() { executeDataSet(XML_FILENAME); User user = userService.getUser(5507); userService.changeQuestionAnswer(user, "question", "answer"); Assert.assertTrue(userService.isSecretAnswer(user, "answer")); }
/** * @see UserService#changeHashedPassword(User,String,String) */ @Test public void changeHashedPassword_shouldChangeTheHashedPasswordForTheGivenUser() { User user = userService.getUser(1); String salt = Security.getRandomToken(); String hash = Security.encodeString("new password" + salt); userService.changeHashedPassword(user, hash, salt); // TODO Review this a little further // This is the assert - checks to see if current user can use the new password userService.changePassword("new password", "Another new password1"); // try to change the password with the new one }
@Test(expected = ContextAuthenticationException.class) public void authenticate_shouldThrowAContextAuthenticationExceptionIfUsernameIsAnEmptyString() { //update a user with a username that is an empty string for this test UserService us = Context.getUserService(); User u = us.getUser(1); u.setUsername(""); u.getPerson().setGender("M"); us.saveUser(u); dao.authenticate("", "password"); }
@Test public void changePasswordUsingSecretAnswer_shouldUpdatePasswordIfSecretIsCorrect() { executeDataSet(XML_FILENAME_WITH_DATA_FOR_CHANGE_PASSWORD_ACTION); User user = userService.getUser(6001); assertFalse(user.hasPrivilege(PrivilegeConstants.EDIT_USER_PASSWORDS)); Context.authenticate(user.getUsername(), "userServiceTest"); userService.changePasswordUsingSecretAnswer("answer", "userServiceTest2"); Context.authenticate(user.getUsername(), "userServiceTest2"); }
/** * @see UserService#unretireUser(User) */ @Test public void unretireUser_shouldUnretireAndUnmarkAllAttributes() { User user = userService.getUser(501); userService.unretireUser(user); Assert.assertFalse(user.getRetired()); Assert.assertNull(user.getDateRetired()); Assert.assertNull(user.getRetiredBy()); Assert.assertNull(user.getRetireReason()); }
@Test public void changePassword_shouldNotUpdatePasswordOfGivenUserWhenLoggedInUserDoesNotHaveEditUsersPasswordPrivilege() { executeDataSet(XML_FILENAME_WITH_DATA_FOR_CHANGE_PASSWORD_ACTION); User user = userService.getUser(6001); assertFalse(user.hasPrivilege(PrivilegeConstants.EDIT_USER_PASSWORDS)); Context.authenticate(user.getUsername(), "userServiceTest"); expectedException.expect(APIAuthenticationException.class); expectedException.expectMessage( messages.getMessage("error.privilegesRequired", new Object[] {PrivilegeConstants.EDIT_USER_PASSWORDS}, null)); userService.changePassword(user, "testTest123"); }
/** * @see UserService#retireUser(User,String) */ @Test public void retireUser_shouldRetireUserAndSetAttributes() { User user = userService.getUser(502); userService.retireUser(user, "because"); Assert.assertTrue(user.getRetired()); Assert.assertNotNull(user.getDateRetired()); Assert.assertNotNull(user.getRetiredBy()); Assert.assertEquals("because", user.getRetireReason()); }