package org.ovirt.engine.core.dal.dbbroker.auditloghandling;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.util.Calendar;
import java.util.Date;
import org.junit.Test;
public class TimeoutBaseTest {
@Test
public void timeoutDefault() {
final TestTimeoutBase t = new TestTimeoutBase();
assertFalse(t.getUseTimout());
}
@Test
public void timeoutTrue() {
final TestTimeoutBase t = new TestTimeoutBase();
t.setUseTimout(true);
assertTrue(t.getUseTimout());
}
@Test
public void timeoutFalse() {
final TestTimeoutBase t = new TestTimeoutBase();
t.setUseTimout(false);
assertFalse(t.getUseTimout());
}
@Test
public void defaultEndtime() {
final long epochOffset = 0;
final TestTimeoutBase t = new TestTimeoutBase();
assertEquals(epochOffset, t.getEndTime().getTime());
}
@Test
public void endTime() {
final TestTimeoutBase t = new TestTimeoutBase();
final Date d = Calendar.getInstance().getTime();
t.setEndTime(d);
assertEquals(d, t.getEndTime());
}
@Test
public void timeoutObjectNull() {
final TestTimeoutBase t = new TestTimeoutBase();
final String s = null;
t.setTimeoutObjectId(s);
assertEquals(t.getTimeoutObjectId(), s);
}
@Test
public void timeoutObject() {
final TestTimeoutBase t = new TestTimeoutBase();
final String s = "testtimeout";
t.setTimeoutObjectId(s);
assertEquals(t.getTimeoutObjectId(), s);
}
@Test
public void legalWithoutTimeoutSet() {
final TestTimeoutBase t = new TestTimeoutBase();
final boolean result = t.getLegal();
assertTrue(result);
}
@Test
public void legalFirstTime() {
final TestTimeoutBase t = new TestTimeoutBase();
t.setUseTimout(true);
final boolean result = t.getLegal();
assertTrue(result);
}
@Test
public void legalNullObjectId() {
final TestTimeoutBase t = new TestTimeoutBase();
t.setUseTimout(true);
t.setTimeoutObjectId(null);
final boolean result = t.getLegal();
assertTrue(result);
}
@Test
public void legalTimedOut() {
final TestTimeoutBase t = new TestTimeoutBase();
t.setUseTimout(true);
long c = System.currentTimeMillis();
c -= 1;
final Date d = new Date(c);
t.setEndTime(d);
final String s = "timeout";
t.setTimeoutObjectId(s);
// get it into the hashtable
t.getLegal();
final boolean result = t.getLegal();
assertTrue(result);
}
@Test
public void legalNotTimedOut() {
final TestTimeoutBase t = new TestTimeoutBase();
t.setUseTimout(true);
final String s = "timeout";
t.setTimeoutObjectId(s);
long c = System.currentTimeMillis();
c += 5000;
final Date d = new Date(c);
t.setEndTime(d);
// get it into the hashtable
t.getLegal();
final boolean result = t.getLegal();
assertFalse(result);
}
public class TestTimeoutBase extends TimeoutBase {
@Override
protected String getKey() {
return "testkey";
}
}
}