package com.orientechnologies.orient.etl.transformer; import com.orientechnologies.orient.etl.OETLBaseTest; import org.junit.Test; import static org.assertj.core.api.Assertions.*; /** * Created by frank on 21/09/2016. */ public class OCommandTransformerTest extends OETLBaseTest { @Test public void shouldAllowSingleQuoteInsideFieldValue() { //Data contains a field with single quote: Miner O'Greedy // so the query must be enclosed inside double quote " process("{\n" + " 'config': {\n" + " 'log': 'INFO'\n" + " },\n" + " 'source': {\n" + " 'content': {\n" + " 'value': \"name,surname\n Jay, Miner O'Greedy \n Jay, Miner O'Greedy \"\n" + " }\n" + " },\n" + " 'transformers': [\n" + " {\n" + " 'command': {\n" + " 'log': 'INFO',\n" + " 'output': 'previous',\n" + " 'language': 'sql',\n" + " 'command': \"SELECT name FROM Person WHERE surname= \"={eval('$input.surname')}\"\"\n" + " }\n" + " },\n" + " {vertex: {class:'Person', skipDuplicates:false}} " + "]," + " 'extractor': {\n" + " 'csv': {}\n" + " },\n" + " 'loader': {\n" + " 'orientdb': {\n" // + " 'log': 'DEBUG',\n" + " 'dbURL': 'memory:OETLBaseTest',\n" + " 'dbType': 'graph',\n" + " 'useLightweightEdges': false ,\n" + " \"classes\": [\n" + " {\"name\":\"Person\", \"extends\": \"V\" }" + " ]" + " }\n" + " }\n" + "}"); assertThat(graph.countVertices("Person")).isEqualTo(2); } }