예제 #1
0
 public function testModifyZimletPrefsApi()
 {
     $name = $this->faker->word;
     $zimlet = new ZimletPrefsSpec($name, ZimletStatus::ENABLED());
     $this->api->modifyZimletPrefs([$zimlet]);
     $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:ModifyZimletPrefsRequest>' . '<urn1:zimlet name="' . $name . '" presence="' . ZimletStatus::ENABLED() . '" />' . '</urn1:ModifyZimletPrefsRequest>' . '</env:Body>' . '</env:Envelope>';
     $this->assertXmlStringEqualsXmlString($xml, (string) $req);
 }
예제 #2
0
 public function testZimletPrefsSpec()
 {
     $name = $this->faker->word;
     $zimlet = new ZimletPrefsSpec($name, ZimletStatus::ENABLED());
     $this->assertSame($name, $zimlet->getName());
     $this->assertSame('enabled', $zimlet->getPresence()->value());
     $zimlet->setName($name)->setPresence(ZimletStatus::DISABLED());
     $this->assertSame($name, $zimlet->getName());
     $this->assertSame('disabled', $zimlet->getPresence()->value());
     $xml = '<?xml version="1.0"?>' . "\n" . '<zimlet name="' . $name . '" presence="' . ZimletStatus::DISABLED() . '" />';
     $this->assertXmlStringEqualsXmlString($xml, (string) $zimlet);
     $array = ['zimlet' => ['name' => $name, 'presence' => ZimletStatus::DISABLED()->value()]];
     $this->assertEquals($array, $zimlet->toArray());
 }
예제 #3
0
 public function testModifyZimletApi()
 {
     $cos = $this->faker->word;
     $name = $this->faker->word;
     $value = mt_rand(0, 10);
     $acl = new ZimletAcl($cos, AclType::DENY());
     $status = new ValueAttrib(ZimletStatus::DISABLED()->value());
     $priority = new IntegerValueAttrib($value);
     $zimlet = new ZimletAclStatusPri($name, $acl, $status, $priority);
     $this->api->modifyZimlet($zimlet);
     $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:ModifyZimletRequest>' . '<urn1:zimlet name="' . $name . '">' . '<urn1:acl cos="' . $cos . '" acl="' . AclType::DENY() . '" />' . '<urn1:status value="' . ZimletStatus::DISABLED() . '" />' . '<urn1:priority value="' . $value . '" />' . '</urn1:zimlet>' . '</urn1:ModifyZimletRequest>' . '</env:Body>' . '</env:Envelope>';
     $this->assertXmlStringEqualsXmlString($xml, (string) $req);
 }
예제 #4
0
 public function testZimletAclStatusPri()
 {
     $name = $this->faker->word;
     $cos = $this->faker->word;
     $priority_value = mt_rand(0, 10);
     $acl = new ZimletAcl($cos, AclType::DENY());
     $status = new ValueAttrib(ZimletStatus::ENABLED()->value());
     $priority = new IntegerValueAttrib($priority_value);
     $zimlet = new ZimletAclStatusPri($name, $acl, $status, $priority);
     $this->assertSame($name, $zimlet->getName());
     $this->assertSame($acl, $zimlet->getAcl());
     $this->assertSame($status, $zimlet->getStatus());
     $this->assertSame($priority, $zimlet->getPriority());
     $zimlet->setName($name)->setAcl($acl)->setStatus($status)->setPriority($priority);
     $this->assertSame($name, $zimlet->getName());
     $this->assertSame($acl, $zimlet->getAcl());
     $this->assertSame($status, $zimlet->getStatus());
     $this->assertSame($priority, $zimlet->getPriority());
     $xml = '<?xml version="1.0"?>' . "\n" . '<zimlet name="' . $name . '">' . '<acl cos="' . $cos . '" acl="' . AclType::DENY() . '" />' . '<status value="' . ZimletStatus::ENABLED() . '" />' . '<priority value="' . $priority_value . '" />' . '</zimlet>';
     $this->assertXmlStringEqualsXmlString($xml, (string) $zimlet);
     $array = ['zimlet' => ['name' => $name, 'acl' => ['cos' => $cos, 'acl' => AclType::DENY()->value()], 'status' => ['value' => ZimletStatus::ENABLED()->value()], 'priority' => ['value' => $priority_value]]];
     $this->assertEquals($array, $zimlet->toArray());
 }
예제 #5
0
 public function testZimletStatus()
 {
     $values = array('enabled', 'disabled');
     foreach ($values as $value) {
         $this->assertTrue(\Zimbra\Enum\ZimletStatus::has($value));
     }
 }
예제 #6
0
 public function testModifyZimletPrefs()
 {
     $name = self::randomName();
     $zimlet = new \Zimbra\Account\Struct\ZimletPrefsSpec($name, ZimletStatus::ENABLED());
     $req = new \Zimbra\Account\Request\ModifyZimletPrefs([$zimlet]);
     $this->assertInstanceOf('Zimbra\\Account\\Request\\Base', $req);
     $this->assertSame([$zimlet], $req->getZimlets()->all());
     $req->addZimlet($zimlet);
     $this->assertSame([$zimlet, $zimlet], $req->getZimlets()->all());
     $req->getZimlets()->remove(1);
     $xml = '<?xml version="1.0"?>' . "\n" . '<ModifyZimletPrefsRequest>' . '<zimlet name="' . $name . '" presence="' . ZimletStatus::ENABLED() . '" />' . '</ModifyZimletPrefsRequest>';
     $this->assertXmlStringEqualsXmlString($xml, (string) $req);
     $array = ['ModifyZimletPrefsRequest' => ['_jsns' => 'urn:zimbraAccount', 'zimlet' => [['name' => $name, 'presence' => ZimletStatus::ENABLED()->value()]]]];
     $this->assertEquals($array, $req->toArray());
 }
예제 #7
0
 /**
  * Sets the status
  *
  * @param  ValueAttrib $status
  * @return self
  */
 public function setStatus(ValueAttrib $status)
 {
     if (ZimletStatus::has($status->getValue())) {
         $this->setChild('status', $status);
     }
     return $this;
 }
예제 #8
0
 public function testModifyZimlet()
 {
     $cos = self::randomName();
     $name = self::randomName();
     $value = mt_rand(0, 10);
     $acl = new \Zimbra\Admin\Struct\ZimletAcl($cos, AclType::DENY());
     $status = new \Zimbra\Admin\Struct\ValueAttrib(ZimletStatus::DISABLED()->value());
     $priority = new \Zimbra\Admin\Struct\IntegerValueAttrib($value);
     $zimlet = new \Zimbra\Admin\Struct\ZimletAclStatusPri($name, $acl, $status, $priority);
     $req = new \Zimbra\Admin\Request\ModifyZimlet($zimlet);
     $this->assertInstanceOf('Zimbra\\Admin\\Request\\Base', $req);
     $this->assertSame($zimlet, $req->getZimlet());
     $req->setZimlet($zimlet);
     $this->assertSame($zimlet, $req->getZimlet());
     $xml = '<?xml version="1.0"?>' . "\n" . '<ModifyZimletRequest>' . '<zimlet name="' . $name . '">' . '<acl cos="' . $cos . '" acl="' . AclType::DENY() . '" />' . '<status value="' . ZimletStatus::DISABLED() . '" />' . '<priority value="' . $value . '" />' . '</zimlet>' . '</ModifyZimletRequest>';
     $this->assertXmlStringEqualsXmlString($xml, (string) $req);
     $array = ['ModifyZimletRequest' => ['_jsns' => 'urn:zimbraAdmin', 'zimlet' => ['name' => $name, 'acl' => ['cos' => $cos, 'acl' => AclType::DENY()->value()], 'status' => ['value' => ZimletStatus::DISABLED()->value()], 'priority' => ['value' => $value]]]];
     $this->assertEquals($array, $req->toArray());
 }