Test and fix domain handling.
authorGunnar Wrobel <p@rdus.de>
Mon, 15 Mar 2010 08:35:46 +0000 (09:35 +0100)
committerGunnar Wrobel <wrobel@temple.(none)>
Mon, 15 Mar 2010 10:33:25 +0000 (11:33 +0100)
framework/Kolab_Storage/lib/Horde/Kolab/Storage/Folder.php
framework/Kolab_Storage/lib/Horde/Kolab/Storage/Namespace.php
framework/Kolab_Storage/test/Horde/Kolab/Storage/NamespaceTest.php

index 92cbc0f..d06be64 100644 (file)
@@ -501,7 +501,7 @@ class Horde_Kolab_Storage_Folder
                 if (strpos($user, '@') === false) {
                     $domain = strstr(Horde_Auth::getAuth(), '@');
                     if (!empty($domain)) {
-                        $user .= '@' . $domain;
+                        $user .= $domain;
                     }
                 }
                 $this->_owner = $user;
index 56ee6ca..8442e4e 100644 (file)
@@ -155,7 +155,7 @@ class Horde_Kolab_Storage_Namespace
             $user = $path[1];
             $domain = strstr(array_pop($path), '@');
             if (!empty($domain)) {
-                $user .= '@' . $domain;
+                $user .= $domain;
             }
             return self::OTHER . ':' . $user;
         }
index 9922c2e..5a24eed 100644 (file)
@@ -130,6 +130,21 @@ class Horde_Kolab_Storage_NamespaceTest extends PHPUnit_Framework_TestCase
         $this->assertEquals('test', $folder->getOwner());
     }
 
+    public function testFolderOwnerHasDomainFromFolderDomain()
+    {
+        $_SESSION['horde_auth']['userId'] = 'test@example.com';
+        $folder = new Horde_Kolab_Storage_Folder('user/test/mine');
+        $folder->restore($this->_storage, $this->_connection, new Horde_Kolab_Storage_Namespace());
+        $this->assertEquals('test@example.com', $folder->getOwner());
+    }
+
+    public function testFolderOwnerHasDomainFromCurrentUserIfNoFolderDomain()
+    {
+        $folder = new Horde_Kolab_Storage_Folder('user/test/mine@example.com');
+        $folder->restore($this->_storage, $this->_connection, new Horde_Kolab_Storage_Namespace());
+        $this->assertEquals('test@example.com', $folder->getOwner());
+    }
+
     public function testSetnameDoesAddDefaultPersonalNamespace()
     {
         $folder = new Horde_Kolab_Storage_Folder(null);