public function testAddNodeTypes()
{
$workspace = $this->session->getWorkspace();
$ntm = $workspace->getNodeTypeManager();
$template = $ntm->createNodeTypeTemplate();
$template->setName('phpcr:article');
$propertyDefs = $template->getPropertyDefinitionTemplates();
$propertyTemplate = $ntm->createPropertyDefinitionTemplate();
$propertyTemplate->setName('headline');
$propertyTemplate->setRequiredType(\PHPCR\PropertyType::STRING);
$propertyDefs[] = $propertyTemplate;
$childDefs = $template->getNodeDefinitionTemplates();
$nodeTemplate = $ntm->createNodeDefinitionTemplate();
$nodeTemplate->setName('article_content');
$nodeTemplate->setDefaultPrimaryTypeName('nt:unstructured');
$nodeTemplate->setMandatory(true);
$childDefs[] = $nodeTemplate;
$ntm->registerNodeTypes(array($template), true);
$def = $ntm->getNodeType('phpcr:article');
$this->assertEquals("phpcr:article", $def->getName());
$this->assertEquals(1, count($def->getDeclaredPropertyDefinitions()));
$this->assertEquals(1, count($def->getDeclaredChildNodeDefinitions()));
}