summaryrefslogtreecommitdiff
path: root/qpid/java/broker/src/test
diff options
context:
space:
mode:
authorAidan Skinner <aidan@apache.org>2008-12-09 17:03:30 +0000
committerAidan Skinner <aidan@apache.org>2008-12-09 17:03:30 +0000
commit5b0299abeef865d74ebf827bedd0a26f4d6d8ab1 (patch)
treea4b043c612b5f377e4009aae6c31f0f90b76c981 /qpid/java/broker/src/test
parent2a8dee1b13f1e974224a0c0313c5d7c9f30766a6 (diff)
downloadqpid-python-5b0299abeef865d74ebf827bedd0a26f4d6d8ab1.tar.gz
QPID-1503: Add more tests for Base64MD5PasswordFilePrincipalDatabase, fix buglets.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@724779 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker/src/test')
-rw-r--r--qpid/java/broker/src/test/java/org/apache/qpid/server/security/auth/database/Base64MD5PasswordFilePrincipalDatabaseTest.java41
1 files changed, 39 insertions, 2 deletions
diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/security/auth/database/Base64MD5PasswordFilePrincipalDatabaseTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/security/auth/database/Base64MD5PasswordFilePrincipalDatabaseTest.java
index ededb1cb26..b5034d9f5d 100644
--- a/qpid/java/broker/src/test/java/org/apache/qpid/server/security/auth/database/Base64MD5PasswordFilePrincipalDatabaseTest.java
+++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/security/auth/database/Base64MD5PasswordFilePrincipalDatabaseTest.java
@@ -23,6 +23,9 @@ package org.apache.qpid.server.security.auth.database;
import junit.framework.TestCase;
import javax.security.auth.login.AccountNotFoundException;
+
+import org.apache.qpid.server.security.auth.sasl.UsernamePrincipal;
+
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
@@ -37,13 +40,20 @@ import java.util.regex.Pattern;
public class Base64MD5PasswordFilePrincipalDatabaseTest extends TestCase
{
- Base64MD5PasswordFilePrincipalDatabase _database;
private static final String TEST_COMMENT = "# Test Comment";
private String USERNAME = "testUser";
+ private String _username = this.getClass().getName()+"username";
+ private char[] _password = "password".toCharArray();
+ private Principal _principal = new UsernamePrincipal(_username);
+ private Base64MD5PasswordFilePrincipalDatabase _database;
+ private File _pwdFile;
- public void setUp()
+ public void setUp() throws Exception
{
_database = new Base64MD5PasswordFilePrincipalDatabase();
+ _pwdFile = File.createTempFile(this.getClass().getName(), "pwd");
+ _pwdFile.deleteOnExit();
+ _database.setPasswordFile(_pwdFile.getAbsolutePath());
}
private File createPasswordFile(int commentLines, int users)
@@ -297,4 +307,31 @@ public class Base64MD5PasswordFilePrincipalDatabaseTest extends TestCase
testFile.delete();
}
+
+ public void testCreateUserPrincipal() throws IOException
+ {
+ _database.createPrincipal(_principal, _password);
+ Principal newPrincipal = _database.getUser(_username);
+ assertNotNull(newPrincipal);
+ assertEquals(_principal.getName(), newPrincipal.getName());
+ }
+
+ public void testVerifyPassword() throws IOException, AccountNotFoundException
+ {
+ testCreateUserPrincipal();
+ //assertFalse(_pwdDB.verifyPassword(_username, null));
+ assertFalse(_database.verifyPassword(_username, new char[]{}));
+ assertFalse(_database.verifyPassword(_username, "massword".toCharArray()));
+ assertTrue(_database.verifyPassword(_username, _password));
+ }
+
+ public void testUpdatePassword() throws IOException, AccountNotFoundException
+ {
+ testCreateUserPrincipal();
+ char[] newPwd = "newpassword".toCharArray();
+ _database.updatePassword(_principal, newPwd);
+ assertFalse(_database.verifyPassword(_username, _password));
+ assertTrue(_database.verifyPassword(_username, newPwd));
+ }
+
}