From f8f6aa4d07cdfaaf23e24bf9eaf0a5fb9b437dda Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 29 Nov 2013 11:05:51 -0500
Subject: [PATCH] Update unit tests for refactored architecture
---
src/main/java/com/gitblit/HtpasswdUserService.java | 35 ++++++++++++++++++++---------------
1 files changed, 20 insertions(+), 15 deletions(-)
diff --git a/src/main/java/com/gitblit/HtpasswdUserService.java b/src/main/java/com/gitblit/HtpasswdUserService.java
index 62198f4..ca5295c 100644
--- a/src/main/java/com/gitblit/HtpasswdUserService.java
+++ b/src/main/java/com/gitblit/HtpasswdUserService.java
@@ -33,6 +33,7 @@
import org.slf4j.LoggerFactory;
import com.gitblit.Constants.AccountType;
+import com.gitblit.manager.IRuntimeManager;
import com.gitblit.models.UserModel;
import com.gitblit.utils.ArrayUtils;
import com.gitblit.utils.StringUtils;
@@ -40,7 +41,7 @@
/**
* Implementation of a user service using an Apache htpasswd file for authentication.
- *
+ *
* This user service implement custom authentication using entries in a file created
* by the 'htpasswd' program of an Apache web server. All possible output
* options of the 'htpasswd' program version 2.2 are supported:
@@ -48,7 +49,7 @@
* glibc crypt() (not on Windows and NetWare),
* Apache MD5 (apr1),
* unsalted SHA-1.
- *
+ *
* Configuration options:
* realm.htpasswd.backingUserService - Specify the backing user service that is used
* to keep the user data other than the password.
@@ -59,7 +60,7 @@
* realm.htpasswd.overrideLocalAuthentication - Specify if local accounts are overwritten
* when authentication matches for an
* external account.
- *
+ *
* @author Florian Zschocke
*
*/
@@ -79,6 +80,7 @@
private final boolean SUPPORT_PLAINTEXT_PWD;
+ private IRuntimeManager runtimeManager;
private IStoredSettings settings;
private File htpasswdFile;
@@ -110,23 +112,24 @@
/**
* Setup the user service.
- *
+ *
* The HtpasswdUserService extends the GitblitUserService and is thus
* backed by the available user services provided by the GitblitUserService.
* In addition the setup tries to read and parse the htpasswd file to be used
* for authentication.
- *
- * @param settings
- * @since 0.7.0
+ *
+ * @param runtimeManager
+ * @since 1.4.0
*/
@Override
- public void setup(IStoredSettings settings)
+ public void setup(IRuntimeManager runtimeManager)
{
- this.settings = settings;
+ this.runtimeManager = runtimeManager;
+ this.settings = runtimeManager.getSettings();
// This is done in two steps in order to avoid calling GitBlit.getFileOrFolder(String, String) which will segfault for unit tests.
String file = settings.getString(KEY_BACKING_US, DEFAULT_BACKING_US);
- File realmFile = GitBlit.getFileOrFolder(file);
+ File realmFile = runtimeManager.getFileOrFolder(file);
serviceImpl = createUserService(realmFile);
logger.info("Htpasswd User Service backed by " + serviceImpl.toString());
@@ -238,9 +241,9 @@
/**
* Determine if the account is to be treated as a local account.
- *
+ *
* This influences authentication. A local account will be authenticated
- * by the backing user service while an external account will be handled
+ * by the backing user service while an external account will be handled
* by this user service.
* <br/>
* The decision also depends on the setting of the key
@@ -254,7 +257,8 @@
* If the key is set to false, then it is determined if the account is local
* according to the logic of the GitblitUserService.
*/
- protected boolean isLocalAccount(String username)
+ @Override
+ protected boolean isLocalAccount(String username)
{
if ( settings.getBoolean(KEY_OVERRIDE_LOCALAUTH, DEFAULT_OVERRIDE_LOCALAUTH) ) {
read();
@@ -270,7 +274,8 @@
*
* @return AccountType.HTPASSWD
*/
- protected AccountType getAccountType()
+ @Override
+ public AccountType getAccountType()
{
return AccountType.HTPASSWD;
}
@@ -289,7 +294,7 @@
if ( !file.equals(htpasswdFilePath) ) {
// The htpasswd file setting changed. Rediscover the file.
this.htpasswdFilePath = file;
- this.htpasswdFile = GitBlit.getFileOrFolder(file);
+ this.htpasswdFile = runtimeManager.getFileOrFolder(file);
this.htUsers.clear();
this.forceReload = true;
}
--
Gitblit v1.9.1