Skip to content

Commit

Permalink
refactor: move tests to new base database API
Browse files Browse the repository at this point in the history
  • Loading branch information
tglman committed Dec 15, 2023
1 parent 527a001 commit 45805a4
Show file tree
Hide file tree
Showing 14 changed files with 360 additions and 432 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,11 @@ public void beforeTest() {
db = context.open(this.databaseName, "admin", "adminpwd");
}

protected void reOpen(String user, String password) {
this.db.close();
this.db = context.open(this.databaseName, user, password);
}

@After
public void afterTest() throws Exception {
db.close();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,38 +2,26 @@

import static org.junit.Assert.assertEquals;

import com.orientechnologies.orient.core.db.document.ODatabaseDocument;
import com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx;
import com.orientechnologies.BaseMemoryDatabase;
import com.orientechnologies.orient.core.hook.ORecordHook;
import com.orientechnologies.orient.core.metadata.security.OSecurityPolicy;
import com.orientechnologies.orient.core.record.ORecord;
import com.orientechnologies.orient.core.record.impl.ODocument;
import com.orientechnologies.orient.core.sql.query.OSQLSynchQuery;
import java.util.List;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

/** Created by tglman on 01/06/16. */
public class HookReadTest {
public class HookReadTest extends BaseMemoryDatabase {

private ODatabaseDocument database;

@Before
public void before() {
database = new ODatabaseDocumentTx("memory:" + HookReadTest.this.getClass().getSimpleName());
database.create();
database.getMetadata().getSchema().createClass("TestClass");
}

@After
public void after() {
database.drop();
public void beforeTests() {
super.beforeTest();
db.getMetadata().getSchema().createClass("TestClass");
}

@Test
public void testSelectChangedInHook() {
database.registerHook(
db.registerHook(
new ORecordHook() {
@Override
public void onUnregister() {}
Expand All @@ -54,9 +42,9 @@ public DISTRIBUTED_EXECUTION_MODE getDistributedExecutionMode() {
}
});

database.save(new ODocument("TestClass"));
db.save(new ODocument("TestClass"));

List<ODocument> res = database.query(new OSQLSynchQuery<Object>("select from TestClass"));
List<ODocument> res = db.query(new OSQLSynchQuery<Object>("select from TestClass"));
assertEquals(res.get(0).field("read"), "test");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,32 +4,27 @@
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

import com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx;
import com.orientechnologies.BaseMemoryDatabase;
import com.orientechnologies.orient.core.id.ORID;
import com.orientechnologies.orient.core.id.ORecordId;
import com.orientechnologies.orient.core.metadata.schema.OClass;
import com.orientechnologies.orient.core.metadata.schema.OType;
import com.orientechnologies.orient.core.record.impl.ODocument;
import java.util.Iterator;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;

public class ORecordLazySetTest {
public class ORecordLazySetTest extends BaseMemoryDatabase {

private ODatabaseDocumentTx db;
private ODocument doc1;
private ODocument doc2;
private ODocument doc3;
private ORID rid1;
private ORID rid2;
private ORID rid3;

@Before
public void before() {
db = new ODatabaseDocumentTx("memory:" + ORecordLazySet.class.getSimpleName());
db.create();
public void beforeTest() {
super.beforeTest();
doc1 =
db.save(
new ODocument().field("doc1", "doc1"), db.getClusterNameById(db.getDefaultClusterId()));
Expand All @@ -44,12 +39,6 @@ public void before() {
rid3 = doc3.getIdentity();
}

@After
public void after() {
db.activateOnCurrentThread();
db.drop();
}

@Test
public void testConvertToRecord() {
ORecordLazySet set = new ORecordLazySet(new ODocument());
Expand Down Expand Up @@ -142,22 +131,15 @@ public void testSetRemoveNotPersistent() {

@Test
public void testSetWithNotExistentRecordWithValidation() {
ODatabaseDocumentTx db =
new ODatabaseDocumentTx("memory:testSetWithNotExistentRecordWithValidation");
db.create();
OClass test = db.getMetadata().getSchema().createClass("test");
OClass test1 = db.getMetadata().getSchema().createClass("test1");
test.createProperty("fi", OType.LINKSET).setLinkedClass(test1);
try {
ODocument doc = new ODocument(test);
ORecordLazySet set = new ORecordLazySet(doc);
set.add(new ORecordId(5, 1000));
doc.field("fi", set);
db.begin();
db.save(doc);
db.commit();
} finally {
db.drop();
}
ODocument doc = new ODocument(test);
ORecordLazySet set = new ORecordLazySet(doc);
set.add(new ORecordId(5, 1000));
doc.field("fi", set);
db.begin();
db.save(doc);
db.commit();
}
}
Original file line number Diff line number Diff line change
@@ -1,25 +1,15 @@
package com.orientechnologies.orient.core.db.record;

import com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx;
import com.orientechnologies.BaseMemoryDatabase;
import com.orientechnologies.orient.core.record.impl.ODocument;
import com.orientechnologies.orient.core.sql.OCommandSQL;
import com.orientechnologies.orient.core.sql.query.OSQLSynchQuery;
import java.util.List;
import java.util.Map;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

public class TestLinkedDocumentInMap {

private ODatabaseDocumentTx db;

@Before
public void create() {
db = new ODatabaseDocumentTx("memory:" + TestLinkedDocumentInMap.class.getSimpleName());
db.create();
}
public class TestLinkedDocumentInMap extends BaseMemoryDatabase {

@Test
public void testLinkedValue() {
Expand All @@ -39,17 +29,12 @@ public void testLinkedValue() {
Map<String, OIdentifiable> doc = res.get(0);
Assert.assertTrue(doc.get("contact").getIdentity().isValid());

db.close();
db.open("admin", "admin");
reOpen("admin", "adminpwd");

List<ODocument> result =
db.query(new OSQLSynchQuery<ODocument>("select from " + tyrionDoc.getIdentity()));
res = result.get(0).field("emergency_contact");
doc = res.get(0);
Assert.assertTrue(doc.get("contact").getIdentity().isValid());
}

@After
public void after() {
db.drop();
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package com.orientechnologies.orient.core.index;

import com.orientechnologies.orient.core.db.document.ODatabaseDocument;
import com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx;
import com.orientechnologies.BaseMemoryDatabase;
import com.orientechnologies.orient.core.id.ORID;
import com.orientechnologies.orient.core.metadata.schema.OClass;
import com.orientechnologies.orient.core.metadata.schema.OSchema;
Expand All @@ -10,21 +9,11 @@
import com.orientechnologies.orient.core.sql.query.OSQLSynchQuery;
import com.orientechnologies.orient.core.storage.ORecordDuplicatedException;
import java.util.List;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

/** Created by tglman on 01/02/16. */
public class UniqueIndexTest {

private ODatabaseDocument db;

@Before
public void before() {
db = new ODatabaseDocumentTx("memory:" + UniqueIndexTest.class.getSimpleName());
db.create();
}
public class UniqueIndexTest extends BaseMemoryDatabase {

@Test()
public void testUniqueOnUpdate() {
Expand Down Expand Up @@ -63,19 +52,17 @@ public void testUniqueOnUpdateNegativeVersion() {
jane.save();

final ORID rid = jane.getIdentity();
db.close();

db.open("admin", "admin");
reOpen("admin", "adminpwd");

ODocument joneJane = db.load(rid);

joneJane.field("MailAddress", "[email protected]");
joneJane.field("@version", -1);

joneJane.save();
db.close();

db.open("admin", "admin");
reOpen("admin", "adminpwd");

try {
ODocument toUp = new ODocument("User");
Expand All @@ -91,9 +78,4 @@ public void testUniqueOnUpdateNegativeVersion() {
new OSQLSynchQuery<ODocument>("select from User where MailAddress = '[email protected]'"));
Assert.assertEquals(result.size(), 1);
}

@After
public void after() {
db.drop();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@
import static org.junit.Assert.assertNotNull;

import com.orientechnologies.orient.core.db.ODatabase;
import com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx;
import com.orientechnologies.orient.core.db.OrientDB;
import com.orientechnologies.orient.core.db.OrientDBConfig;
import com.orientechnologies.orient.core.db.document.ODatabaseDocument;
import com.orientechnologies.orient.core.metadata.schema.OType;
import com.orientechnologies.orient.core.serialization.serializer.record.ORecordSerializer;
import com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinary;
Expand Down Expand Up @@ -75,25 +77,24 @@ public void testDateSerializationWithDST() throws ParseException {

@Test
public void testDateFormantWithMethod() throws ParseException {
ODatabaseDocumentTx db = new ODatabaseDocumentTx("memory:format");
db.create();
try {
try (OrientDB ctx = new OrientDB("embedded:", OrientDBConfig.defaultConfig())) {
ctx.execute("create database test memory users(admin identified by 'adminpwd' role admin)");
try (ODatabaseDocument db = ctx.open("test", "admin", "adminpwd")) {

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
format.setTimeZone(TimeZone.getTimeZone("GMT"));
Date date = format.parse("2016-08-31 23:30:00");
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
format.setTimeZone(TimeZone.getTimeZone("GMT"));
Date date = format.parse("2016-08-31 23:30:00");

db.setInternal(ODatabase.ATTRIBUTES.TIMEZONE, "GMT");
db.set(ODatabase.ATTRIBUTES.TIMEZONE, "GMT");

ODocument doc = new ODocument();
ODocument doc = new ODocument();

doc.field("dateTime", date);
String formatted = doc.field("dateTime.format('yyyy-MM-dd')");
doc.field("dateTime", date);
String formatted = doc.field("dateTime.format('yyyy-MM-dd')");

Assert.assertEquals("2016-08-31", formatted);

} finally {
db.drop();
Assert.assertEquals("2016-08-31", formatted);
}
ctx.drop("test");
}
}
}
Loading

0 comments on commit 45805a4

Please sign in to comment.