public function testSearchDirectoryRequest() { $query = $this->faker->word; $domain = $this->faker->word; $sortBy = $this->faker->word; $attrs = $this->faker->word; $maxResults = mt_rand(0, 100); $limit = mt_rand(0, 100); $offset = mt_rand(0, 100); $req = new SearchDirectory($query, $maxResults, $limit, $offset, $domain, false, true, [DirSearchType::RESOURCES()], $sortBy, true, false, [$attrs]); $this->assertInstanceOf('Zimbra\\Admin\\Request\\Base', $req); $this->assertEquals($query, $req->getQuery()); $this->assertEquals($maxResults, $req->getMaxResults()); $this->assertEquals($limit, $req->getLimit()); $this->assertEquals($offset, $req->getOffset()); $this->assertEquals($domain, $req->getDomain()); $this->assertFalse($req->getApplyCos()); $this->assertTrue($req->getApplyConfig()); $this->assertEquals('resources', $req->getTypes()); $this->assertEquals($sortBy, $req->getSortBy()); $this->assertTrue($req->getSortAscending()); $this->assertFalse($req->getCountOnly()); $req->setQuery($query)->setMaxResults($maxResults)->setLimit($limit)->setOffset($offset)->setDomain($domain)->setApplyCos(true)->setApplyConfig(false)->addType(DirSearchType::ACCOUNTS())->setSortBy($sortBy)->setSortAscending(false)->setCountOnly(true); $this->assertEquals($query, $req->getQuery()); $this->assertEquals($maxResults, $req->getMaxResults()); $this->assertEquals($limit, $req->getLimit()); $this->assertEquals($offset, $req->getOffset()); $this->assertEquals($domain, $req->getDomain()); $this->assertTrue($req->getApplyCos()); $this->assertFalse($req->getApplyConfig()); $this->assertEquals('resources,accounts', $req->getTypes()); $this->assertEquals($sortBy, $req->getSortBy()); $this->assertFalse($req->getSortAscending()); $this->assertTrue($req->getCountOnly()); $xml = '<?xml version="1.0"?>' . "\n" . '<SearchDirectoryRequest ' . 'query="' . $query . '" ' . 'maxResults="' . $maxResults . '" ' . 'limit="' . $limit . '" ' . 'offset="' . $offset . '" ' . 'domain="' . $domain . '" ' . 'applyCos="true" ' . 'applyConfig="false" ' . 'types="resources,accounts" ' . 'sortBy="' . $sortBy . '" ' . 'sortAscending="false" ' . 'countOnly="true" ' . 'attrs="' . $attrs . '" ' . '/>'; $this->assertXmlStringEqualsXmlString($xml, (string) $req); $array = ['SearchDirectoryRequest' => ['_jsns' => 'urn:zimbraAdmin', 'query' => $query, 'maxResults' => $maxResults, 'limit' => $limit, 'offset' => $offset, 'domain' => $domain, 'applyCos' => true, 'applyConfig' => false, 'types' => 'resources,accounts', 'sortBy' => $sortBy, 'sortAscending' => false, 'countOnly' => true, 'attrs' => $attrs]]; $this->assertEquals($array, $req->toArray()); }