import org.apache.log4j.Logger;
import org.junit.After;
import org.junit.Before;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.security.core.userdetails.UsernameNotFoundException;
import eu.etaxonomy.cdm.api.application.CdmApplicationState;
+import eu.etaxonomy.cdm.api.service.IUserService;
+import eu.etaxonomy.cdm.model.common.User;
import eu.etaxonomy.taxeditor.remoting.cache.CdmTransientEntityCacher;
import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
import eu.etaxonomy.taxeditor.session.MockSessionOwner;
protected CdmTransientEntityCacher cacher;
protected MockSessionOwner sessionOwner;
+ private static String extraUsername = "Someone";
+ private static String extraPassword = "Password";
+
+
+ private IUserService userService = getRemoteApplicationController().getUserService();
@Before
public void initializeSession() {
CdmApplicationState.getCurrentDataChangeService().register(sessionOwner);
sessionOwner.setCdmEntitySession(cdmEntitySession);
cacher = getCacher(sessionOwner);
+
+ UserDetails extraUser = null;
+ try {
+ extraUser = userService.loadUserByUsername(extraUsername);
+ } catch (UsernameNotFoundException unfe) {
+ User user = User.NewInstance(extraUsername, extraPassword);
+ userService.createUser(user);
+ }
+
+
}
@After
CdmApplicationState.getCurrentDataChangeService().unregister(sessionOwner);
logger.info("disposed of mock session owner : " + sessionOwner);
}
+
+
+ protected static void authenticateExtraUser() {
+ authenticate(extraUsername, extraPassword);
+ }
+
}