use of org.ff4j.audit.Event in project ff4j by ff4j.
the class EventWorkerTest method testErrorOnSubmitEventPublisher.
@Test
public void testErrorOnSubmitEventPublisher() {
// Given
EventRepository er = mock(EventRepository.class);
Event evt = new Event(SOURCE_JAVA, TARGET_FEATURE, "F1", ACTION_CHECK_OFF);
doThrow(new RuntimeException("Erreur")).when(er).saveEvent(evt);
EventPublisher evtPublisher = new EventPublisher(er);
evtPublisher.publish(evt);
Assert.assertNotNull(evt);
}
use of org.ff4j.audit.Event in project ff4j by ff4j.
the class EventWorkerTest method testEventWorkerCall.
@Test
public void testEventWorkerCall() throws Exception {
// Given
EventRepository er = mock(EventRepository.class);
Event evt = new Event(SOURCE_JAVA, TARGET_FEATURE, "F1", ACTION_CHECK_OK);
when(er.saveEvent(evt)).thenReturn(false);
EventWorker ew = new EventWorker(evt, er);
// When
ew.call();
}
use of org.ff4j.audit.Event in project ff4j by ff4j.
the class EventRepositoryRedis method getUsageCount.
private Map<String, MutableHitCount> getUsageCount(EventQueryDefinition query, Types type) {
Map<String, MutableHitCount> hitCount = new HashMap<>();
// Get events from Redis between the time range.
Set<String> events = getEventsFromRedis(query);
// Loop through create the buckets.
for (String event : events) {
Event eventObject = marshallEvent(event);
String value = getValueFromAttribute(type, eventObject);
MutableHitCount mutableHitCount = hitCount.get(value);
if (mutableHitCount != null) {
mutableHitCount.inc();
} else {
mutableHitCount = new MutableHitCount(1);
}
hitCount.put(value, mutableHitCount);
}
return hitCount;
}
use of org.ff4j.audit.Event in project ff4j by ff4j.
the class EventRepositoryTestSupport method testGetEventByUID.
/**
* TDD.
*/
@Test
public void testGetEventByUID() throws InterruptedException {
// Given
String dummyId = "1234-5678-9012-3456";
Event evt1 = new Event(SOURCE_JAVA, TARGET_FEATURE, "f1", ACTION_CHECK_OFF);
evt1.setUuid(dummyId);
// When
repo.saveEvent(evt1);
// Let the store to be updated
Thread.sleep(100);
// Then
Event evt = repo.getEventByUUID(dummyId, System.currentTimeMillis());
Assert.assertNotNull(evt);
}
use of org.ff4j.audit.Event in project ff4j by ff4j.
the class EventRepositoryTestSupport method testGetFeatureUsageHistory.
@Test
public void testGetFeatureUsageHistory() throws InterruptedException {
long start = System.currentTimeMillis();
repo.saveEvent(new Event(SOURCE_JAVA, TARGET_FEATURE, "f1", ACTION_CREATE));
for (int i = 0; i < 8; i++) {
Thread.sleep(100);
repo.saveEvent(new Event(SOURCE_JAVA, TARGET_FEATURE, "f1", ACTION_CHECK_OK));
repo.saveEvent(new Event(SOURCE_WEB, TARGET_FEATURE, "f2", ACTION_CHECK_OK));
}
Thread.sleep(100);
// Then
EventQueryDefinition testQuery = new EventQueryDefinition(start - 20, System.currentTimeMillis());
TimeSeriesChart tsc = repo.getFeatureUsageHistory(testQuery, TimeUnit.HOURS);
Assert.assertEquals(1, tsc.getTimeSlots().size());
}
Aggregations