package com.marklogic.client.es; import com.marklogic.client.AbstractIntegrationTest; import org.junit.Before; import org.junit.Test; /** * Tests against the default Documents database. Doesn't clear it out before or after. */ public class EntityServicesTest extends AbstractIntegrationTest { private final static String MODEL = "{\n" + " \"info\": {\n" + " \"title\": \"Penny\",\n" + " \"version\": \"0.0.1\",\n" + " \"baseUri\": \"http://marklogic.com/examples/\"\n" + " },\n" + " \"definitions\": {\n" + " \"employee\": {\n" + " \"description\": \"Example of an employee\",\n" + " \"properties\": {\n" + " \"id\": { \"datatype\": \"int\" },\n" + " \"last-name\": { \"datatype\": \"string\" },\n" + " \"first-name\": { \"datatype\": \"string\" },\n" + " \"email\": { \"datatype\": \"string\" },\n" + " \"department\": { \"datatype\": \"string\" },\n" + " \"salary\": { \"datatype\": \"float\" }\n" + " },\n" + " \"required\": [\"id\", \"last-name\", \"first-name\"],\n" + " \"primaryKey\": \"id\",\n" + " \"rangeIndex\": [\"salary\", \"department\"]\n" + " }\n" + " }\n" + "}"; @Before public void setup() { client = newClient("Documents"); } @Test public void generateCode() { EntityServicesManager mgr = new EntityServicesManager(client); String modelUri = mgr.loadModel("penny.json", MODEL); assertEquals("/marklogic.com/entity-services/models/penny.json", modelUri); GeneratedCode code = mgr.generateCode(modelUri, new CodeGenerationRequest()); assertEquals("Penny", code.getTitle()); assertEquals("0.0.1", code.getVersion()); assertNotNull(code.getDatabaseProperties()); assertNotNull(code.getExtractionTemplate()); assertNotNull(code.getInstanceConverter()); assertNotNull(code.getSchema()); assertNotNull(code.getSearchOptions()); } @Test public void generateVersionTranslator() { EntityServicesManager mgr = new EntityServicesManager(client); String modelUri = mgr.loadModel("penny.json", MODEL); String newModel = MODEL.replace("department", "newDepartment"); String newModelUri = mgr.loadModel("penny2.json", MODEL); String output = mgr.generateVersionTranslator(modelUri, newModelUri); assertNotNull("Just making sure this doesn't throw an error", output); } }