#5297 Add remoting progress monitoring
[taxeditor.git] / eu.etaxonomy.taxeditor.test / src / test / java / eu / etaxonomy / taxeditor / httpinvoker / RemotingSessionAwareTest.java
index 2ef07d2aa874041b1d8883821401acd849038009..83734e9b09d6e4a702cac12f58b222e9640f768b 100644 (file)
@@ -12,8 +12,12 @@ package eu.etaxonomy.taxeditor.httpinvoker;
 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;
@@ -30,6 +34,11 @@ public abstract class RemotingSessionAwareTest extends BaseRemotingTest {
     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() {
@@ -40,6 +49,16 @@ public abstract class RemotingSessionAwareTest extends BaseRemotingTest {
         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
@@ -48,4 +67,10 @@ public abstract class RemotingSessionAwareTest extends BaseRemotingTest {
         CdmApplicationState.getCurrentDataChangeService().unregister(sessionOwner);
         logger.info("disposed of mock session owner : " + sessionOwner);
     }
+
+
+    protected static void authenticateExtraUser() {
+        authenticate(extraUsername, extraPassword);
+    }
+
 }