Skip to content

Commit

Permalink
Users can be created without given and family names
Browse files Browse the repository at this point in the history
[#40808947]

Change-Id: I882fb10fbc77bb7a975dc855a5f40016aaa228a2
  • Loading branch information
joeldsa committed Dec 12, 2012
1 parent 11c4b2f commit d4be87f
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 2 deletions.
Expand Up @@ -178,8 +178,14 @@ public void setValues(PreparedStatement ps) throws SQLException {
ps.setTimestamp(4, new Timestamp(new Date().getTime())); ps.setTimestamp(4, new Timestamp(new Date().getTime()));
ps.setString(5, user.getUserName()); ps.setString(5, user.getUserName());
ps.setString(6, user.getPrimaryEmail()); ps.setString(6, user.getPrimaryEmail());
ps.setString(7, user.getName().getGivenName()); if (user.getName() == null) {
ps.setString(8, user.getName().getFamilyName()); ps.setString(7, null);
ps.setString(8, null);
}
else {
ps.setString(7, user.getName().getGivenName());
ps.setString(8, user.getName().getFamilyName());
}
ps.setBoolean(9, user.isActive()); ps.setBoolean(9, user.isActive());
String phoneNumber = extractPhoneNumber(user); String phoneNumber = extractPhoneNumber(user);
ps.setString(10, phoneNumber); ps.setString(10, phoneNumber);
Expand Down
Expand Up @@ -139,6 +139,20 @@ public void canCreateUser() {
assertEquals(user.getUserType(), map.get(UaaAuthority.UAA_USER.getUserType())); assertEquals(user.getUserType(), map.get(UaaAuthority.UAA_USER.getUserType()));
assertNull(created.getGroups()); assertNull(created.getGroups());
} }

@Test
public void canCreateUserWithoutGivenNameAndFamilyName() {
ScimUser user = new ScimUser(null, "JO@FOO.COM", null, null);
user.addEmail("jo@blah.com");
ScimUser created = db.createUser(user, "j7hyqpassX");
assertEquals("JO@FOO.COM", created.getUserName());
assertNotNull(created.getId());
assertNotSame(user.getId(), created.getId());
Map<String, Object> map = template.queryForMap("select * from users where id=?", created.getId());
assertEquals(user.getUserName(), map.get("userName"));
assertEquals(user.getUserType(), map.get(UaaAuthority.UAA_USER.getUserType()));
assertNull(created.getGroups());
}


@Test(expected = InvalidScimResourceException.class) @Test(expected = InvalidScimResourceException.class)
public void cannotCreateUserWithNonAsciiUsername() { public void cannotCreateUserWithNonAsciiUsername() {
Expand Down

0 comments on commit d4be87f

Please sign in to comment.