### Question:
BaseKettleMetaverseComponent implements IRequiresMetaverseBuilder, Serializable { protected IMetaverseNode createNodeFromDescriptor( IComponentDescriptor descriptor ) { return createNodeFromDescriptor( descriptor, getLogicalIdGenerator() ); }  @Override void setMetaverseBuilder( IMetaverseBuilder metaverseBuilder ); IMetaverseObjectFactory getMetaverseObjectFactory(); IMetaverseBuilder getMetaverseBuilder();  }### Answer:
@Test public void testCreateNodeFromDescriptor() throws Exception { String namespaceId = "{namespace: 'my namespace', name: 'my name', type: 'my type'}"; ILogicalIdGenerator idGenerator = DictionaryConst.LOGICAL_ID_GENERATOR_DEFAULT; IComponentDescriptor descriptor = mock( IComponentDescriptor.class ); INamespace ns = mock( INamespace.class ); when( descriptor.getParentNamespace() ).thenReturn( mock( INamespace.class ) ); when( descriptor.getNamespace() ).thenReturn( ns ); when( ns.getNamespaceId() ).thenReturn( namespaceId ); component.metaverseObjectFactory = spy( new MetaverseObjectFactory() ); IMetaverseNode node = component.createNodeFromDescriptor( descriptor, idGenerator ); assertNotNull( node ); assertTrue( node.getLogicalId().contains( namespaceId ) ); }