use of org.apache.cayenne.testdo.relationships_delete_rules.DeleteRuleFlatA in project cayenne by apache.
the class DeleteRulesIT method testCascadeFlattened.
@Test
public void testCascadeFlattened() {
// temporarily set delete rule to CASCADE...
int oldRule = changeDeleteRule(DeleteRule.CASCADE);
try {
DeleteRuleFlatA a = context.newObject(DeleteRuleFlatA.class);
DeleteRuleFlatB b = context.newObject(DeleteRuleFlatB.class);
a.addToFlatB(b);
context.commitChanges();
// must go on without exceptions...
context.deleteObjects(a);
// assert that join is deleted
assertJoinDeleted(a, b);
context.commitChanges();
assertEquals(PersistenceState.TRANSIENT, a.getPersistenceState());
assertEquals(PersistenceState.TRANSIENT, b.getPersistenceState());
} finally {
changeDeleteRule(oldRule);
}
}
use of org.apache.cayenne.testdo.relationships_delete_rules.DeleteRuleFlatA in project cayenne by apache.
the class DeleteRulesIT method testNullifyFlattenedNoReverse.
@Test
public void testNullifyFlattenedNoReverse() {
// temporarily set delete rule to NULLIFY...
int oldRule = changeDeleteRule(DeleteRule.NULLIFY);
ObjRelationship reverse = unsetReverse();
try {
DeleteRuleFlatA a = context.newObject(DeleteRuleFlatA.class);
DeleteRuleFlatB b = context.newObject(DeleteRuleFlatB.class);
a.addToFlatB(b);
context.commitChanges();
// must go on without exceptions...
context.deleteObjects(a);
// assert that join is deleted
assertJoinDeleted(a, b);
assertEquals(PersistenceState.DELETED, a.getPersistenceState());
assertEquals(PersistenceState.COMMITTED, b.getPersistenceState());
context.commitChanges();
} finally {
changeDeleteRule(oldRule);
restoreReverse(reverse);
}
}
use of org.apache.cayenne.testdo.relationships_delete_rules.DeleteRuleFlatA in project cayenne by apache.
the class DeleteRulesIT method testDenyFlattenedNoReverse.
@Test
public void testDenyFlattenedNoReverse() {
// temporarily set delete rule to DENY...
int oldRule = changeDeleteRule(DeleteRule.DENY);
ObjRelationship reverse = unsetReverse();
try {
DeleteRuleFlatA a = context.newObject(DeleteRuleFlatA.class);
DeleteRuleFlatB b = context.newObject(DeleteRuleFlatB.class);
a.addToFlatB(b);
context.commitChanges();
try {
context.deleteObjects(a);
fail("Must have thrown a deny exception..");
} catch (DeleteDenyException ex) {
// expected... but check further
assertJoinNotDeleted(a, b);
}
} finally {
changeDeleteRule(oldRule);
restoreReverse(reverse);
}
}
use of org.apache.cayenne.testdo.relationships_delete_rules.DeleteRuleFlatA in project cayenne by apache.
the class DeleteRulesIT method testNullifyFlattened.
@Test
public void testNullifyFlattened() {
// temporarily set delete rule to NULLIFY...
int oldRule = changeDeleteRule(DeleteRule.NULLIFY);
try {
DeleteRuleFlatA a = context.newObject(DeleteRuleFlatA.class);
DeleteRuleFlatB b = context.newObject(DeleteRuleFlatB.class);
a.addToFlatB(b);
context.commitChanges();
// must go on without exceptions...
context.deleteObjects(a);
// assert that join is deleted
assertJoinDeleted(a, b);
assertEquals(PersistenceState.DELETED, a.getPersistenceState());
assertEquals(PersistenceState.MODIFIED, b.getPersistenceState());
assertFalse(b.getUntitledRel().contains(a));
context.commitChanges();
} finally {
changeDeleteRule(oldRule);
}
}
use of org.apache.cayenne.testdo.relationships_delete_rules.DeleteRuleFlatA in project cayenne by apache.
the class DeleteRulesIT method testNoActionFlattenedNoReverse.
@Test
public void testNoActionFlattenedNoReverse() {
// temporarily set delete rule to NOACTION...
int oldRule = changeDeleteRule(DeleteRule.NO_ACTION);
ObjRelationship reverse = unsetReverse();
try {
DeleteRuleFlatA a = context.newObject(DeleteRuleFlatA.class);
DeleteRuleFlatB b = context.newObject(DeleteRuleFlatB.class);
a.addToFlatB(b);
context.commitChanges();
// must go on without exceptions...
context.deleteObjects(a);
// assert that join is deleted
assertJoinDeleted(a, b);
assertEquals(PersistenceState.DELETED, a.getPersistenceState());
assertEquals(PersistenceState.COMMITTED, b.getPersistenceState());
context.commitChanges();
} finally {
changeDeleteRule(oldRule);
restoreReverse(reverse);
}
}
Aggregations