Skip to content

Commit

Permalink
added tests on already existend duplicate in case of batch, issue #4045
Browse files Browse the repository at this point in the history
  • Loading branch information
tglman committed May 6, 2015
1 parent b461ee7 commit a3b9549
Showing 1 changed file with 60 additions and 3 deletions.
Expand Up @@ -50,14 +50,39 @@ public void testDuplicateRollback() {
} }


List<ODocument> res = db.query(new OSQLSynchQuery("select from Test")); List<ODocument> res = db.query(new OSQLSynchQuery("select from Test"));
Assert.assertEquals(res.size(), 0); Assert.assertEquals(0, res.size());
} finally { } finally {
db.drop(); db.drop();
} }
} }


@Test @Test
public void testDuplicateEggeRollback() { public void testDuplicateAlreadyExistingRollback() {
ODatabaseDocument db = new ODatabaseDocumentTx("memory:" + TestGraphTransactionOnBatch.class.getSimpleName());
try {
db.create();
db.getMetadata().getSchema().createClass("E");
OClass V = db.getMetadata().getSchema().createClass("V");
OClass clazz = db.getMetadata().getSchema().createClass("Test");
clazz.setSuperClass(V);
clazz.createProperty("id", OType.STRING).createIndex(INDEX_TYPE.UNIQUE);
db.command(new OCommandSQL("create vertex Test SET id = \"12345678\"")).execute();
try {
db.command(new OCommandScript("sql", "BEGIN \n LET a = create vertex Test SET id = \"12345678\" \n RETURN $a \n COMMIT"))
.execute();
Assert.fail("expected record duplicate exception");
} catch (ORecordDuplicatedException ex) {

}
List<ODocument> res = db.query(new OSQLSynchQuery("select from Test"));
Assert.assertEquals(1, res.size());
} finally {
db.drop();
}
}

@Test
public void testDuplicateEdgeRollback() {
ODatabaseDocument db = new ODatabaseDocumentTx("memory:" + TestGraphTransactionOnBatch.class.getSimpleName()); ODatabaseDocument db = new ODatabaseDocumentTx("memory:" + TestGraphTransactionOnBatch.class.getSimpleName());
try { try {
db.create(); db.create();
Expand All @@ -77,7 +102,39 @@ public void testDuplicateEggeRollback() {


} }
List<ODocument> res = db.query(new OSQLSynchQuery("select from Test")); List<ODocument> res = db.query(new OSQLSynchQuery("select from Test"));
Assert.assertEquals(res.size(), 0); Assert.assertEquals(0, res.size());
} finally {
db.drop();
}
}

@Test
public void testDuplicateEdgeAlreadyPresentRollback() {
ODatabaseDocument db = new ODatabaseDocumentTx("memory:" + TestGraphTransactionOnBatch.class.getSimpleName());
try {
db.create();
OClass E = db.getMetadata().getSchema().createClass("E");
db.getMetadata().getSchema().createClass("V");
OClass clazz = db.getMetadata().getSchema().createClass("Test");
clazz.setSuperClass(E);
clazz.createProperty("aKey", OType.STRING).createIndex(INDEX_TYPE.UNIQUE);
db.command(
new OCommandScript(
"sql",
"BEGIN \n LET a = create vertex V \n LET b = create vertex V \n LET c =create edge Test from $a to $b SET aKey = \"12345\" \n RETURN $c \n commit \n"))
.execute();
try {
db.command(
new OCommandScript(
"sql",
"BEGIN \n LET a = create vertex V \n LET b = create vertex V \n LET c =create edge Test from $a to $b SET aKey = \"12345\"\n RETURN $c \n COMMIT"))
.execute();
Assert.fail("expected record duplicate exception");
} catch (ORecordDuplicatedException ex) {

}
List<ODocument> res = db.query(new OSQLSynchQuery("select from Test"));
Assert.assertEquals(1, res.size());
} finally { } finally {
db.drop(); db.drop();
} }
Expand Down

0 comments on commit a3b9549

Please sign in to comment.