public function testGetDelegatedAdminConstraintsApi()
 {
     $name = $this->faker->word;
     $id = $this->faker->word;
     $attr = new NamedElement($name);
     $this->api->getDelegatedAdminConstraints(TargetType::DOMAIN(), $id, $name, [$attr]);
     $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:GetDelegatedAdminConstraintsRequest type="' . TargetType::DOMAIN() . '" id="' . $id . '" name="' . $name . '">' . '<urn1:a name="' . $name . '" />' . '</urn1:GetDelegatedAdminConstraintsRequest>' . '</env:Body>' . '</env:Envelope>';
     $this->assertXmlStringEqualsXmlString($xml, (string) $req);
 }
Example #2
0
 public function testCheckRightsApi()
 {
     $key = $this->faker->word;
     $right1 = $this->faker->word;
     $right2 = $this->faker->word;
     $target = new CheckRightsTargetSpec(TargetType::DOMAIN(), TargetBy::ID(), $key, [$right1, $right2]);
     $this->api->checkRights([$target]);
     $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:zimbraAccount">' . '<env:Body>' . '<urn1:CheckRightsRequest>' . '<urn1:target type="' . TargetType::DOMAIN() . '" by="' . TargetBy::ID() . '" key="' . $key . '">' . '<urn1:right>' . $right1 . '</urn1:right>' . '<urn1:right>' . $right2 . '</urn1:right>' . '</urn1:target>' . '</urn1:CheckRightsRequest>' . '</env:Body>' . '</env:Envelope>';
     $this->assertXmlStringEqualsXmlString($xml, (string) $req);
 }
 public function testEffectiveRightsTargetSelector()
 {
     $value = $this->faker->word;
     $target = new EffectiveRightsTargetSelector(TargetType::DOMAIN(), TargetBy::ID(), $value);
     $this->assertTrue($target->getType()->is('domain'));
     $this->assertSame($value, $target->getValue());
     $this->assertSame('id', $target->getBy()->value());
     $target->setType(TargetType::ACCOUNT())->setBy(TargetBy::NAME());
     $this->assertSame('account', $target->getType()->value());
     $this->assertSame('name', $target->getBy()->value());
     $xml = '<?xml version="1.0"?>' . "\n" . '<target type="' . TargetType::ACCOUNT() . '" by="' . TargetBy::NAME() . '">' . $value . '</target>';
     $this->assertXmlStringEqualsXmlString($xml, (string) $target);
     $array = ['target' => ['type' => TargetType::ACCOUNT()->value(), '_content' => $value, 'by' => TargetBy::NAME()->value()]];
     $this->assertEquals($array, $target->toArray());
 }
 public function testCheckRightsTargetSpec()
 {
     $key = $this->faker->word;
     $right1 = $this->faker->word;
     $right2 = $this->faker->word;
     $right3 = $this->faker->word;
     $target = new CheckRightsTargetSpec(TargetType::DOMAIN(), TargetBy::ID(), $key, [$right1, $right2]);
     $this->assertTrue($target->getTargetType()->is('domain'));
     $this->assertTrue($target->getTargetBy()->is('id'));
     $this->assertSame($key, $target->getTargetKey());
     $this->assertSame([$right1, $right2], $target->getRights()->all());
     $target->setTargetType(TargetType::ACCOUNT())->setTargetBy(TargetBy::NAME())->setTargetKey($key)->addRight($right3);
     $this->assertTrue($target->getTargetType()->is('account'));
     $this->assertTrue($target->getTargetBy()->is('name'));
     $this->assertSame($key, $target->getTargetKey());
     $this->assertSame([$right1, $right2, $right3], $target->getRights()->all());
     $xml = '<?xml version="1.0"?>' . "\n" . '<target type="' . TargetType::ACCOUNT() . '" by="' . TargetBy::NAME() . '" key="' . $key . '">' . '<right>' . $right1 . '</right>' . '<right>' . $right2 . '</right>' . '<right>' . $right3 . '</right>' . '</target>';
     $this->assertXmlStringEqualsXmlString($xml, (string) $target);
     $array = ['target' => ['type' => TargetType::ACCOUNT()->value(), 'by' => TargetBy::NAME()->value(), 'key' => $key, 'right' => [$right1, $right2, $right3]]];
     $this->assertEquals($array, $target->toArray());
 }
Example #5
0
 public function testCheckRights()
 {
     $key = self::randomName();
     $right1 = md5(self::randomString());
     $right2 = md5(self::randomString());
     $target = new \Zimbra\Account\Struct\CheckRightsTargetSpec(TargetType::DOMAIN(), TargetBy::ID(), $key, array($right1, $right2));
     $this->_api->checkRights(array($target));
     $client = $this->_api->client();
     $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:zimbraAccount">' . '<env:Body>' . '<urn1:CheckRightsRequest>' . '<urn1:target type="' . TargetType::DOMAIN() . '" by="' . TargetBy::ID() . '" key="' . $key . '">' . '<urn1:right>' . $right1 . '</urn1:right>' . '<urn1:right>' . $right2 . '</urn1:right>' . '</urn1:target>' . '</urn1:CheckRightsRequest>' . '</env:Body>' . '</env:Envelope>';
     $this->assertXmlStringEqualsXmlString($xml, (string) $req);
 }
Example #6
0
 public function testCheckRights()
 {
     $key = self::randomName();
     $right1 = self::randomName();
     $right2 = self::randomName();
     $target = new \Zimbra\Account\Struct\CheckRightsTargetSpec(TargetType::DOMAIN(), TargetBy::ID(), $key, [$right1, $right2]);
     $req = new \Zimbra\Account\Request\CheckRights([$target]);
     $this->assertInstanceOf('Zimbra\\Account\\Request\\Base', $req);
     $this->assertSame([$target], $req->getTargets()->all());
     $req->addTarget($target);
     $this->assertSame([$target, $target], $req->getTargets()->all());
     $req->getTargets()->remove(1);
     $xml = '<?xml version="1.0"?>' . "\n" . '<CheckRightsRequest>' . '<target type="' . TargetType::DOMAIN() . '" by="' . TargetBy::ID() . '" key="' . $key . '">' . '<right>' . $right1 . '</right>' . '<right>' . $right2 . '</right>' . '</target>' . '</CheckRightsRequest>';
     $this->assertXmlStringEqualsXmlString($xml, (string) $req);
     $array = ['CheckRightsRequest' => ['_jsns' => 'urn:zimbraAccount', 'target' => [['type' => TargetType::DOMAIN()->value(), 'by' => TargetBy::ID()->value(), 'key' => $key, 'right' => [$right1, $right2]]]]];
     $this->assertEquals($array, $req->toArray());
 }
Example #7
0
 public function testGetDelegatedAdminConstraints()
 {
     $name = self::randomName();
     $id = self::randomName();
     $attr = new \Zimbra\Struct\NamedElement($name);
     $req = new \Zimbra\Admin\Request\GetDelegatedAdminConstraints(TargetType::ACCOUNT(), $id, $name, [$attr]);
     $this->assertInstanceOf('Zimbra\\Admin\\Request\\Base', $req);
     $this->assertSame('account', $req->getType()->value());
     $this->assertSame($id, $req->getId());
     $this->assertSame($name, $req->getName());
     $this->assertSame([$attr], $req->getAttrs()->all());
     $req->setType(TargetType::DOMAIN())->setId($id)->setName($name)->addAttr($attr);
     $this->assertSame('domain', $req->getType()->value());
     $this->assertSame($id, $req->getId());
     $this->assertSame($name, $req->getName());
     $this->assertSame([$attr, $attr], $req->getAttrs()->all());
     $req->getAttrs()->remove(1);
     $xml = '<?xml version="1.0"?>' . "\n" . '<GetDelegatedAdminConstraintsRequest type="' . TargetType::DOMAIN() . '" id="' . $id . '" name="' . $name . '">' . '<a name="' . $name . '" />' . '</GetDelegatedAdminConstraintsRequest>';
     $this->assertXmlStringEqualsXmlString($xml, (string) $req);
     $array = ['GetDelegatedAdminConstraintsRequest' => ['_jsns' => 'urn:zimbraAdmin', 'type' => TargetType::DOMAIN()->value(), 'id' => $id, 'name' => $name, 'a' => [['name' => $name]]]];
     $this->assertEquals($array, $req->toArray());
 }