diff options
| author | Aidan Skinner <aidan@apache.org> | 2008-12-09 17:03:30 +0000 |
|---|---|---|
| committer | Aidan Skinner <aidan@apache.org> | 2008-12-09 17:03:30 +0000 |
| commit | 5b0299abeef865d74ebf827bedd0a26f4d6d8ab1 (patch) | |
| tree | a4b043c612b5f377e4009aae6c31f0f90b76c981 /qpid/java/broker/src/test | |
| parent | 2a8dee1b13f1e974224a0c0313c5d7c9f30766a6 (diff) | |
| download | qpid-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.java | 41 |
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)); + } + } |
