@Test
public void shouldParseUserAndStoreNewKeyInCacheMap() throws XMLStreamException, InstantiationException, IllegalAccessException, ImportException {
UserDepartment department = UserDepartmentObjectMother.createUserDepartment();
EntityParser parser = createParser("<USERLIST>\n <USERS>\n <USER_ID>1</USER_ID>\n <USERNAME>admin</USERNAME>\n <PASSWORD>1d798ca9dba7df61bf399a02695f9f50034bad66</PASSWORD>\n <FIRST_NAME>eHour</FIRST_NAME>\n <LAST_NAME>Admin</LAST_NAME>\n <EMAIL>t@t.net</EMAIL>\n <ACTIVE>Y</ACTIVE>\n </USERS>\n <USERS>\n <USER_ID>3</USER_ID>\n <USERNAME>thies</USERNAME>\n <PASSWORD>e2e90187007d55ae40678e11e0c9581cb7bb9928</PASSWORD>\n <FIRST_NAME>Thies</FIRST_NAME>\n <LAST_NAME>Edeling</LAST_NAME>\n <EMAIL>thies@te-con.nl</EMAIL>\n <ACTIVE>Y</ACTIVE>\n <SALT>6367</SALT>\n </USERS>\n </USERLIST>\n", department, 1);
keyCache.putKey(UserDepartment.class, 1, 1);
List<User> result = parser.parse(User.class, new JoinTables(), status);
assertEquals(2, result.size());
User user = result.get(0);
assertEquals("admin", user.getUsername());
assertEquals("1d798ca9dba7df61bf399a02695f9f50034bad66", user.getPassword());
assertEquals("eHour", user.getFirstName());
assertEquals("Admin", user.getLastName());
assertEquals("t@t.net", user.getEmail());
assertTrue(user.isActive());
PrimaryKeyCache keyCache = parser.getKeyCache();
assertFalse(keyCache.isEmpty());
Map<Serializable, Serializable> map = keyCache.keyMap.get(User.class);
assertEquals(2, map.entrySet().size());
}