⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.74
Server IP:
41.128.143.86
Server:
Linux host.raqmix.cloud 6.8.0-1025-azure #30~22.04.1-Ubuntu SMP Wed Mar 12 15:28:20 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.3.23
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
psa-pear
/
pear
/
tests
/
turba
/
Turba
/
ToDo
/
Edit File: KolabTest.php
<?php require_once __DIR__ . '/KolabTestBase.php'; /** * @author Jason M. Felice <jason.m.felice@gmail.com> * @package Turba * @subpackage UnitTests */ class Turba_ToDo_KolabTest extends Turba_KolabTestBase { /** * Test setup. * * @return NULL */ public function setUp() { $this->markTestIncomplete('Convert to use Horde_Test.'); $this->prepareTurba(); $this->_kolab = new Kolab(); } function testBug5476() { /* Open our addressbook */ $this->_kolab->open('INBOX/Contacts', 1); $object = array( 'uid' => 1, 'given-name' => 'test', 'last-name' => 'test', 'full-name' => 'test test', ); // Save the contact $this->_kolab->_storage->save($object); $object = array( 'uid' => 2, 'given-name' => 'test2', 'last-name' => 'test2', 'full-name' => 'test2 test2', ); // Save the contact $this->_kolab->_storage->save($object); // Check that the driver can be created $turba = $GLOBALS['injector']->getInstance('Turba_Factory_Driver')->create('wrobel@example.org'); //$this->assertNoError($turba); $result = $turba->search(array(), array('last-name')); $this->assertNoError($result); $this->assertEquals(2, count($result)); $turba = $GLOBALS['injector']->getInstance('Turba_Factory_Driver')->create('INBOX%2Ftest2'); $result = $turba->search(array(), array('last-name')); $this->assertEquals(0, count($result)); } function testPhoto() { /* Open our addressbook */ $this->_kolab->open('INBOX/Contacts', 1); $object = array( 'uid' => 1, 'given-name' => 'photo', 'last-name' => 'photo', 'full-name' => 'photo photo', 'photo' => 'abcd', 'phototype' => 'image/jpeg', ); // Save the contact $turba = $GLOBALS['injector']->getInstance('Turba_Factory_Driver')->create('wrobel@example.org'); //$this->assertNoError($turba); $this->assertNoError($turba->_add($object)); $list = Kolab_List::singleton(); $share = &$list->getByShare('INBOX/Contacts', 'contact'); $data = &$share->getData(); $object = $data->getObject('1'); $this->assertTrue(isset($object['_attachments'][$object['picture']])); $attachment = $data->getAttachment($object['_attachments'][$object['picture']]['key']); $this->assertEquals("abcd\n", $attachment); } function testAttachments() { /* Open our addressbook */ $this->_kolab->open('INBOX/Contacts', 1); $object = array( 'uid' => 'a', 'given-name' => 'atc', 'last-name' => 'atc', 'full-name' => 'atc atc', ); // Save the contact $turba = $GLOBALS['injector']->getInstance('Turba_Factory_Driver')->create('wrobel@example.org'); //$this->assertNoError($turba); $this->assertNoError($turba->_add($object)); $contact = $turba->getObject('a'); $this->assertNoError($contact); $list = Kolab_List::singleton(); $share = &$list->getByShare('INBOX/Contacts', 'contact'); $data = &$share->getData(); $atc1 = Horde_Util::getTempFile(); $fh = fopen($atc1, 'w'); fwrite($fh, 'test'); fclose($fh); $info = array('tmp_name' => $atc1, 'name' => 'test.txt'); $this->assertNoError($contact->addFile($info)); $objects = $data->getObjects(); $this->assertEquals(1, count($objects)); $object = $data->getObject('a'); $this->assertTrue(isset($object['_attachments'])); $this->assertEquals(1, count($object['_attachments'])); $this->assertEquals(1, count($object['link-attachment'])); $this->assertContains('test.txt', $object['link-attachment']); $attachment = $data->getAttachment($object['_attachments']['test.txt']['key']); $this->assertEquals("test\n", $attachment); $atc1 = Horde_Util::getTempFile(); $fh = fopen($atc1, 'w'); fwrite($fh, 'hhhh'); fclose($fh); $info = array('tmp_name' => $atc1, 'name' => 'test.txt'); $this->assertNoError($contact->addFile($info)); $objects = $data->getObjects(); $this->assertEquals(1, count($objects)); $object = $data->getObject('a'); $this->assertTrue(isset($object['_attachments'])); $this->assertEquals(2, count($object['_attachments'])); $this->assertEquals(2, count($object['link-attachment'])); $this->assertContains('test[1].txt', $object['link-attachment']); $attachment = $data->getAttachment($object['_attachments']['test[1].txt']['key']); $this->assertEquals("hhhh\n", $attachment); $atc1 = Horde_Util::getTempFile(); $fh = fopen($atc1, 'w'); fwrite($fh, 'dummy'); fclose($fh); $info = array('tmp_name' => $atc1, 'name' => 'dummy.txt'); $this->assertNoError($contact->addFile($info)); $objects = $data->getObjects(); $this->assertEquals(1, count($objects)); $object = $data->getObject('a'); $this->assertTrue(isset($object['_attachments'])); $this->assertEquals(3, count($object['_attachments'])); $this->assertEquals(3, count($object['link-attachment'])); $this->assertContains('dummy.txt', $object['link-attachment']); $attachment = $data->getAttachment($object['_attachments']['dummy.txt']['key']); $this->assertEquals("dummy\n", $attachment); $this->assertError($contact->deleteFile('doesnotexist.txt'), "Unable to delete VFS file."); $this->assertNoError($contact->deleteFile('test[1].txt')); $objects = $data->getObjects(); $this->assertEquals(1, count($objects)); $object = $data->getObject('a'); $this->assertTrue(!isset($object['_attachments']['test[1].txt'])); $this->assertEquals(2, count($object['_attachments'])); $this->assertEquals(2, count($object['link-attachment'])); $this->assertNotContains('test[1].txt', $object['link-attachment']); $files = $contact->listFiles(); $this->assertNoError($files); $this->assertContains('test.txt', array_keys($files)); $this->assertContains('dummy.txt', array_keys($files)); $this->assertNoError($contact->deleteFiles()); $objects = $data->getObjects(); $this->assertEquals(1, count($objects)); $object = $data->getObject('a'); $this->assertTrue(!isset($object['_attachments']['test.txt'])); $this->assertTrue(!isset($object['_attachments'])); $this->assertTrue(!isset($object['link-attachment'])); } }
Simpan