#1427 - QueryCache should be cleared, if one of a dependent bean is updated

Initial work, does not include propagation across cluster.
This commit is contained in:
rob bygrave
2018-06-15 17:36:23 +12:00
parent 59537227b6
commit 96cc8d7605
51 changed files with 952 additions and 283 deletions
@@ -0,0 +1,44 @@
package io.ebeaninternal.server.transaction;
import org.junit.Test;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
import static org.junit.Assert.*;
public class TableModStateTest {
private TableModState tableModState = new TableModState();
@Test
public void isValid() {
long now = System.currentTimeMillis();
tableModState.touch(setOf("one", "two", "three"), now);
// empty
assertTrue(tableModState.isValid(Collections.emptySet(), 12L));
// no entry
assertTrue(tableModState.isValid(setOf("noEntry"), 12L));
// later timestamp
assertTrue(tableModState.isValid(setOf("one"), now + 1));
assertTrue(tableModState.isValid(setOf("one", "two", "noEntry"), now + 1));
// invalid
assertFalse(tableModState.isValid(setOf("one"), now - 1));
assertFalse(tableModState.isValid(setOf("one", "two"), now - 1));
assertFalse(tableModState.isValid(setOf("three", "two"), now - 1));
}
private Set<String> setOf(String... tables) {
Set<String> touched = new HashSet<>();
Collections.addAll(touched, tables);
return touched;
}
}