Search in sources :

Example 36 with Event

use of org.ff4j.audit.Event in project ff4j by ff4j.

the class EventRepositoryTestSupport method testFeatureUsageHitCount.

/**
 * TDD.
 */
@Test
public void testFeatureUsageHitCount() throws InterruptedException {
    long start = System.currentTimeMillis();
    // Given empty event repository
    // When
    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, System.currentTimeMillis());
    // Assert Pie Chart (2 sectors with 8 and 8)
    Map<String, MutableHitCount> mapOfHit = repo.getFeatureUsageHitCount(testQuery);
    Assert.assertEquals(2, mapOfHit.size());
    Assert.assertTrue(mapOfHit.containsKey("f1"));
    Assert.assertTrue(mapOfHit.containsKey("f2"));
    Assert.assertEquals(8, mapOfHit.get("f1").get());
}
Also used : EventQueryDefinition(org.ff4j.audit.EventQueryDefinition) Event(org.ff4j.audit.Event) MutableHitCount(org.ff4j.audit.MutableHitCount) Test(org.junit.Test)

Example 37 with Event

use of org.ff4j.audit.Event in project ff4j by ff4j.

the class EventRepositoryTestSupport method testSaveAuditTrail.

/**
 * TDD.
 */
@Test
public void testSaveAuditTrail() throws InterruptedException {
    long start = System.currentTimeMillis();
    // Given
    Event evt1 = new Event(SOURCE_JAVA, TARGET_FEATURE, "f1", EventConstants.ACTION_CREATE);
    // When
    repo.saveEvent(evt1);
    // Wait for the event to be effectively store
    Thread.sleep(200);
    EventQueryDefinition eqd2 = new EventQueryDefinition(start - 200, System.currentTimeMillis());
    Assert.assertEquals(1, repo.getAuditTrail(eqd2).size());
}
Also used : EventQueryDefinition(org.ff4j.audit.EventQueryDefinition) Event(org.ff4j.audit.Event) Test(org.junit.Test)

Example 38 with Event

use of org.ff4j.audit.Event in project ff4j by ff4j.

the class EventRepositoryTestSupport method generateFeatureUsageEvent.

/**
 * Event generation.
 *
 * @param uid
 *            target unique identifier
 * @param timestamp
 *            current event time
 * @return
 */
protected Event generateFeatureUsageEvent(String uid, long timestamp) {
    Event event = generateFeatureUsageEvent(uid);
    event.setTimestamp(timestamp);
    return event;
}
Also used : Event(org.ff4j.audit.Event)

Example 39 with Event

use of org.ff4j.audit.Event in project ff4j by ff4j.

the class EventRepositoryTestSupport method testHostHitCount.

/**
 * TDD.
 */
@Test
public void testHostHitCount() throws InterruptedException {
    long start = System.currentTimeMillis();
    // When
    for (int i = 0; i < 8; i++) {
        Thread.sleep(100);
        repo.saveEvent(new Event(SOURCE_JAVA, TARGET_FEATURE, "f1", ACTION_CHECK_OK));
    }
    Thread.sleep(200);
    // Then
    EventQueryDefinition testQuery = new EventQueryDefinition(start, System.currentTimeMillis());
    Map<String, MutableHitCount> mapOfHit = repo.getHostHitCount(testQuery);
    Assert.assertEquals(1, mapOfHit.size());
    Assert.assertEquals(1, mapOfHit.values().size());
}
Also used : EventQueryDefinition(org.ff4j.audit.EventQueryDefinition) Event(org.ff4j.audit.Event) MutableHitCount(org.ff4j.audit.MutableHitCount) Test(org.junit.Test)

Example 40 with Event

use of org.ff4j.audit.Event in project ff4j by ff4j.

the class EventRepositoryTestSupport method testFeatureUsageBarCharts.

/**
 * TDD.
 */
@Test
public void testFeatureUsageBarCharts() throws InterruptedException {
    long start = System.currentTimeMillis();
    // Given empty event repository
    // When
    repo.saveEvent(new Event(SOURCE_JAVA, TARGET_FEATURE, "f1", EventConstants.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));
    }
    // Then : Assert bar chart (2 bars with 8 and 8)
    EventQueryDefinition testQuery = new EventQueryDefinition(start - 10, System.currentTimeMillis() + 10);
    BarChart bChart = repo.getFeatureUsageBarChart(testQuery);
    Assert.assertEquals(2, bChart.getChartBars().size());
    Assert.assertEquals(new Integer(8), bChart.getChartBars().get(0).getValue());
    Assert.assertEquals(new Integer(8), bChart.getChartBars().get(1).getValue());
    Assert.assertNotNull(bChart.getChartBars().get(0).getColor());
    Assert.assertNotNull(bChart.getChartBars().get(1).getColor());
}
Also used : EventQueryDefinition(org.ff4j.audit.EventQueryDefinition) BarChart(org.ff4j.audit.chart.BarChart) Event(org.ff4j.audit.Event) Test(org.junit.Test)

Aggregations

Event (org.ff4j.audit.Event)56 Test (org.junit.Test)32 EventQueryDefinition (org.ff4j.audit.EventQueryDefinition)22 MutableHitCount (org.ff4j.audit.MutableHitCount)15 EventSeries (org.ff4j.audit.EventSeries)8 TimeSeriesChart (org.ff4j.audit.chart.TimeSeriesChart)8 JestResult (io.searchbox.client.JestResult)6 HashMap (java.util.HashMap)5 EventRepository (org.ff4j.audit.repository.EventRepository)4 InMemoryEventRepository (org.ff4j.audit.repository.InMemoryEventRepository)4 Date (java.util.Date)2 TreeMap (java.util.TreeMap)2 EventPublisher (org.ff4j.audit.EventPublisher)2 EventWorker (org.ff4j.audit.EventWorker)2 BarChart (org.ff4j.audit.chart.BarChart)2 Map (java.util.Map)1 ConcurrentHashMap (java.util.concurrent.ConcurrentHashMap)1 FF4j (org.ff4j.FF4j)1 Serie (org.ff4j.audit.chart.Serie)1 MongoEventMapper (org.ff4j.mongo.mapper.MongoEventMapper)1