Ejemplo n.º 1
0
 /**
  * Perform the status check for the capability. Each time this method
  * is called the status will be re-checked.
  * @return boolean The enabled status of the package and capability set.
  */
 public function isEnabled()
 {
     $req = new IsEnabledRequest();
     $resp = new IsEnabledResponse();
     $req->setPackage($this->packageName);
     foreach ($this->capabilities as $capability) {
         $req->addCapability($capability);
     }
     ApiProxy::makeSyncCall('capability_service', 'IsEnabled', $req, $resp);
     $status = $resp->getSummaryStatus();
     if ($status === SummaryStatus::UNKNOWN) {
         throw new UnknownCapabilityError();
     }
     return $status === SummaryStatus::ENABLED || $status === SummaryStatus::SCHEDULED_FUTURE || $status === SummaryStatus::SCHEDULED_NOW;
 }
Ejemplo n.º 2
0
 public function testUnknownCapability()
 {
     $req = new IsEnabledRequest();
     $req->setPackage('datastore');
     $req->addCapability('*');
     $req->addCapability('write');
     $resp = new IsEnabledResponse();
     $resp->setSummaryStatus(SummaryStatus::UNKNOWN);
     $config = $resp->addConfig();
     $config->setPackage('datastore');
     $config->setCapability('*');
     $config->setStatus(Status::ENABLED);
     $this->apiProxyMock->expectCall('capability_service', 'IsEnabled', $req, $resp);
     $this->setExpectedException('google\\appengine\\api\\capabilities\\UnknownCapabilityError');
     $capability = new Capability('datastore', array('write'));
     $capability->isEnabled();
     $this->apiProxyMock->verify();
 }