NIFI-3935 made the old persistent prov test more forgiving of timing issues and extended lucene test timeouts for slower environments. These should be integration tests really.

Signed-off-by: Matt Burgess <mattyb149@apache.org>

This closes #1823
This commit is contained in:
joewitt 2017-05-18 11:43:46 -04:00 committed by Matt Burgess
parent be67f3552b
commit 762293c01c
2 changed files with 50 additions and 53 deletions

View File

@ -393,8 +393,9 @@ public class TestPersistentProvenanceRepository {
repo.initialize(getEventReporter(), null, null, IdentifierLookup.EMPTY); repo.initialize(getEventReporter(), null, null, IdentifierLookup.EMPTY);
final List<ProvenanceEventRecord> recoveredRecords = repo.getEvents(0L, 12); final List<ProvenanceEventRecord> recoveredRecords = repo.getEvents(0L, 12);
assertEquals(10, recoveredRecords.size()); //just test however many were actually recovered since it is timing sensitive
for (int i = 0; i < 10; i++) { final int numRecovered = recoveredRecords.size();
for (int i = 0; i < numRecovered; i++) {
final ProvenanceEventRecord recovered = recoveredRecords.get(i); final ProvenanceEventRecord recovered = recoveredRecords.get(i);
assertEquals(i, recovered.getEventId()); assertEquals(i, recovered.getEventId());
assertEquals("nifi://unit-test", recovered.getTransitUri()); assertEquals("nifi://unit-test", recovered.getTransitUri());

View File

@ -14,7 +14,6 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
package org.apache.nifi.provenance.index.lucene; package org.apache.nifi.provenance.index.lucene;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
@ -82,7 +81,7 @@ public class TestLuceneEventIndex {
return System.getProperty("os.name").toLowerCase().startsWith("windows"); return System.getProperty("os.name").toLowerCase().startsWith("windows");
} }
@Test(timeout = 5000) @Test(timeout = 60000)
public void testGetMinimumIdToReindex() throws InterruptedException { public void testGetMinimumIdToReindex() throws InterruptedException {
assumeFalse(isWindowsEnvironment()); assumeFalse(isWindowsEnvironment());
final RepositoryConfiguration repoConfig = createConfig(1); final RepositoryConfiguration repoConfig = createConfig(1);
@ -107,7 +106,7 @@ public class TestLuceneEventIndex {
assertTrue(id >= 30000L); assertTrue(id >= 30000L);
} }
@Test(timeout = 5000) @Test(timeout = 60000)
public void testUnauthorizedEventsGetPlaceholdersForLineage() throws InterruptedException { public void testUnauthorizedEventsGetPlaceholdersForLineage() throws InterruptedException {
assumeFalse(isWindowsEnvironment()); assumeFalse(isWindowsEnvironment());
final RepositoryConfiguration repoConfig = createConfig(1); final RepositoryConfiguration repoConfig = createConfig(1);
@ -144,7 +143,7 @@ public class TestLuceneEventIndex {
} }
} }
@Test(timeout = 5000) @Test(timeout = 60000)
public void testUnauthorizedEventsGetPlaceholdersForExpandChildren() throws InterruptedException { public void testUnauthorizedEventsGetPlaceholdersForExpandChildren() throws InterruptedException {
assumeFalse(isWindowsEnvironment()); assumeFalse(isWindowsEnvironment());
final RepositoryConfiguration repoConfig = createConfig(1); final RepositoryConfiguration repoConfig = createConfig(1);
@ -162,18 +161,18 @@ public class TestLuceneEventIndex {
final Map<String, String> updatedAttributes = new HashMap<>(); final Map<String, String> updatedAttributes = new HashMap<>();
updatedAttributes.put("updated", "true"); updatedAttributes.put("updated", "true");
final ProvenanceEventRecord fork = new StandardProvenanceEventRecord.Builder() final ProvenanceEventRecord fork = new StandardProvenanceEventRecord.Builder()
.setEventType(ProvenanceEventType.FORK) .setEventType(ProvenanceEventType.FORK)
.setAttributes(previousAttributes, updatedAttributes) .setAttributes(previousAttributes, updatedAttributes)
.addChildFlowFile("1234") .addChildFlowFile("1234")
.setComponentId("component-1") .setComponentId("component-1")
.setComponentType("unit test") .setComponentType("unit test")
.setEventId(idGenerator.getAndIncrement()) .setEventId(idGenerator.getAndIncrement())
.setEventTime(System.currentTimeMillis()) .setEventTime(System.currentTimeMillis())
.setFlowFileEntryDate(System.currentTimeMillis()) .setFlowFileEntryDate(System.currentTimeMillis())
.setFlowFileUUID("4444") .setFlowFileUUID("4444")
.setLineageStartDate(System.currentTimeMillis()) .setLineageStartDate(System.currentTimeMillis())
.setCurrentContentClaim("container", "section", "unit-test-id", 0L, 1024L) .setCurrentContentClaim("container", "section", "unit-test-id", 0L, 1024L)
.build(); .build();
index.addEvents(eventStore.addEvent(firstEvent).getStorageLocations()); index.addEvents(eventStore.addEvent(firstEvent).getStorageLocations());
index.addEvents(eventStore.addEvent(fork).getStorageLocations()); index.addEvents(eventStore.addEvent(fork).getStorageLocations());
@ -212,15 +211,15 @@ public class TestLuceneEventIndex {
assertEquals(4L, nodes.stream().filter(n -> n.getNodeType() == LineageNodeType.PROVENANCE_EVENT_NODE).count()); assertEquals(4L, nodes.stream().filter(n -> n.getNodeType() == LineageNodeType.PROVENANCE_EVENT_NODE).count());
final Map<ProvenanceEventType, List<LineageNode>> eventMap = nodes.stream() final Map<ProvenanceEventType, List<LineageNode>> eventMap = nodes.stream()
.filter(n -> n.getNodeType() == LineageNodeType.PROVENANCE_EVENT_NODE) .filter(n -> n.getNodeType() == LineageNodeType.PROVENANCE_EVENT_NODE)
.collect(Collectors.groupingBy(n -> ((ProvenanceEventLineageNode) n).getEventType())); .collect(Collectors.groupingBy(n -> ((ProvenanceEventLineageNode) n).getEventType()));
assertEquals(2, eventMap.size()); assertEquals(2, eventMap.size());
assertEquals(1, eventMap.get(ProvenanceEventType.FORK).size()); assertEquals(1, eventMap.get(ProvenanceEventType.FORK).size());
assertEquals(3, eventMap.get(ProvenanceEventType.UNKNOWN).size()); assertEquals(3, eventMap.get(ProvenanceEventType.UNKNOWN).size());
} }
@Test(timeout = 5000) @Test(timeout = 60000)
public void testUnauthorizedEventsGetPlaceholdersForFindParents() throws InterruptedException { public void testUnauthorizedEventsGetPlaceholdersForFindParents() throws InterruptedException {
assumeFalse(isWindowsEnvironment()); assumeFalse(isWindowsEnvironment());
final RepositoryConfiguration repoConfig = createConfig(1); final RepositoryConfiguration repoConfig = createConfig(1);
@ -238,19 +237,19 @@ public class TestLuceneEventIndex {
final Map<String, String> updatedAttributes = new HashMap<>(); final Map<String, String> updatedAttributes = new HashMap<>();
updatedAttributes.put("updated", "true"); updatedAttributes.put("updated", "true");
final ProvenanceEventRecord join = new StandardProvenanceEventRecord.Builder() final ProvenanceEventRecord join = new StandardProvenanceEventRecord.Builder()
.setEventType(ProvenanceEventType.JOIN) .setEventType(ProvenanceEventType.JOIN)
.setAttributes(previousAttributes, updatedAttributes) .setAttributes(previousAttributes, updatedAttributes)
.addParentUuid("4444") .addParentUuid("4444")
.addChildFlowFile("1234") .addChildFlowFile("1234")
.setComponentId("component-1") .setComponentId("component-1")
.setComponentType("unit test") .setComponentType("unit test")
.setEventId(idGenerator.getAndIncrement()) .setEventId(idGenerator.getAndIncrement())
.setEventTime(System.currentTimeMillis()) .setEventTime(System.currentTimeMillis())
.setFlowFileEntryDate(System.currentTimeMillis()) .setFlowFileEntryDate(System.currentTimeMillis())
.setFlowFileUUID("1234") .setFlowFileUUID("1234")
.setLineageStartDate(System.currentTimeMillis()) .setLineageStartDate(System.currentTimeMillis())
.setCurrentContentClaim("container", "section", "unit-test-id", 0L, 1024L) .setCurrentContentClaim("container", "section", "unit-test-id", 0L, 1024L)
.build(); .build();
index.addEvents(eventStore.addEvent(firstEvent).getStorageLocations()); index.addEvents(eventStore.addEvent(firstEvent).getStorageLocations());
index.addEvents(eventStore.addEvent(join).getStorageLocations()); index.addEvents(eventStore.addEvent(join).getStorageLocations());
@ -286,8 +285,8 @@ public class TestLuceneEventIndex {
assertEquals(2, nodes.size()); assertEquals(2, nodes.size());
final Map<ProvenanceEventType, List<LineageNode>> eventMap = nodes.stream() final Map<ProvenanceEventType, List<LineageNode>> eventMap = nodes.stream()
.filter(n -> n.getNodeType() == LineageNodeType.PROVENANCE_EVENT_NODE) .filter(n -> n.getNodeType() == LineageNodeType.PROVENANCE_EVENT_NODE)
.collect(Collectors.groupingBy(n -> ((ProvenanceEventLineageNode) n).getEventType())); .collect(Collectors.groupingBy(n -> ((ProvenanceEventLineageNode) n).getEventType()));
assertEquals(2, eventMap.size()); assertEquals(2, eventMap.size());
assertEquals(1, eventMap.get(ProvenanceEventType.JOIN).size()); assertEquals(1, eventMap.get(ProvenanceEventType.JOIN).size());
@ -296,7 +295,7 @@ public class TestLuceneEventIndex {
assertEquals("4444", eventMap.get(ProvenanceEventType.UNKNOWN).get(0).getFlowFileUuid()); assertEquals("4444", eventMap.get(ProvenanceEventType.UNKNOWN).get(0).getFlowFileUuid());
} }
@Test(timeout = 5000) @Test(timeout = 60000)
public void testUnauthorizedEventsGetFilteredForQuery() throws InterruptedException { public void testUnauthorizedEventsGetFilteredForQuery() throws InterruptedException {
assumeFalse(isWindowsEnvironment()); assumeFalse(isWindowsEnvironment());
final RepositoryConfiguration repoConfig = createConfig(1); final RepositoryConfiguration repoConfig = createConfig(1);
@ -337,7 +336,6 @@ public class TestLuceneEventIndex {
assertEquals(2, events.size()); assertEquals(2, events.size());
} }
private NiFiUser createUser() { private NiFiUser createUser() {
return new NiFiUser() { return new NiFiUser() {
@Override @Override
@ -362,8 +360,7 @@ public class TestLuceneEventIndex {
}; };
} }
@Test(timeout = 60000)
@Test(timeout = 5000)
public void testExpiration() throws InterruptedException, IOException { public void testExpiration() throws InterruptedException, IOException {
final RepositoryConfiguration repoConfig = createConfig(1); final RepositoryConfiguration repoConfig = createConfig(1);
repoConfig.setDesiredIndexSize(1L); repoConfig.setDesiredIndexSize(1L);
@ -404,8 +401,7 @@ public class TestLuceneEventIndex {
return new StorageSummary(eventId, "1.prov", "1", 1, 2L, 2L); return new StorageSummary(eventId, "1.prov", "1", 1, 2L, 2L);
} }
@Test(timeout = 60000)
@Test(timeout = 5000)
public void addThenQueryWithEmptyQuery() throws InterruptedException { public void addThenQueryWithEmptyQuery() throws InterruptedException {
assumeFalse(isWindowsEnvironment()); assumeFalse(isWindowsEnvironment());
final RepositoryConfiguration repoConfig = createConfig(); final RepositoryConfiguration repoConfig = createConfig();
@ -531,17 +527,17 @@ public class TestLuceneEventIndex {
updatedAttributes.put("updated", "true"); updatedAttributes.put("updated", "true");
final ProvenanceEventRecord event = new StandardProvenanceEventRecord.Builder() final ProvenanceEventRecord event = new StandardProvenanceEventRecord.Builder()
.setEventType(ProvenanceEventType.CONTENT_MODIFIED) .setEventType(ProvenanceEventType.CONTENT_MODIFIED)
.setAttributes(previousAttributes, updatedAttributes) .setAttributes(previousAttributes, updatedAttributes)
.setComponentId("component-1") .setComponentId("component-1")
.setComponentType("unit test") .setComponentType("unit test")
.setEventId(idGenerator.getAndIncrement()) .setEventId(idGenerator.getAndIncrement())
.setEventTime(timestamp) .setEventTime(timestamp)
.setFlowFileEntryDate(timestamp) .setFlowFileEntryDate(timestamp)
.setFlowFileUUID(uuid) .setFlowFileUUID(uuid)
.setLineageStartDate(timestamp) .setLineageStartDate(timestamp)
.setCurrentContentClaim("container", "section", "unit-test-id", 0L, 1024L) .setCurrentContentClaim("container", "section", "unit-test-id", 0L, 1024L)
.build(); .build();
return event; return event;
} }