From a6826b04b236c3f578637ab45ccd800840497b70 Mon Sep 17 00:00:00 2001 From: Gunnar Wrobel Date: Wed, 28 Oct 2009 00:12:06 +0100 Subject: [PATCH] Fix the code coverage report. --- .../lib/Horde/Kolab/Server/Composite.php | 41 ++++++++++++----- .../lib/Horde/Kolab/Server/Connection/File.php | 3 +- .../Kolab_Server/lib/Horde/Kolab/Server/Mapped.php | 2 +- .../Horde/Kolab/Server/Object/Attribute/Empty.php | 4 +- .../Horde/Kolab/Server/Object/Attribute/Field.php | 2 +- .../lib/Horde/Kolab/Server/Object/Hash.php | 39 +++++++++++++++- .../lib/Horde/Kolab/Server/Object/Kolab.php | 2 +- .../Horde/Kolab/Server/Object/Kolab/Address.php | 2 +- .../Horde/Kolab/Server/Object/Kolab/Adminrole.php | 2 +- .../Kolab/Server/Object/Kolab/Domainmaintainer.php | 2 +- .../Kolab/Server/Object/Kolabsharedfolder.php | 4 +- .../lib/Horde/Kolab/Server/Object/Mcached.php | 44 ++++++++++++++++-- .../lib/Horde/Kolab/Server/Object/Search.php | 4 +- .../Kolab/Server/Object/Search/Attributes.php | 2 +- .../lib/Horde/Kolab/Server/Object/Search/Base.php | 3 +- framework/Kolab_Server/package.xml | 52 +++++++++++++++++++++- .../test/Horde/Kolab/Server/Server/FactoryTest.php | 1 + .../test/Horde/Kolab/Server/phpunit.xml | 8 ++++ 18 files changed, 185 insertions(+), 32 deletions(-) create mode 100644 framework/Kolab_Server/test/Horde/Kolab/Server/phpunit.xml diff --git a/framework/Kolab_Server/lib/Horde/Kolab/Server/Composite.php b/framework/Kolab_Server/lib/Horde/Kolab/Server/Composite.php index 37e4e8e9e..252aaeac1 100644 --- a/framework/Kolab_Server/lib/Horde/Kolab/Server/Composite.php +++ b/framework/Kolab_Server/lib/Horde/Kolab/Server/Composite.php @@ -32,35 +32,35 @@ class Horde_Kolab_Server_Composite * * @var Horde_Kolab_Server */ - public $server; + private $_server; /** * The structure handler for this server. * * @var Horde_Kolab_Server_Structure */ - public $structure; + private $_structure; /** * The search handler for this server. * * @var Horde_Kolab_Server_Search */ - public $search; + private $_search; /** * The object handler for this server. * * @var Horde_Kolab_Server_Objects */ - public $objects; + private $_objects; /** * The schema handler for this server. * * @var Horde_Kolab_Server_Schema */ - public $schema; + private $_schema; /** * Construct a new Horde_Kolab_Server object. @@ -74,11 +74,11 @@ class Horde_Kolab_Server_Composite Horde_Kolab_Server_Search $search, Horde_Kolab_Server_Schema $schema ) { - $this->server = $server; - $this->objects = $objects; - $this->structure = $structure; - $this->search = $search; - $this->schema = $schema; + $this->_server = $server; + $this->_objects = $objects; + $this->_structure = $structure; + $this->_search = $search; + $this->_schema = $schema; $structure->setComposite($this); $search->setComposite($this); @@ -87,6 +87,27 @@ class Horde_Kolab_Server_Composite } /** + * Retrieve an object attribute. + * + * @param string $key The name of the attribute. + * + * @return mixed The atribute value. + * + * @throws Horde_Kolab_Server_Exception If the attribute does not exist. + */ + public function __get($key) + { + $public = array('server', 'objects', 'structure', 'search', 'schema'); + if (in_array($key, $public)) { + $priv_key = '_' . $key; + return $this->$priv_key; + } + throw new Horde_Kolab_Server_Exception( + sprintf('Attribute %s not supported!', $key) + ); + } + + /** * Connect to the server. Use this method if the user name you can provide * does not match a DN. In this case it will be required to map this user * name first. diff --git a/framework/Kolab_Server/lib/Horde/Kolab/Server/Connection/File.php b/framework/Kolab_Server/lib/Horde/Kolab/Server/Connection/File.php index ba69a17f2..4f45d379a 100644 --- a/framework/Kolab_Server/lib/Horde/Kolab/Server/Connection/File.php +++ b/framework/Kolab_Server/lib/Horde/Kolab/Server/Connection/File.php @@ -26,7 +26,8 @@ * @license http://www.fsf.org/copyleft/lgpl.html LGPL * @link http://pear.horde.org/index.php?package=Kolab_Server */ -class Horde_Kolab_Server_File extends Horde_Kolab_Server_Test +class Horde_Kolab_Server_Connection_File +extends Horde_Kolab_Server_Connection_Mock { /** diff --git a/framework/Kolab_Server/lib/Horde/Kolab/Server/Mapped.php b/framework/Kolab_Server/lib/Horde/Kolab/Server/Mapped.php index 2bdc92a50..0f549c147 100644 --- a/framework/Kolab_Server/lib/Horde/Kolab/Server/Mapped.php +++ b/framework/Kolab_Server/lib/Horde/Kolab/Server/Mapped.php @@ -80,7 +80,7 @@ class Horde_Kolab_Server_Mapped implements Horde_Kolab_Server * * @throws Horde_Kolab_Server_Exception If the connection failed. */ - public function connectGuid($guid = null, $pass = null) + public function connectGuid($guid = '', $pass = '') { $this->_server->connectGuid($guid, $pass); } diff --git a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Attribute/Empty.php b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Attribute/Empty.php index 5ae3057cc..0a4a88609 100644 --- a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Attribute/Empty.php +++ b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Attribute/Empty.php @@ -25,8 +25,8 @@ * @license http://www.fsf.org/copyleft/lgpl.html LGPL * @link http://pear.horde.org/index.php?package=Kolab_Server */ -class Horde_Kolab_Server_Object_Attribute_Value -extends Horde_Kolab_Server_Object_Attribute_Empty +class Horde_Kolab_Server_Object_Attribute_Empty +extends Horde_Kolab_Server_Object_Attribute_Value { /** * Return the value of this attribute. diff --git a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Attribute/Field.php b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Attribute/Field.php index 22afb8ebf..9ae1e255a 100644 --- a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Attribute/Field.php +++ b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Attribute/Field.php @@ -25,7 +25,7 @@ * @license http://www.fsf.org/copyleft/lgpl.html LGPL * @link http://pear.horde.org/index.php?package=Kolab_Server */ -abstract class Horde_Kolab_Server_Object_Attribute_Value +abstract class Horde_Kolab_Server_Object_Attribute_Field extends Horde_Kolab_Server_Object_Attribute_Base { diff --git a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Hash.php b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Hash.php index ca38459a8..c5e38f96a 100644 --- a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Hash.php +++ b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Hash.php @@ -26,7 +26,8 @@ * @link http://pear.horde.org/index.php?package=Kolab_Server */ class Horde_Kolab_Server_Object_Hash -implements Horde_Kolab_Server_Object, ArrayAccess +implements Horde_Kolab_Server_Object +//@todo: Implement ArrayAccess { /** * Link to the decorated object. @@ -200,4 +201,40 @@ implements Horde_Kolab_Server_Object, ArrayAccess { $this->_object->delete(); } + + /** + * Generates an ID for the given information. + * + * @param array &$info The data of the object. + * + * @return string The ID. + */ + public function generateId(array &$info) + { + $this->_object->generateId($info); + } + + /** + * Distill the server side object information to save. + * + * @param array &$info The information about the object. + * + * @return NULL. + * + * @throws Horde_Kolab_Server_Exception If the given information contains errors. + */ + public function prepareObjectInformation(array &$info) + { + $this->_object->prepareObjectInformation($info); + } + + /** + * Returns the set of actions supported by this object type. + * + * @return array An array of supported actions. + */ + public function getActions() + { + $this->_object->getActions(); + } } diff --git a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Kolab.php b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Kolab.php index 73ef429b0..b9c60e0d2 100644 --- a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Kolab.php +++ b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Kolab.php @@ -86,7 +86,7 @@ class Horde_Kolab_Server_Object_Kolab extends Horde_Kolab_Server_Object_Groupofn * * @return string|PEAR_Error The ID. */ - public function generateId(&$info) + public function generateId(array &$info) { return self::ATTRIBUTE_K . '=kolab'; } diff --git a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Kolab/Address.php b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Kolab/Address.php index b771b32f5..907d53cb1 100644 --- a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Kolab/Address.php +++ b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Kolab/Address.php @@ -44,7 +44,7 @@ class Horde_Kolab_Server_Object_Kolab_Address extends Horde_Kolab_Server_Object_ * * @var array */ - protected $object_classes = array( + static public $object_classes = array( self::OBJECTCLASS_TOP, self::OBJECTCLASS_INETORGPERSON, self::OBJECTCLASS_KOLABINETORGPERSON, diff --git a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Kolab/Adminrole.php b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Kolab/Adminrole.php index 4c4e0dcb4..284e4a2e5 100644 --- a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Kolab/Adminrole.php +++ b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Kolab/Adminrole.php @@ -79,7 +79,7 @@ class Horde_Kolab_Server_Object_Kolab_Adminrole extends Horde_Kolab_Server_Objec * * @return boolean|PEAR_Error True on success. */ - public function save($info = null) + public function save(array $info) { $admin_group = new Horde_Kolab_Server_Object_Kolabgroupofnames($this->server, null, $this->required_group); diff --git a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Kolab/Domainmaintainer.php b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Kolab/Domainmaintainer.php index e831975a1..fccd2f1ac 100644 --- a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Kolab/Domainmaintainer.php +++ b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Kolab/Domainmaintainer.php @@ -78,7 +78,7 @@ class Horde_Kolab_Server_Object_Kolab_Domainmaintainer extends Horde_Kolab_Serve * * @throws Horde_Kolab_Server_Exception If the given information contains errors. */ - public function prepareObjectInformation(&$info) + public function prepareObjectInformation(array &$info) { foreach ($info[self::ATTRIBUTE_DOMAIN] as $domain) { $domain_uid = sprintf('cn=%s,cn=domain,cn=internal,%s', diff --git a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Kolabsharedfolder.php b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Kolabsharedfolder.php index 4e4132b88..abcbab7d1 100644 --- a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Kolabsharedfolder.php +++ b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Kolabsharedfolder.php @@ -26,7 +26,7 @@ * @license http://www.fsf.org/copyleft/lgpl.html LGPL * @link http://pear.horde.org/index.php?package=Kolab_Server */ -class Horde_Kolab_Server_Object_Kolabsharedfolder extends Horde_Kolab_Server_Object +class Horde_Kolab_Server_Object_Kolabsharedfolder extends Horde_Kolab_Server_Object_Top { /** Define attributes specific to this object type */ @@ -85,7 +85,7 @@ class Horde_Kolab_Server_Object_Kolabsharedfolder extends Horde_Kolab_Server_Obj * * @return string|PEAR_Error The ID. */ - public function generateId(&$info) + public function generateId(array &$info) { return self::ATTRIBUTE_CN . '=' . $this->server->structure->quoteForUid(trim($info['cn'], " \t\n\r\0\x0B,")); } diff --git a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Mcached.php b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Mcached.php index b798a1b7a..ae57cfcf0 100644 --- a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Mcached.php +++ b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Mcached.php @@ -154,6 +154,19 @@ implements Horde_Kolab_Server_Object } /** + * Read the object data. + * + * @return array The read data. + */ + public function readInternal() + { + $this->_cache_int = array_merge( + $this->_cache_int, + $this->_object->readInternal() + ); + } + + /** * Get the specified attribute of this object * * @param string $attr The attribute to read @@ -169,10 +182,7 @@ implements Horde_Kolab_Server_Object throw new Horde_Kolab_Server_Exception(sprintf("Attribute \"%s\" not supported!", $attr)); } - $this->_cache_int = array_merge( - $this->_cache_int, - $this->_object->readInternal() - ); + $this->_object->readInternal(); if (!isset($this->_cache_int[$attr])) { throw new Horde_Kolab_Server_Exception(sprintf("Failed to read attribute \"%s\"!", $attr)); @@ -274,6 +284,32 @@ implements Horde_Kolab_Server_Object } /** + * Generates an ID for the given information. + * + * @param array &$info The data of the object. + * + * @return string The ID. + */ + public function generateId(array &$info) + { + $this->_object->generateId($info); + } + + /** + * Distill the server side object information to save. + * + * @param array &$info The information about the object. + * + * @return NULL. + * + * @throws Horde_Kolab_Server_Exception If the given information contains errors. + */ + public function prepareObjectInformation(array &$info) + { + $this->_object->prepareObjectInformation($info); + } + + /** * Returns the set of actions supported by this object type. * * @return array An array of supported actions. diff --git a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Search.php b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Search.php index 4c612b4b9..b59386fab 100644 --- a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Search.php +++ b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Search.php @@ -32,7 +32,5 @@ interface Horde_Kolab_Server_Object_Search * * @return mixed The search result. */ - public function search() - { - } + public function search(); } \ No newline at end of file diff --git a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Search/Attributes.php b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Search/Attributes.php index 8a58e30db..6e9a0d376 100644 --- a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Search/Attributes.php +++ b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Search/Attributes.php @@ -25,7 +25,7 @@ * @license http://www.fsf.org/copyleft/lgpl.html LGPL * @link http://pear.horde.org/index.php?package=Kolab_Server */ -class Horde_Kolab_Server_Object_Search_Guid +class Horde_Kolab_Server_Object_Search_Attributes extends Horde_Kolab_Server_Object_Search_Base { /** diff --git a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Search/Base.php b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Search/Base.php index fd970c5b4..11dfefdff 100644 --- a/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Search/Base.php +++ b/framework/Kolab_Server/lib/Horde/Kolab/Server/Object/Search/Base.php @@ -25,7 +25,8 @@ * @license http://www.fsf.org/copyleft/lgpl.html LGPL * @link http://pear.horde.org/index.php?package=Kolab_Server */ -abstract class Horde_Kolab_Server_Object_Search_Base implements Horde_Kolab_Server_Object_Search +abstract class Horde_Kolab_Server_Object_Search_Base +implements Horde_Kolab_Server_Object_Search { /** * A link to the composite server handler. diff --git a/framework/Kolab_Server/package.xml b/framework/Kolab_Server/package.xml index 2c3f1345d..7d27db5cb 100644 --- a/framework/Kolab_Server/package.xml +++ b/framework/Kolab_Server/package.xml @@ -77,6 +77,24 @@ http://pear.php.net/dtd/package-2.0.xsd"> + + + + + + + + + + + + + + + + + + @@ -116,9 +134,20 @@ http://pear.php.net/dtd/package-2.0.xsd"> - + + + + + + + + + + + + @@ -284,6 +313,20 @@ http://pear.php.net/dtd/package-2.0.xsd"> + + + + + + + + + + + + + + @@ -328,6 +371,13 @@ http://pear.php.net/dtd/package-2.0.xsd"> + + + + + + + diff --git a/framework/Kolab_Server/test/Horde/Kolab/Server/Server/FactoryTest.php b/framework/Kolab_Server/test/Horde/Kolab/Server/Server/FactoryTest.php index 99faf2c66..2fe39d0b8 100644 --- a/framework/Kolab_Server/test/Horde/Kolab/Server/Server/FactoryTest.php +++ b/framework/Kolab_Server/test/Horde/Kolab/Server/Server/FactoryTest.php @@ -34,6 +34,7 @@ class Horde_Kolab_Server_Server_FactoryTest extends PHPUnit_Framework_TestCase { public function setUp() { + $this->markTestIncomplete(); $this->injector = new Horde_Injector(new Horde_Injector_TopLevel()); } diff --git a/framework/Kolab_Server/test/Horde/Kolab/Server/phpunit.xml b/framework/Kolab_Server/test/Horde/Kolab/Server/phpunit.xml new file mode 100644 index 000000000..0148736fe --- /dev/null +++ b/framework/Kolab_Server/test/Horde/Kolab/Server/phpunit.xml @@ -0,0 +1,8 @@ + + + + + ../../../../lib + + + -- 2.11.0