3
* Test the core Turba class with various backends.
9
* @subpackage UnitTests
10
* @author Gunnar Wrobel <wrobel@pardus.de>
11
* @link http://www.horde.org/apps/turba
12
* @license http://www.horde.org/licenses/apache Apache-like
16
* Prepare the test setup.
18
require_once __DIR__ . '/../../TestCase.php';
21
* Test the core Turba class with various backends.
23
* Copyright 2011-2013 Horde LLC (http://www.horde.org/)
25
* See the enclosed file LICENSE for license information (ASL). If you
26
* did not receive this file, see http://www.horde.org/licenses/apache.
30
* @subpackage UnitTests
31
* @author Gunnar Wrobel <wrobel@pardus.de>
32
* @link http://www.horde.org/apps/turba
33
* @license http://www.horde.org/licenses/apache Apache-like
35
class Turba_Unit_Turba_Base extends Turba_TestCase
40
* @var Horde_Test_Setup
45
* The default share name expected to be used.
49
protected $default_name = 'Address book of test@example.com';
51
public static function setUpBeforeClass()
53
self::createBasicTurbaSetup(self::$setup);
54
parent::setUpBeforeClass();
57
public static function tearDownAfterClass()
59
self::tearDownBasicTurbaSetup();
60
self::tearDownShares();
61
parent::tearDownAfterClass();
64
public function setUp()
66
$error = self::$setup->getError();
68
$this->markTestSkipped($error);
72
public function tearDown()
74
$turba_shares = $GLOBALS['injector']->getInstance('Turba_Shares');
75
foreach ($turba_shares->listShares('test@example.com') as $share) {
76
$turba_shares->removeShare($share);
78
$GLOBALS['injector']->setInstance('Turba_Factory_Addressbooks', null);
82
public function testCreateDefaultShare()
84
$turba_shares = $GLOBALS['injector']->getInstance('Turba_Shares');
85
$GLOBALS['conf']['share']['auto_create'] = true;
86
Turba::getConfigFromShares(array('test' => array('use_shares' => true)));
88
1, count($turba_shares->listShares('test@example.com'))
92
public function testDefaultShareName()
94
$turba_shares = $GLOBALS['injector']->getInstance('Turba_Shares');
95
$GLOBALS['conf']['share']['auto_create'] = true;
96
Turba::getConfigFromShares(array('test' => array('use_shares' => true)));
97
$shares = $turba_shares->listShares('test@example.com');
98
$default = array_pop($shares);
99
$this->assertInstanceOf('Horde_Share_Object', $default);
102
$default->get('name')
106
public function testNoAutoCreate()
108
$turba_shares = $GLOBALS['injector']->getInstance('Turba_Shares');
109
$GLOBALS['conf']['share']['auto_create'] = false;
110
Turba::getConfigFromShares(array('test' => array('use_shares' => true)));
112
0, count($turba_shares->listShares('test@example.com'))
116
public function testDefaultShareDeletePermission()
118
$turba_shares = $GLOBALS['injector']->getInstance('Turba_Shares');
119
$GLOBALS['conf']['share']['auto_create'] = true;
120
Turba::getConfigFromShares(array('test' => array('use_shares' => true)));
121
$shares = $turba_shares->listShares('test@example.com');
122
$default = array_pop($shares);
123
$this->assertInstanceOf('Horde_Share_Object', $default);
125
$default->hasPermission(
126
$GLOBALS['registry']->getAuth(), Horde_Perms::DELETE