Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-integration/src/test/java/org/eclipse/jetty/test/DigestPostTest.java')
-rw-r--r--tests/test-integration/src/test/java/org/eclipse/jetty/test/DigestPostTest.java45
1 files changed, 44 insertions, 1 deletions
diff --git a/tests/test-integration/src/test/java/org/eclipse/jetty/test/DigestPostTest.java b/tests/test-integration/src/test/java/org/eclipse/jetty/test/DigestPostTest.java
index 11176726e1..33fc4f7e50 100644
--- a/tests/test-integration/src/test/java/org/eclipse/jetty/test/DigestPostTest.java
+++ b/tests/test-integration/src/test/java/org/eclipse/jetty/test/DigestPostTest.java
@@ -25,6 +25,9 @@ import java.net.URI;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
import java.util.concurrent.TimeUnit;
import javax.servlet.http.HttpServlet;
@@ -39,6 +42,7 @@ import org.eclipse.jetty.client.util.BytesContentProvider;
import org.eclipse.jetty.client.util.DigestAuthentication;
import org.eclipse.jetty.client.util.StringContentProvider;
import org.eclipse.jetty.http.HttpMethod;
+import org.eclipse.jetty.security.AbstractLoginService;
import org.eclipse.jetty.security.ConstraintMapping;
import org.eclipse.jetty.security.ConstraintSecurityHandler;
import org.eclipse.jetty.security.HashLoginService;
@@ -55,6 +59,7 @@ import org.eclipse.jetty.util.IO;
import org.eclipse.jetty.util.StringUtil;
import org.eclipse.jetty.util.TypeUtil;
import org.eclipse.jetty.util.security.Constraint;
+import org.eclipse.jetty.util.security.Credential;
import org.eclipse.jetty.util.security.Password;
import org.junit.AfterClass;
import org.junit.Assert;
@@ -79,6 +84,44 @@ public class DigestPostTest
public volatile static String _received = null;
private static Server _server;
+ public static class TestLoginService extends AbstractLoginService
+ {
+ protected Map<String, UserPrincipal> users = new HashMap<>();
+ protected Map<String, String[]> roles = new HashMap<>();
+
+
+ public TestLoginService(String name)
+ {
+ setName(name);
+ }
+
+ public void putUser (String username, Credential credential, String[] rolenames)
+ {
+ UserPrincipal userPrincipal = new UserPrincipal(username,credential);
+ users.put(username, userPrincipal);
+ roles.put(username, rolenames);
+ }
+
+ /**
+ * @see org.eclipse.jetty.security.AbstractLoginService#loadRoleInfo(org.eclipse.jetty.security.AbstractLoginService.UserPrincipal)
+ */
+ @Override
+ protected String[] loadRoleInfo(UserPrincipal user)
+ {
+ return roles.get(user.getName());
+ }
+
+ /**
+ * @see org.eclipse.jetty.security.AbstractLoginService#loadUserInfo(java.lang.String)
+ */
+ @Override
+ protected UserPrincipal loadUserInfo(String username)
+ {
+ return users.get(username);
+ }
+ }
+
+
@BeforeClass
public static void setUpServer()
{
@@ -91,7 +134,7 @@ public class DigestPostTest
context.setContextPath("/test");
context.addServlet(PostServlet.class,"/");
- HashLoginService realm = new HashLoginService("test");
+ TestLoginService realm = new TestLoginService("test");
realm.putUser("testuser",new Password("password"),new String[]{"test"});
_server.addBean(realm);

Back to the top