public function testRemoveBindingKeepsStoredBindings()
 {
     $discovery = $this->createDiscovery();
     $discovery->addBindingType(new BindingType(Foo::clazz));
     $discovery->addBinding($binding1 = new ResourceBinding('/path1', Foo::clazz));
     $discovery->addBinding($binding2 = new ClassBinding(__CLASS__, Foo::clazz));
     $discovery = $this->loadDiscoveryFromStorage($discovery);
     $discovery->removeBinding($binding1->getUuid());
     $this->assertEquals(array($binding2), $discovery->getBindings());
     $this->assertFalse($discovery->hasBinding($binding1->getUuid()));
     $this->assertTrue($discovery->hasBinding($binding2->getUuid()));
 }
 private function bindingToMapping(ResourceBinding $binding)
 {
     return new AssetMapping(substr($binding->getQuery(), 0, -8), $binding->getParameterValue(DiscoveryUrlGenerator::SERVER_PARAMETER), $binding->getParameterValue(DiscoveryUrlGenerator::PATH_PARAMETER), $binding->getUuid());
 }
예제 #3
0
 /**
  * @param Args            $args
  * @param ResourceBinding $bindingToUpdate
  *
  * @return ResourceBinding
  */
 private function getUpdatedResourceBinding(Args $args, ResourceBinding $bindingToUpdate)
 {
     $query = $bindingToUpdate->getQuery();
     $typeName = $bindingToUpdate->getTypeName();
     $language = $bindingToUpdate->getLanguage();
     $bindingParams = $bindingToUpdate->getParameterValues();
     if ($args->isOptionSet('query')) {
         $query = $args->getOption('query');
     }
     if ($args->isOptionSet('type')) {
         $typeName = $args->getOption('type');
     }
     if ($args->isOptionSet('language')) {
         $language = $args->getOption('language');
     }
     $this->parseParams($args, $bindingParams);
     $this->unsetParams($args, $bindingParams);
     return new ResourceBinding(Path::makeAbsolute($query, $this->currentPath), $typeName, $bindingParams, $language, $bindingToUpdate->getUuid());
 }
 public function testRemoveBindingTypesRemovesBindings()
 {
     $discovery = $this->createDiscovery();
     $discovery->addBindingType(new BindingType(Foo::clazz));
     $discovery->addBindingType(new BindingType(Bar::clazz));
     $discovery->addBinding($binding1 = new ResourceBinding('/path1', Foo::clazz));
     $discovery->addBinding($binding2 = new ClassBinding(__CLASS__, Bar::clazz));
     $discovery->removeBindingTypes();
     $discovery = $this->loadDiscoveryFromStorage($discovery);
     $this->assertCount(0, $discovery->getBindings());
     $this->assertFalse($discovery->hasBinding($binding1->getUuid()));
     $this->assertFalse($discovery->hasBinding($binding2->getUuid()));
 }
 public function testHasBinding()
 {
     $type = new BindingType(Foo::clazz);
     $binding = new ResourceBinding('/file1', Foo::clazz);
     $discovery = $this->createLoadedDiscovery(array($type), array($binding));
     $this->assertTrue($discovery->hasBinding($binding->getUuid()));
     $this->assertFalse($discovery->hasBinding(Uuid::uuid4()));
 }