Required to: - register an io handler - add custom semantic configuration below ez_io.xxx_handler.. - customize the custom handler services, and initialize extra services definitions
 public function testMetadataHandler()
 {
     $this->container->setParameter('ez_io.metadata_handlers', array('my_handler' => array('name' => 'my_handler', 'type' => 'test_handler')));
     $this->metadataConfigurationFactoryMock->expects($this->once())->method('getParentServiceId')->will($this->returnValue('test.io.metadata_handler.test_handler'));
     $this->compile();
     $this->assertContainerBuilderHasServiceDefinitionWithParent('test.io.metadata_handler.test_handler.my_handler', 'test.io.metadata_handler.test_handler');
 }
 public function testConfigureHandler()
 {
     $handlerConfiguration = $this->provideHandlerConfiguration($this->container) + array('name' => 'my_test_handler', 'type' => 'test_handler');
     $handlerServiceId = $this->registerHandler($handlerConfiguration['name']);
     $this->factory->configureHandler($this->container->getDefinition($handlerServiceId), $handlerConfiguration);
     $this->validateConfiguredHandler($handlerServiceId);
     if ($this->factory instanceof ContainerAwareInterface) {
         $this->validateConfiguredContainer();
     }
 }