@Test
  @Ignore
  public void testNewSessionWhileModifyingRuleBase() throws InterruptedException {
    PackageModifier modifier = new PackageModifier();
    SessionCreator creator = new SessionCreator();

    creator.start();
    modifier.start();

    // 10 seconds should be more than enough time to see if the modifer and creator
    // get deadlocked
    Thread.sleep(10000);

    boolean deadlockDetected = creator.isBlocked() && modifier.isBlocked();

    if (deadlockDetected) {
      // dump both stacks to show it
      printThreadStatus(creator);
      printThreadStatus(modifier);
    }

    assertEquals(
        "Threads are deadlocked! See previous stacks for more detail", false, deadlockDetected);

    // check to see if either had an exception also
    if (creator.isInError()) {
      creator.getError().printStackTrace();
    }
    assertEquals("Exception in creator thread", false, creator.isInError());

    if (modifier.isInError()) {
      modifier.getError().printStackTrace();
    }
    assertEquals("Exception in modifier thread", false, modifier.isInError());
  }
 @Test
 public void shouldCloseSession() throws Exception {
   creator.abre();
   creator.fecha();
   assertFalse(session.isOpen());
 }
 @Test
 public void shouldOpenSession() throws Exception {
   creator.abre();
   verify(factory).openSession();
 }