package org.easysoa.registry;
import org.easysoa.registry.test.AbstractRegistryTest;
import org.easysoa.registry.types.Deliverable;
import org.easysoa.registry.types.ids.SoaNodeId;
import org.easysoa.registry.types.java.JavaServiceConsumption;
import org.easysoa.registry.types.java.JavaServiceImplementation;
import org.easysoa.registry.types.java.MavenDeliverable;
import org.junit.Assert;
import org.junit.Test;
import org.nuxeo.ecm.core.api.ClientException;
import org.nuxeo.ecm.core.api.DocumentModel;
import org.nuxeo.ecm.core.schema.SchemaManager;
import org.nuxeo.runtime.test.runner.Deploy;
import com.google.inject.Inject;
/**
*
* @author mkalam-alami
*
*/
@Deploy("org.easysoa.registry.doctypes.java.core")
public class JavaDoctypesAdaptersTest extends AbstractRegistryTest {
@Inject
DocumentService documentService;
@Inject
SchemaManager schemaManager;
@Test
public void testDoctypes() throws ClientException {
Assert.assertNotNull(schemaManager.getDocumentType(JavaServiceImplementation.DOCTYPE));
Assert.assertNotNull(schemaManager.getDocumentType(JavaServiceConsumption.DOCTYPE));
}
@Test
public void testMavenAdapter() throws ClientException {
// Create Maven deliverable
DocumentModel deliverableModel = documentService.create(documentManager,
new SoaNodeId(MavenDeliverable.DOCTYPE, "org.easysoa.registry:myartifact"));
Assert.assertNotNull("Document service must successfully create the deliverable", deliverableModel);
deliverableModel.setPropertyValue(Deliverable.XPATH_NATURE, MavenDeliverable.NATURE);
documentManager.saveDocument(deliverableModel);
documentManager.save();
// Use the adapter
MavenDeliverable mavenDeliverable = deliverableModel.getAdapter(MavenDeliverable.class);
Assert.assertNotNull("Maven deliverable adapter must be available", mavenDeliverable);
Assert.assertEquals("org.easysoa.registry", mavenDeliverable.getGroupId());
Assert.assertEquals("myartifact", mavenDeliverable.getArtifactId());
}
}