public function testGetAllDistributionListsApi() { $value = $this->faker->word; $domain = new DomainSelector(DomainBy::NAME(), $value); $this->api->getAllDistributionLists($domain); $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:GetAllDistributionListsRequest>' . '<urn1:domain by="' . DomainBy::NAME() . '">' . $value . '</urn1:domain>' . '</urn1:GetAllDistributionListsRequest>' . '</env:Body>' . '</env:Envelope>'; $this->assertXmlStringEqualsXmlString($xml, (string) $req); }
public function testCountObjectsApi() { $value = $this->faker->word; $domain = new DomainSelector(DomainBy::NAME(), $value); $ucservice = new UcServiceSelector(UcServiceBy::NAME(), $value); $this->api->countObjects(ObjType::ACCOUNT(), $domain, $ucservice); $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:CountObjectsRequest type="account">' . '<urn1:domain by="' . DomainBy::NAME() . '">' . $value . '</urn1:domain>' . '<urn1:ucservice by="' . UcServiceBy::NAME() . '">' . $value . '</urn1:ucservice>' . '</urn1:CountObjectsRequest>' . '</env:Body>' . '</env:Envelope>'; $this->assertXmlStringEqualsXmlString($xml, (string) $req); }
public function testAutoProvAccountApi() { $value = $this->faker->word; $password = $this->faker->word; $domain = new DomainSelector(DomainBy::NAME(), $value); $principal = new PrincipalSelector(PrincipalBy::DN(), $value); $this->api->autoProvAccount($domain, $principal, $password); $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:AutoProvAccountRequest>' . '<urn1:domain by="' . DomainBy::NAME() . '">' . $value . '</urn1:domain>' . '<urn1:principal by="' . PrincipalBy::DN() . '">' . $value . '</urn1:principal>' . '<urn1:password>' . $password . '</urn1:password>' . '</urn1:AutoProvAccountRequest>' . '</env:Body>' . '</env:Envelope>'; $this->assertXmlStringEqualsXmlString($xml, (string) $req); }
public function testDomainSelector() { $value = $this->faker->word; $domain = new DomainSelector(DomainBy::ID(), $value); $this->assertTrue($domain->getBy()->is('id')); $this->assertSame($value, $domain->getValue()); $domain->setBy(DomainBy::NAME()); $this->assertTrue($domain->getBy()->is('name')); $xml = '<?xml version="1.0"?>' . "\n" . '<domain by="' . DomainBy::NAME() . '">' . $value . '</domain>'; $this->assertXmlStringEqualsXmlString($xml, (string) $domain); $array = ['domain' => ['by' => DomainBy::NAME()->value(), '_content' => $value]]; $this->assertEquals($array, $domain->toArray()); }
public function testGetCreateObjectAttrsApi() { $value = $this->faker->word; $type = $this->faker->word; $target = new TargetWithType($type, $value); $cos = new CosSelector(CosBy::NAME(), $value); $domain = new DomainSelector(DomainBy::NAME(), $value); $this->api->getCreateObjectAttrs($target, $domain, $cos); $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:GetCreateObjectAttrsRequest>' . '<urn1:target type="' . $type . '">' . $value . '</urn1:target>' . '<urn1:domain by="' . DomainBy::NAME() . '">' . $value . '</urn1:domain>' . '<urn1:cos by="' . CosBy::NAME() . '">' . $value . '</urn1:cos>' . '</urn1:GetCreateObjectAttrsRequest>' . '</env:Body>' . '</env:Envelope>'; $this->assertXmlStringEqualsXmlString($xml, (string) $req); }
public function testCreateXMPPComponentApi() { $key = $this->faker->word; $value = $this->faker->word; $name = $this->faker->word; $attr = new KeyValuePair($key, $value); $domain = new DomainSelector(DomainBy::NAME(), $value); $server = new ServerSelector(ServerBy::NAME(), $value); $xmpp = new XmppComponentSpec($name, $domain, $server, [$attr]); $this->api->createXMPPComponent($xmpp); $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:CreateXMPPComponentRequest>' . '<urn1:xmppcomponent name="' . $name . '">' . '<urn1:domain by="' . DomainBy::NAME() . '">' . $value . '</urn1:domain>' . '<urn1:server by="' . ServerBy::NAME() . '">' . $value . '</urn1:server>' . '<urn1:a n="' . $key . '">' . $value . '</urn1:a>' . '</urn1:xmppcomponent>' . '</urn1:CreateXMPPComponentRequest>' . '</env:Body>' . '</env:Envelope>'; $this->assertXmlStringEqualsXmlString($xml, (string) $req); }
public function testSearchAutoProvDirectoryApi() { $value = $this->faker->word; $keyAttr = $this->faker->word; $query = $this->faker->word; $name = $this->faker->word; $attrs = $this->faker->word; $maxResults = mt_rand(0, 100); $limit = mt_rand(0, 100); $offset = mt_rand(0, 100); $domain = new DomainSelector(DomainBy::NAME(), $value); $this->api->searchAutoProvDirectory($domain, $keyAttr, $query, $name, $maxResults, $limit, $offset, true, [$attrs]); $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:SearchAutoProvDirectoryRequest keyAttr="' . $keyAttr . '" query="' . $query . '" name="' . $name . '" maxResults="' . $maxResults . '" limit="' . $limit . '" offset="' . $offset . '" refresh="true" attrs="' . $attrs . '">' . '<urn1:domain by="' . DomainBy::NAME() . '">' . $value . '</urn1:domain>' . '</urn1:SearchAutoProvDirectoryRequest>' . '</env:Body>' . '</env:Envelope>'; $this->assertXmlStringEqualsXmlString($xml, (string) $req); }
public function testXmppComponentSpec() { $name = $this->faker->word; $value = $this->faker->word; $attr = new KeyValuePair($name, $value); $domain = new DomainSelector(DomainBy::NAME(), $value); $server = new ServerSelector(ServerBy::NAME(), $value); $xmpp = new XmppComponentSpec($name, $domain, $server); $this->assertSame($name, $xmpp->getName()); $this->assertSame($domain, $xmpp->getDomain()); $this->assertSame($server, $xmpp->getServer()); $xmpp->setName($name)->setDomain($domain)->setServer($server)->addAttr($attr); $this->assertSame($name, $xmpp->getName()); $this->assertSame($domain, $xmpp->getDomain()); $this->assertSame($server, $xmpp->getServer()); $xml = '<?xml version="1.0"?>' . "\n" . '<xmppcomponent name="' . $name . '">' . '<domain by="' . DomainBy::NAME() . '">' . $value . '</domain>' . '<server by="' . ServerBy::NAME() . '">' . $value . '</server>' . '<a n="' . $name . '">' . $value . '</a>' . '</xmppcomponent>'; $this->assertXmlStringEqualsXmlString($xml, (string) $xmpp); $array = ['xmppcomponent' => ['name' => $name, 'domain' => ['by' => ServerBy::NAME()->value(), '_content' => $value], 'server' => ['by' => ServerBy::NAME()->value(), '_content' => $value], 'a' => [['n' => $name, '_content' => $value]]]]; $this->assertEquals($array, $xmpp->toArray()); }
public function testSearchAutoProvDirectory() { $value = self::randomName(); $keyAttr = self::randomName(); $query = self::randomName(); $name = self::randomName(); $attrs = self::randomName(); $maxResults = mt_rand(0, 100); $limit = mt_rand(0, 100); $offset = mt_rand(0, 100); $domain = new \Zimbra\Admin\Struct\DomainSelector(DomainBy::NAME(), $value); $req = new \Zimbra\Admin\Request\SearchAutoProvDirectory($domain, $keyAttr, $query, $name, $maxResults, $limit, $offset, false, [$attrs]); $this->assertInstanceOf('Zimbra\\Admin\\Request\\Base', $req); $this->assertEquals($domain, $req->getDomain()); $this->assertEquals($keyAttr, $req->getKeyAttr()); $this->assertEquals($query, $req->getQuery()); $this->assertEquals($name, $req->getName()); $this->assertEquals($maxResults, $req->getMaxResults()); $this->assertEquals($limit, $req->getLimit()); $this->assertEquals($offset, $req->getOffset()); $this->assertFalse($req->getRefresh()); $req->setDomain($domain)->setKeyAttr($keyAttr)->setQuery($query)->setName($name)->setMaxResults($maxResults)->setLimit($limit)->setOffset($offset)->setRefresh(true); $this->assertEquals($domain, $req->getDomain()); $this->assertEquals($keyAttr, $req->getKeyAttr()); $this->assertEquals($query, $req->getQuery()); $this->assertEquals($name, $req->getName()); $this->assertEquals($maxResults, $req->getMaxResults()); $this->assertEquals($limit, $req->getLimit()); $this->assertEquals($offset, $req->getOffset()); $this->assertTrue($req->getRefresh()); $xml = '<?xml version="1.0"?>' . "\n" . '<SearchAutoProvDirectoryRequest ' . 'keyAttr="' . $keyAttr . '" ' . 'query="' . $query . '" ' . 'name="' . $name . '" ' . 'maxResults="' . $maxResults . '" ' . 'limit="' . $limit . '" ' . 'offset="' . $offset . '" ' . 'refresh="true" ' . 'attrs="' . $attrs . '">' . '<domain by="' . DomainBy::NAME() . '">' . $value . '</domain>' . '</SearchAutoProvDirectoryRequest>'; $this->assertXmlStringEqualsXmlString($xml, (string) $req); $array = ['SearchAutoProvDirectoryRequest' => ['_jsns' => 'urn:zimbraAdmin', 'keyAttr' => $keyAttr, 'query' => $query, 'name' => $name, 'maxResults' => $maxResults, 'limit' => $limit, 'offset' => $offset, 'refresh' => true, 'attrs' => $attrs, 'domain' => ['by' => DomainBy::NAME()->value(), '_content' => $value]]]; $this->assertEquals($array, $req->toArray()); }