* @package Core
*/
class Horde_Registry
+implements Horde_Interfaces_Registry_Auth
{
/* Session flags. */
const SESSION_NONE = 1;
<channel>pear.horde.org</channel>
</package>
<package>
+ <name>Interfaces</name>
+ <channel>pear.horde.org</channel>
+ </package>
+ <package>
<name>Injector</name>
<channel>pear.horde.org</channel>
</package>
--- /dev/null
+<?php
+/**
+ * Defines a provider of authentication information.
+ *
+ * PHP version 5
+ *
+ * @category Horde
+ * @package Interfaces
+ * @author Gunnar Wrobel <wrobel@pardus.de>
+ * @license http://www.fsf.org/copyleft/lgpl.html LGPL
+ * @link http://pear.horde.org/index.php?package=Interfaces
+ */
+
+/**
+ * Defines a provider of authentication information.
+ *
+ * Copyright 2009-2010 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (LGPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
+ *
+ * @category Horde
+ * @package Interfaces
+ * @author Gunnar Wrobel <wrobel@pardus.de>
+ * @license http://www.fsf.org/copyleft/lgpl.html LGPL
+ * @link http://pear.horde.org/index.php?package=Interfaces
+ */
+interface Horde_Interfaces_Registry_Auth
+{
+ /**
+ * Returns the currently logged in user, if there is one.
+ *
+ * @param string $format The return format, defaults to the unique Horde
+ * ID. Alternative formats:
+ * - bare: Horde ID without any domain information
+ * (e.g., foo@example.com would be returned as
+ * 'foo').
+ * - domain: Domain of the Horde ID (e.g.,
+ * foo@example.com would be returned as
+ * 'example.com').
+ * - original: The username used to originally login
+ * to Horde.
+ *
+ * @return mixed The user ID or false if no user is logged in.
+ */
+ public function getAuth($format = null);
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<package packagerversion="1.4.9" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0
+http://pear.php.net/dtd/tasks-1.0.xsd
+http://pear.php.net/dtd/package-2.0
+http://pear.php.net/dtd/package-2.0.xsd">
+ <name>Interfaces</name>
+ <channel>pear.horde.org</channel>
+ <summary>A collection of Horde specific interfaces.</summary>
+ <description>This package provides the interfaces that are required for the communication between framework packages and the core application infrastructure of Horde. The main provider of implementations found in this package will be the Horde Core framework package.
+ </description>
+ <lead>
+ <name>Gunnar Wrobel</name>
+ <user>wrobel</user>
+ <email>p@rdus.de</email>
+ <active>yes</active>
+ </lead>
+ <lead>
+ <name>Chuck Hagenbuch</name>
+ <user>chuck</user>
+ <email>chuck@horde.org</email>
+ <active>yes</active>
+ </lead>
+ <lead>
+ <name>Jan Schneider</name>
+ <user>jan</user>
+ <email>jan@horde.org</email>
+ <active>yes</active>
+ </lead>
+ <date>2009-03-02</date>
+ <version>
+ <release>0.0.1</release>
+ <api>0.0.1</api>
+ </version>
+ <stability>
+ <release>alpha</release>
+ <api>alpha</api>
+ </stability>
+ <license uri="http://www.gnu.org/copyleft/lesser.html">LGPL</license>
+ <notes>
+ * Initial package.
+ </notes>
+ <contents>
+ <dir name="/">
+ <dir name="lib">
+ <dir name="Horde">
+ <dir name="Interfaces">
+ <dir name="Registry">
+ <file name="Auth.php" role="php" />
+ </dir> <!-- /lib/Horde/Session -->
+ </dir> <!-- /lib/Horde/Kolab -->
+ </dir> <!-- /lib/Horde -->
+ </dir> <!-- /lib -->
+ </dir> <!-- / -->
+ </contents>
+ <dependencies>
+ <required>
+ <php>
+ <min>4.3.0</min>
+ </php>
+ <pearinstaller>
+ <min>1.4.0b1</min>
+ </pearinstaller>
+ </required>
+ </dependencies>
+ <phprelease>
+ <filelist>
+ <install name="lib/Horde/Interfaces/Registry/Auth.php" as="Horde/Interfaces/Registry/Auth.php" />
+ </filelist>
+ </phprelease>
+ <changelog>
+ </changelog>
+</package>
* information in the Kolab session handler as reading this data is expensive
* and it is sufficient to read it once per session.
*
- * The core user credentials (login, pass) are kept within the Auth module and
- * can be retrieved using <code>Auth::getAuth()</code> respectively
- * <code>Auth::getCredential('password')</code>. Any additional Kolab user data
- * relevant for the user session should be accessed via the Horde_Kolab_Session
- * class.
+ * The users account id needs to be provided from the outside via an instance of
+ * Horde_Interfaces_Registry_Auth::. Any additional Kolab user data relevant for
+ * the user session should be accessed via the Horde_Kolab_Session class.
*
* Copyright 2008-2010 The Horde Project (http://www.horde.org/)
*
+++ /dev/null
-<?php
-/**
- * Wraps Horde authentication for the Kolab session information.
- *
- * PHP version 5
- *
- * @category Kolab
- * @package Kolab_Session
- * @author Gunnar Wrobel <wrobel@pardus.de>
- * @license http://www.fsf.org/copyleft/lgpl.html LGPL
- * @link http://pear.horde.org/index.php?package=Kolab_Session
- */
-
-/**
- * Wraps Horde authentication for the Kolab session information.
- *
- * Copyright 2009-2010 The Horde Project (http://www.horde.org/)
- *
- * See the enclosed file COPYING for license information (LGPL). If you
- * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
- *
- * @category Kolab
- * @package Kolab_Session
- * @author Gunnar Wrobel <wrobel@pardus.de>
- * @license http://www.fsf.org/copyleft/lgpl.html LGPL
- * @link http://pear.horde.org/index.php?package=Kolab_Session
- */
-class Horde_Kolab_Session_Auth_Horde
-implements Horde_Kolab_Session_Auth_Interface
-{
- /**
- * Get the current user ID.
- *
- * @return string The ID of the current user.
- */
- public function getCurrentUser()
- {
- return $GLOBALS['registry']->getAuth();
- }
-}
+++ /dev/null
-<?php
-/**
- * Defines an authentication wrapper for the Kolab session information.
- *
- * PHP version 5
- *
- * @category Kolab
- * @package Kolab_Session
- * @author Gunnar Wrobel <wrobel@pardus.de>
- * @license http://www.fsf.org/copyleft/lgpl.html LGPL
- * @link http://pear.horde.org/index.php?package=Kolab_Session
- */
-
-/**
- * Defines an authentication wrapper for the Kolab session information.
- *
- * Copyright 2009-2010 The Horde Project (http://www.horde.org/)
- *
- * See the enclosed file COPYING for license information (LGPL). If you
- * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
- *
- * @category Kolab
- * @package Kolab_Session
- * @author Gunnar Wrobel <wrobel@pardus.de>
- * @license http://www.fsf.org/copyleft/lgpl.html LGPL
- * @link http://pear.horde.org/index.php?package=Kolab_Session
- */
-interface Horde_Kolab_Session_Auth_Interface
-{
- /**
- * Get the current user ID.
- *
- * @return string The ID of the current user.
- */
- public function getCurrentUser();
-}
* @link http://pear.horde.org/index.php?package=Kolab_Session
*/
class Horde_Kolab_Session_Auth_Mock
-implements Horde_Kolab_Session_Auth_Interface
+implements Horde_Interfaces_Registry_Auth
{
/**
* The user this instance will report.
}
/**
- * Get the current user ID.
+ * Returns the currently logged in user, if there is one.
*
- * @return string The ID of the current user.
+ * @param string $format The return format, defaults to the unique Horde
+ * ID. Alternative formats:
+ * - bare: Horde ID without any domain information
+ * (e.g., foo@example.com would be returned as
+ * 'foo').
+ * - domain: Domain of the Horde ID (e.g.,
+ * foo@example.com would be returned as
+ * 'example.com').
+ * - original: The username used to originally login
+ * to Horde.
+ *
+ * @return mixed The user ID or false if no user is logged in.
*/
- public function getCurrentUser()
+ public function getAuth($format = null)
{
- return $this->_user;
+ if (empty($this->_user)) {
+ return false;
+ }
+
+ $user = $this->_user;
+
+ switch ($format) {
+ case 'bare':
+ return (($pos = strpos($user, '@')) === false)
+ ? $user
+ : substr($user, 0, $pos);
+
+ case 'domain':
+ return (($pos = strpos($user, '@')) === false)
+ ? false
+ : substr($user, $pos + 1);
+
+ default:
+ return $user;
+ }
}
}
/**
* The Horde_Kolab_Session class holds user details in the current session.
*
- * The core user credentials (login, pass) are kept within the Auth module and
- * can be retrieved using <code>Auth::getAuth()</code> respectively
- * <code>Auth::getCredential('password')</code>. Any additional Kolab user data
- * relevant for the user session should be accessed via the Horde_Kolab_Session
- * class.
- *
* Copyright 2008-2010 The Horde Project (http://www.horde.org/)
*
* See the enclosed file COPYING for license information (LGPL). If you
* The Horde_Kolab_Session_Anonymous class allows anonymous access to the Kolab
* system.
*
- * The core user credentials (login, pass) are kept within the Auth module and
- * can be retrieved using <code>Auth::getAuth()</code> respectively
- * <code>Auth::getCredential('password')</code>. Any additional Kolab user data
- * relevant for the user session should be accessed via the Horde_Kolab_Session
- * class.
- *
* Copyright 2009-2010 The Horde Project (http://www.horde.org/)
*
* See the enclosed file COPYING for license information (LGPL). If you
/**
* A class to check if the given session is valid.
*
- * The core user credentials (login, pass) are kept within the Auth module and
- * can be retrieved using <code>Auth::getAuth()</code> respectively
- * <code>Auth::getCredential('password')</code>. Any additional Kolab user data
- * relevant for the user session should be accessed via the Horde_Kolab_Session
- * class.
- *
* Copyright 2009-2010 The Horde Project (http://www.horde.org/)
*
* See the enclosed file COPYING for license information (LGPL). If you
/**
* Provides authentication information for this object.
*
- * @var Horde_Kolab_Session_Auth_Interface
+ * @var Horde_Interfaces_Registry_Auth
*/
private $_auth;
/**
* Constructor.
*
- * @param Horde_Kolab_Session $session The session that should be
- * validated.
- * @param Horde_Kolab_Session_Auth_Interface $auth The authentication handler.
+ * @param Horde_Kolab_Session $session The session that should be
+ * validated.
+ * @param Horde_Interfaces_Registry_Auth $auth The authentication handler.
*/
public function __construct(
Horde_Kolab_Session $session,
- Horde_Kolab_Session_Auth_Interface $auth
+ Horde_Interfaces_Registry_Auth $auth
) {
$this->_session = $session;
$this->_auth = $auth;
public function isValid($user = null)
{
$mail = $this->_session->getMail();
- if ($this->_auth->getCurrentUser() != $mail) {
+ if ($this->_auth->getAuth() != $mail) {
return false;
}
if (empty($user)) {
/**
* Return the auth driver of this validator.
*
- * @return Horde_Kolab_Session_Auth_Interface The auth driver set for this
+ * @return Horde_Interfaces_Registry_Auth The auth driver set for this
* validator.
*/
public function getAuth()
sprintf(
"Invalid Kolab session for current user \"%s\", requested"
. " user \"%s\" and stored user \"%s\".",
- $this->_valid->getAuth()->getCurrentUser(),
+ $this->_valid->getAuth()->getAuth(),
$user,
$this->_valid->getSession()->getMail()
)
/**
* Return the auth driver of this validator.
*
- * @return Horde_Kolab_Session_Auth_Interface The auth driver set for this
+ * @return Horde_Interfaces_Registry_Auth The auth driver set for this
* validator.
*/
public function getAuth()
/**
* Interface for session validators.
*
- * The core user credentials (login, pass) are kept within the Auth module and
- * can be retrieved using <code>Auth::getAuth()</code> respectively
- * <code>Auth::getCredential('password')</code>. Any additional Kolab user data
- * relevant for the user session should be accessed via the Horde_Kolab_Session
- * class.
- *
* Copyright 2009-2010 The Horde Project (http://www.horde.org/)
*
* See the enclosed file COPYING for license information (LGPL). If you
/**
* Return the auth driver of this validator.
*
- * @return Horde_Kolab_Session_Auth_Interface The auth driver set for this
+ * @return Horde_Interfaces_Registry_Auth The auth driver set for this
* validator.
*/
public function getAuth();
<file name="Session.php" role="php" />
<dir name="Session">
<dir name="Auth">
- <file name="Horde.php" role="php" />
- <file name="Interface.php" role="php" />
<file name="Mock.php" role="php" />
</dir> <!-- /lib/Horde/Session/Auth -->
<file name="Base.php" role="php" />
<file name="Autoload.php" role="test" />
<dir name="Class">
<dir name="Auth">
- <file name="HordeTest.php" role="test" />
<file name="MockTest.php" role="test" />
</dir> <!-- /test/Horde/Kolab/Session/Class/Auth -->
<file name="BaseTest.php" role="test" />
<min>1.4.0b1</min>
</pearinstaller>
<package>
+ <name>Interfaces</name>
+ <channel>pear.horde.org</channel>
+ </package>
+ <package>
<name>Kolab_Server</name>
<channel>pear.horde.org</channel>
</package>
</required>
<optional>
<package>
- <name>Auth</name>
- <channel>pear.horde.org</channel>
- </package>
- <package>
- <name>Injector</name>
- <channel>pear.horde.org</channel>
- </package>
- <package>
<name>Log</name>
<channel>pear.horde.org</channel>
</package>
<phprelease>
<filelist>
<install name="lib/Horde/Kolab/Session.php" as="Horde/Kolab/Session.php" />
- <install name="lib/Horde/Kolab/Session/Auth/Horde.php" as="Horde/Kolab/Session/Auth/Horde.php" />
- <install name="lib/Horde/Kolab/Session/Auth/Interface.php" as="Horde/Kolab/Session/Auth/Interface.php" />
<install name="lib/Horde/Kolab/Session/Auth/Mock.php" as="Horde/Kolab/Session/Auth/Mock.php" />
<install name="lib/Horde/Kolab/Session/Base.php" as="Horde/Kolab/Session/Base.php" />
<install name="lib/Horde/Kolab/Session/Exception.php" as="Horde/Kolab/Session/Exception.php" />
<install name="lib/Horde/Kolab/Session/Valid/Interface.php" as="Horde/Kolab/Session/Valid/Interface.php" />
<install name="test/Horde/Kolab/Session/AllTests.php" as="Horde/Kolab/Session/AllTests.php" />
<install name="test/Horde/Kolab/Session/Autoload.php" as="Horde/Kolab/Session/Autoload.php" />
- <install name="test/Horde/Kolab/Session/Class/Auth/HordeTest.php" as="Horde/Kolab/Session/Class/Auth/HordeTest.php" />
<install name="test/Horde/Kolab/Session/Class/Auth/MockTest.php" as="Horde/Kolab/Session/Class/Auth/MockTest.php" />
<install name="test/Horde/Kolab/Session/Class/BaseTest.php" as="Horde/Kolab/Session/Class/BaseTest.php" />
<install name="test/Horde/Kolab/Session/Class/Decorator/AnonymousTest.php" as="Horde/Kolab/Session/Class/Decorator/AnonymousTest.php" />
+++ /dev/null
-<?php
-/**
- * Test the horde auth driver.
- *
- * PHP version 5
- *
- * @category Kolab
- * @package Kolab_Session
- * @author Gunnar Wrobel <wrobel@pardus.de>
- * @license http://www.fsf.org/copyleft/lgpl.html LGPL
- * @link http://pear.horde.org/index.php?package=Kolab_Session
- */
-
-/**
- * Prepare the test setup.
- */
-require_once dirname(__FILE__) . '/../../Autoload.php';
-
-/**
- * Test the horde auth driver.
- *
- * Copyright 2009-2010 The Horde Project (http://www.horde.org/)
- *
- * See the enclosed file COPYING for license information (LGPL). If you
- * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
- *
- * @category Kolab
- * @package Kolab_Session
- * @author Gunnar Wrobel <wrobel@pardus.de>
- * @license http://www.fsf.org/copyleft/lgpl.html LGPL
- * @link http://pear.horde.org/index.php?package=Kolab_Session
- */
-class Horde_Kolab_Session_Class_Auth_HordeTest extends Horde_Kolab_Session_SessionTestCase
-{
- public function testMethodGetcurrentuserHasResultStringTheCurrentUser()
- {
- $_SESSION['horde_auth']['userId'] = 'test';
- $auth = new Horde_Kolab_Session_Auth_Horde();
- $this->assertEquals('test', $auth->getCurrentUser());
- }
-}
\ No newline at end of file
public function testMethodGetcurrentuserHasResultStringTheCurrentUser()
{
$auth = new Horde_Kolab_Session_Auth_Mock('test');
- $this->assertEquals('test', $auth->getCurrentUser());
+ $this->assertEquals('test', $auth->getAuth());
}
}
\ No newline at end of file
{
public function testMethodIsvalidHasResultBooleanTrueIfTheSessionIsNotConnectedAndTheCurrentUserIsAnonymous()
{
- $auth = $this->getMock('Horde_Kolab_Session_Auth_Interface');
+ $auth = $this->getMock('Horde_Interfaces_Registry_Auth');
$auth->expects($this->once())
- ->method('getCurrentUser')
+ ->method('getAuth')
->will($this->returnValue(''));
$session = $this->getMock('Horde_Kolab_Session');
$session->expects($this->once())
public function testMethodIsvalidHasResultBooleanFalseIfTheSessionIsNotConnected()
{
- $auth = $this->getMock('Horde_Kolab_Session_Auth_Interface');
+ $auth = $this->getMock('Horde_Interfaces_Registry_Auth');
$auth->expects($this->once())
- ->method('getCurrentUser')
+ ->method('getAuth')
->will($this->returnValue('mail@example.org'));
$session = $this->getMock('Horde_Kolab_Session');
$session->expects($this->once())
public function testMethodIsvalidHasResultBooleanFalseIfTheMailOfTheCurrentUserDoesNotMatchTheCurrentUserOfTheSession()
{
- $auth = $this->getMock('Horde_Kolab_Session_Auth_Interface');
+ $auth = $this->getMock('Horde_Interfaces_Registry_Auth');
$auth->expects($this->once())
- ->method('getCurrentUser')
+ ->method('getAuth')
->will($this->returnValue('somebody@example.org'));
$session = $this->getMock('Horde_Kolab_Session');
$session->expects($this->once())
public function testMethodIsvalidHasResultBooleanTrueIfTheMailOfTheCurrentUserMatchesTheCurrentUserOfTheSessionAndNoNewUserWasSet()
{
- $auth = $this->getMock('Horde_Kolab_Session_Auth_Interface');
+ $auth = $this->getMock('Horde_Interfaces_Registry_Auth');
$auth->expects($this->once())
- ->method('getCurrentUser')
+ ->method('getAuth')
->will($this->returnValue('mail@example.org'));
$session = $this->getMock('Horde_Kolab_Session');
$session->expects($this->once())
public function testMethodIsvalidHasResultBooleanFalseIfTheMailOfTheCurrentUserMatchesTheCurrentUserOfTheSessionAndTheNewUserMatchesNeitherTheCurrentUserMailAndUid()
{
- $auth = $this->getMock('Horde_Kolab_Session_Auth_Interface');
+ $auth = $this->getMock('Horde_Interfaces_Registry_Auth');
$auth->expects($this->once())
- ->method('getCurrentUser')
+ ->method('getAuth')
->will($this->returnValue('mail@example.org'));
$session = $this->getMock('Horde_Kolab_Session');
$session->expects($this->once())
public function testMethodIsvalidHasResultBooleanTrueIfTheMailOfTheCurrentUserMatchesTheCurrentUserOfTheSessionAndTheNewUserMatchesEitherTheCurrentUserMailAndUid()
{
- $auth = $this->getMock('Horde_Kolab_Session_Auth_Interface');
+ $auth = $this->getMock('Horde_Interfaces_Registry_Auth');
$auth->expects($this->once())
- ->method('getCurrentUser')
+ ->method('getAuth')
->will($this->returnValue('mail@example.org'));
$session = $this->getMock('Horde_Kolab_Session');
$session->expects($this->once())
public function testMethodIsvalidHasPostconditionThatAnInvalidSessionGetsLogged()
{
- $auth = $this->getMock('Horde_Kolab_Session_Auth_Interface');
+ $auth = $this->getMock('Horde_Interfaces_Registry_Auth');
$auth->expects($this->exactly(2))
- ->method('getCurrentUser')
+ ->method('getAuth')
->will($this->returnValue('auth@example.org'));
$session = $this->getMock('Horde_Kolab_Session');
$session->expects($this->exactly(2))
public function testMethodIsvalidHasResultBooleanTrueIfTheSessionIsNotConnectedAndTheCurrentUserIsAnonymous()
{
- $auth = $this->getMock('Horde_Kolab_Session_Auth_Interface');
+ $auth = $this->getMock('Horde_Interfaces_Registry_Auth');
$auth->expects($this->once())
- ->method('getCurrentUser')
+ ->method('getAuth')
->will($this->returnValue(''));
$composite = $this->_getMockedComposite();
$session = new Horde_Kolab_Session_Base(
public function testMethodIsvalidHasResultBooleanFalseIfTheSessionIsNotConnected()
{
- $auth = $this->getMock('Horde_Kolab_Session_Auth_Interface');
+ $auth = $this->getMock('Horde_Interfaces_Registry_Auth');
$auth->expects($this->once())
- ->method('getCurrentUser')
+ ->method('getAuth')
->will($this->returnValue('mail@example.org'));
$composite = $this->_getMockedComposite();
$session = new Horde_Kolab_Session_Base(
public function testMethodIsvalidHasResultBooleanFalseIfTheMailOfTheCurrentUserDoesNotMatchTheCurrentUserOfTheSession()
{
- $auth = $this->getMock('Horde_Kolab_Session_Auth_Interface');
+ $auth = $this->getMock('Horde_Interfaces_Registry_Auth');
$auth->expects($this->once())
- ->method('getCurrentUser')
+ ->method('getAuth')
->will($this->returnValue('somebody@example.org'));
$this->user->expects($this->exactly(5))
->method('getSingle')
public function testMethodIsvalidHasResultBooleanTrueIfTheMailOfTheCurrentUserMatchesTheCurrentUserOfTheSessionAndNoNewUserWasSet()
{
- $auth = $this->getMock('Horde_Kolab_Session_Auth_Interface');
+ $auth = $this->getMock('Horde_Interfaces_Registry_Auth');
$auth->expects($this->once())
- ->method('getCurrentUser')
+ ->method('getAuth')
->will($this->returnValue('mail@example.org'));
$this->user->expects($this->exactly(5))
->method('getSingle')
public function testMethodIsvalidHasResultBooleanFalseIfTheMailOfTheCurrentUserMatchesTheCurrentUserOfTheSessionAndTheNewUserMatchesNeitherTheCurrentUserMailAndUid()
{
- $auth = $this->getMock('Horde_Kolab_Session_Auth_Interface');
+ $auth = $this->getMock('Horde_Interfaces_Registry_Auth');
$auth->expects($this->once())
- ->method('getCurrentUser')
+ ->method('getAuth')
->will($this->returnValue('mail@example.org'));
$this->user->expects($this->exactly(5))
->method('getSingle')
public function testMethodIsvalidHasResultBooleanTrueIfTheMailOfTheCurrentUserMatchesTheCurrentUserOfTheSessionAndTheNewUserMatchesEitherTheCurrentUserMailAndUid()
{
- $auth = $this->getMock('Horde_Kolab_Session_Auth_Interface');
+ $auth = $this->getMock('Horde_Interfaces_Registry_Auth');
$auth->expects($this->once())
- ->method('getCurrentUser')
+ ->method('getAuth')
->will($this->returnValue('mail@example.org'));
$this->user->expects($this->exactly(5))
->method('getSingle')
protected function setupFactoryMocks()
{
$this->server = $this->_getMockedComposite();
- $this->session_auth = $this->getMock('Horde_Kolab_Session_Auth_Interface');
+ $this->session_auth = $this->getMock('Horde_Interfaces_Registry_Auth');
$this->session_storage = $this->getMock('Horde_Kolab_Session_Storage_Interface');
}
}
\ No newline at end of file