コード例 #1
0
 public function testSearch()
 {
     /**
      * @type Domains
      */
     $domainObj = $this->container->get('syseleven.pdns.workflow.domains')->getRepository()->findOneBy(array());
     $query = new RecordsQuery();
     $query->setId(1);
     $query->setType(array('PTR', 'A', 'AAAA'));
     $query->setName('1.1.1.1');
     $query->setNameExact('www.example.com');
     $query->setContent('1.1.1.1');
     $query->setDomainId(1);
     $query->setDomain($domainObj);
     $query->setManaged(1);
     $query->setSearch('search');
     $qb = $this->workflow->search($query->toArray());
     $parameters = $qb->getParameters();
     $p = array();
     foreach ($parameters as $parameter) {
         /**
          * @type \Doctrine\ORM\Query\Parameter $parameter
          */
         $p[$parameter->getName()] = $parameter->getValue();
     }
     $this->assertArrayHasKey('id', $p);
     $this->assertArrayHasKey('type', $p);
     $this->assertArrayHasKey('name', $p);
     $this->assertArrayHasKey('name_exact', $p);
     $this->assertArrayHasKey('content', $p);
     $this->assertArrayHasKey('managed', $p);
     $this->assertArrayHasKey('search', $p);
     $this->assertArrayHasKey('domain_id', $p);
     try {
         $qb->getQuery()->getResult();
     } catch (\Exception $e) {
         $this->fail('SQL did not validate: ' . $e->getMessage());
     }
 }