package com.orientechnologies.orient.test.database.auto; import com.orientechnologies.orient.client.db.ODatabaseHelper; import com.orientechnologies.orient.client.remote.OServerAdmin; import com.orientechnologies.orient.core.db.ODatabase.OPERATION_MODE; import com.orientechnologies.orient.core.id.ORecordId; import com.orientechnologies.orient.core.metadata.schema.OClass; import com.orientechnologies.orient.core.record.impl.ODocument; import com.orientechnologies.orient.core.storage.OPhysicalPosition; import com.orientechnologies.orient.core.storage.OStorage; import com.orientechnologies.orient.core.storage.OStorageOperationResult; import org.testng.Assert; import org.testng.annotations.Optional; import org.testng.annotations.Parameters; import org.testng.annotations.Test; import java.util.Arrays; import java.util.Map; import static org.testng.AssertJUnit.assertTrue; /** * @author Artem Orobets (enisher-at-gmail.com) */ @Test(groups = "db") public class RemoteProtocolCommandsTest extends DocumentDBBaseTest { private static final String serverPort = System.getProperty("orient.server.port", "2424"); @Parameters(value = "url") public RemoteProtocolCommandsTest(@Optional String url) { super(url); } @Test(enabled = false) public void testConnect() throws Exception { final OServerAdmin admin = new OServerAdmin("remote:localhost:" + serverPort).connect("root", ODatabaseHelper.getServerRootPassword()); admin.close(); } @Test public void testListDatabasesMemoryDB() throws Exception { final OServerAdmin admin = new OServerAdmin("remote:localhost").connect("root", ODatabaseHelper.getServerRootPassword()); try { final String plocalDatabaseName = "plocalTestListDatabasesMemoryDB" + Math.random(); admin.createDatabase(plocalDatabaseName, "graph", "plocal"); final String memoryDatabaseName = "memoryTestListDatabasesMemoryDB" + Math.random(); admin.createDatabase(memoryDatabaseName, "graph", "memory"); final Map<String, String> list = admin.listDatabases(); Assert.assertTrue(list.containsKey(plocalDatabaseName), "Check plocal db is in list"); Assert.assertTrue(list.containsKey(memoryDatabaseName), "Check memory db is in list"); } finally { admin.close(); } } @Test public void testRawCreateWithoutIDTest() { OClass clazz = this.database.getMetadata().getSchema().createClass("RidCreationTestClass"); OStorage storage = this.database.getStorage(); ODocument doc = new ODocument("RidCreationTestClass"); doc.field("test", "test"); ORecordId bad = new ORecordId(-1, -1); OStorageOperationResult<OPhysicalPosition> res = storage.createRecord(bad, doc.toStream(), doc.getVersion(), ODocument.RECORD_TYPE, OPERATION_MODE.SYNCHRONOUS.ordinal(), null); // assertTrue(" the cluster is not valid", bad.clusterId >= 0); String ids = ""; for (int aId : clazz.getClusterIds()) ids += aId; assertTrue(" returned id:" + bad.getClusterId() + " shoud be one of:" + ids, Arrays.binarySearch(clazz.getClusterIds(), bad.getClusterId()) >= 0); } }