package com.orientechnologies.orient.server.network; import com.orientechnologies.orient.client.remote.OServerAdmin; import com.orientechnologies.orient.core.Orient; import com.orientechnologies.orient.core.command.script.OCommandScript; import com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx; import com.orientechnologies.orient.core.exception.OConfigurationException; import com.orientechnologies.orient.server.OServer; import org.junit.After; import org.junit.Before; import org.junit.Test; import java.io.File; import java.io.IOException; import java.util.Collection; import java.util.List; import static org.junit.Assert.assertTrue; /** * Created by tglman on 26/04/16. */ public class BinaryProtocolAnyResultTest { private static final String SERVER_DIRECTORY = "./target/db"; private OServer server; @Before public void before() throws Exception { server = new OServer(); server.setServerRootDirectory(SERVER_DIRECTORY); server.startup(getClass().getResourceAsStream("orientdb-server-config.xml")); server.activate(); } @Test public void scriptReturnValueTest() throws IOException { OServerAdmin server = new OServerAdmin("remote:localhost"); server.connect("root","D2AFD02F20640EC8B7A5140F34FCA49D2289DB1F0D0598BB9DE8AAA75A0792F3"); server.createDatabase("test","graph","memory"); ODatabaseDocumentTx db = new ODatabaseDocumentTx("remote:localhost/test"); db.open("admin","admin"); Object res = db.command(new OCommandScript("SQL", " let $one = select from OUser limit 1; return [$one,1]")).execute(); assertTrue(res instanceof List); assertTrue(((List)res).get(0) instanceof Collection); assertTrue(((List)res).get(1) instanceof Integer); db.close(); } @After public void after() { server.shutdown(); Orient.instance().startup(); } }