Пример #1
0
 public function testCreateDataSourceApi()
 {
     $key = $this->faker->word;
     $value = $this->faker->word;
     $name = $this->faker->word;
     $id = $this->faker->word;
     $attr = new KeyValuePair($key, $value);
     $dataSource = new DataSourceSpecifier(DataSourceType::POP3(), $name, [$attr]);
     $this->api->createDataSource($id, $dataSource);
     $client = $this->api->getClient();
     $req = $client->lastRequest();
     $xml = '<?xml version="1.0"?>' . "\n" . '<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:urn="urn:zimbra" xmlns:urn1="urn:zimbraAdmin">' . '<env:Body>' . '<urn1:CreateDataSourceRequest id="' . $id . '">' . '<urn1:dataSource type="' . DataSourceType::POP3() . '" name="' . $name . '">' . '<urn1:a n="' . $key . '">' . $value . '</urn1:a>' . '</urn1:dataSource>' . '</urn1:CreateDataSourceRequest>' . '</env:Body>' . '</env:Envelope>';
     $this->assertXmlStringEqualsXmlString($xml, (string) $req);
 }
Пример #2
0
 public function testDataSourceSpecifier()
 {
     $name = $this->faker->word;
     $key = $this->faker->word;
     $value = $this->faker->word;
     $ds = new DataSourceSpecifier(DataSourceType::IMAP(), $name);
     $this->assertTrue($ds->getType()->is('imap'));
     $this->assertSame($name, $ds->getName());
     $attr = new KeyValuePair($key, $value);
     $ds->setType(DataSourceType::POP3())->setName($name)->addAttr($attr);
     $this->assertTrue($ds->getType()->is('pop3'));
     $this->assertSame($name, $ds->getName());
     $xml = '<?xml version="1.0"?>' . "\n" . '<dataSource type="' . DataSourceType::POP3() . '" name="' . $name . '">' . '<a n="' . $key . '">' . $value . '</a>' . '</dataSource>';
     $this->assertXmlStringEqualsXmlString($xml, (string) $ds);
     $array = ['dataSource' => ['type' => DataSourceType::POP3()->value(), 'name' => $name, 'a' => [['n' => $key, '_content' => $value]]]];
     $this->assertEquals($array, $ds->toArray());
 }
Пример #3
0
 public function testDataSourceType()
 {
     $values = array('pop3', 'imap', 'caldav', 'contacts', 'yab', 'rss', 'cal', 'gal', 'xsync', 'tagmap');
     foreach ($values as $value) {
         $this->assertTrue(\Zimbra\Enum\DataSourceType::has($value));
     }
 }
Пример #4
0
 public function testCreateDataSource()
 {
     $key = self::randomName();
     $value = self::randomName();
     $name = self::randomName();
     $id = self::randomName();
     $attr = new \Zimbra\Struct\KeyValuePair($key, $value);
     $dataSource = new \Zimbra\Admin\Struct\DataSourceSpecifier(DataSourceType::POP3(), $name, [$attr]);
     $req = new \Zimbra\Admin\Request\CreateDataSource($id, $dataSource);
     $this->assertInstanceOf('Zimbra\\Admin\\Request\\Base', $req);
     $this->assertSame($id, $req->getId());
     $this->assertSame($dataSource, $req->getDataSource());
     $req->setId($id)->setDataSource($dataSource);
     $this->assertSame($id, $req->getId());
     $this->assertSame($dataSource, $req->getDataSource());
     $xml = '<?xml version="1.0"?>' . "\n" . '<CreateDataSourceRequest id="' . $id . '">' . '<dataSource type="' . DataSourceType::POP3() . '" name="' . $name . '">' . '<a n="' . $key . '">' . $value . '</a>' . '</dataSource>' . '</CreateDataSourceRequest>';
     $this->assertXmlStringEqualsXmlString($xml, (string) $req);
     $array = ['CreateDataSourceRequest' => ['_jsns' => 'urn:zimbraAdmin', 'id' => $id, 'dataSource' => ['type' => DataSourceType::POP3(), 'name' => $name, 'a' => [['n' => $key, '_content' => $value]]]]];
     $this->assertEquals($array, $req->toArray());
 }