Corrected support for real world LDAP server testing.
authorGunnar Wrobel <p@rdus.de>
Thu, 9 Apr 2009 09:24:23 +0000 (11:24 +0200)
committerGunnar Wrobel <p@rdus.de>
Thu, 9 Apr 2009 09:35:39 +0000 (11:35 +0200)
framework/Kolab_Server/lib/Horde/Kolab/Test/Server.php
framework/Kolab_Server/test/Horde/Kolab/Server/PersonTest.php

index 0033eb8..a9e6a14 100644 (file)
@@ -304,9 +304,7 @@ class Horde_Kolab_Test_Server extends PHPUnit_Extensions_Story_TestCase
         /** Prepare a Kolab test server */
         $conf['kolab']['server']['driver'] = 'ldap';
 
-        $server = Horde_Kolab_Server::singleton($params);
-
-        return $server;
+        return Horde_Kolab_Server::singleton($params);
     }
 
     /**
@@ -320,7 +318,7 @@ class Horde_Kolab_Test_Server extends PHPUnit_Extensions_Story_TestCase
         /**
          * We always use the test server
          */
-        $servers[] = $this->prepareEmptyKolabServer();
+        $servers[] = array($this->prepareEmptyKolabServer());
 
         $base = getenv('HORDE_BASE');
         if (!empty($base)) {
@@ -328,11 +326,11 @@ class Horde_Kolab_Test_Server extends PHPUnit_Extensions_Story_TestCase
             if (file_exists($config)) {
                 @include $config; 
                 if (!empty($conf['kolab']['server']['params'])) {
-                    $servers[] = $this->prepareLdapKolabServer($conf['kolab']['server']['params']);
+                    $servers[] = array($this->prepareLdapKolabServer($conf['kolab']['server']['params']));
                 }
             }
         }
-        return array($servers);
+        return $servers;
     }
 
     /**
index ead2c25..1647add 100644 (file)
@@ -41,15 +41,15 @@ class Horde_Kolab_Server_PersonTest extends Horde_Kolab_Test_Server
         /* Default dummy person */
         array(
             'type' => 'Horde_Kolab_Server_Object_Person',
-            Horde_Kolab_Server_Object_Person::ATTRIBUTE_CN           => '123',
-            Horde_Kolab_Server_Object_Person::ATTRIBUTE_SN           => '123',
-            Horde_Kolab_Server_Object_Person::ATTRIBUTE_USERPASSWORD => '123',
+            Horde_Kolab_Server_Object_Person::ATTRIBUTE_CN           => 'Kolab_Server_PersonTest_123',
+            Horde_Kolab_Server_Object_Person::ATTRIBUTE_SN           => 'Kolab_Server_PersonTest_123',
+            Horde_Kolab_Server_Object_Person::ATTRIBUTE_USERPASSWORD => 'Kolab_Server_PersonTest_123',
         ),
         /* Invalid person (no sn) */
         array(
             'type' => 'Horde_Kolab_Server_Object_Person',
-            Horde_Kolab_Server_Object_Person::ATTRIBUTE_CN           => '123',
-            Horde_Kolab_Server_Object_Person::ATTRIBUTE_USERPASSWORD => '123',
+            Horde_Kolab_Server_Object_Person::ATTRIBUTE_CN           => 'Kolab_Server_PersonTest_123',
+            Horde_Kolab_Server_Object_Person::ATTRIBUTE_USERPASSWORD => 'Kolab_Server_PersonTest_123',
         ),
     );
 
@@ -60,12 +60,12 @@ class Horde_Kolab_Server_PersonTest extends Horde_Kolab_Test_Server
      */
     public function testGenerateId()
     {
-        $this->assertEquals('cn=123',
+        $this->assertEquals(Horde_Kolab_Server_Object_Person::ATTRIBUTE_CN . '=' . $this->objects[0][Horde_Kolab_Server_Object_Person::ATTRIBUTE_CN],
                             Horde_Kolab_Server_Object_Person::generateId($this->objects[0]));
     }
 
     /**
-     * Test adding invalid user.
+     * Test adding an invalid person.
      *
      * @dataProvider provideServers
      * @expectedException Horde_Kolab_Server_Exception
@@ -74,7 +74,25 @@ class Horde_Kolab_Server_PersonTest extends Horde_Kolab_Test_Server
      */
     public function testAddInvalidPerson($server)
     {
-        $result = $server->add($this->objects[2]);
+        $result = $server->add($this->objects[1]);
     }
 
+    /**
+     * Test adding a person.
+     *
+     * @dataProvider provideServers
+     *
+     * @return NULL
+     */
+    public function testAddPerson($server)
+    {
+        $result = $server->add($this->objects[0]);
+        $this->assertNoError($result);
+        $cn_result = $server->uidForCn($this->objects[0][Horde_Kolab_Server_Object_Person::ATTRIBUTE_CN]);
+        $this->assertContains(Horde_Kolab_Server_Object_Person::ATTRIBUTE_CN . '=' . $this->objects[0][Horde_Kolab_Server_Object_Person::ATTRIBUTE_CN],
+                              $cn_result);
+        $this->assertNoError($result);
+        $cn_result = $server->uidForCn($this->objects[0][Horde_Kolab_Server_Object_Person::ATTRIBUTE_CN]);
+        $this->assertFalse($server->uidForCn($this->objects[0][Horde_Kolab_Server_Object_Person::ATTRIBUTE_CN]));
+    }
 }