Search in sources :

Example 1 with HistoryManager

use of com.hubspot.singularity.data.history.HistoryManager in project Singularity by HubSpot.

the class BlendedHistoryTest method testBlendedRequestHistory.

// DESCENDING
@Test
public void testBlendedRequestHistory() {
    HistoryManager hm = mock(HistoryManager.class);
    String rid = "rid";
    request = new SingularityRequestBuilder(rid, RequestType.WORKER).build();
    RequestHistoryHelper rhh = new RequestHistoryHelper(requestManager, hm);
    mockRequestHistory(hm, Collections.<SingularityRequestHistory>emptyList());
    Assert.assertTrue(rhh.getBlendedHistory(rid, 0, 100).isEmpty());
    Assert.assertTrue(!rhh.getFirstHistory(rid).isPresent());
    Assert.assertTrue(!rhh.getLastHistory(rid).isPresent());
    mockRequestHistory(hm, Arrays.asList(makeHistory(52, RequestHistoryType.EXITED_COOLDOWN), makeHistory(51, RequestHistoryType.ENTERED_COOLDOWN), makeHistory(50, RequestHistoryType.CREATED)));
    List<SingularityRequestHistory> history = rhh.getBlendedHistory(rid, 0, 5);
    Assert.assertTrue(history.size() == 3);
    saveHistory(100, RequestHistoryType.DELETED);
    saveHistory(120, RequestHistoryType.CREATED);
    history = rhh.getBlendedHistory(rid, 0, 5);
    Assert.assertTrue(history.size() == 5);
    Assert.assertTrue(history.get(0).getCreatedAt() == 120);
    Assert.assertTrue(history.get(4).getCreatedAt() == 50);
    history = rhh.getBlendedHistory(rid, 1, 5);
    Assert.assertTrue(history.size() == 4);
    Assert.assertTrue(history.get(0).getCreatedAt() == 100);
    Assert.assertTrue(history.get(3).getCreatedAt() == 50);
    history = rhh.getBlendedHistory(rid, 2, 5);
    Assert.assertTrue(history.size() == 3);
    Assert.assertTrue(history.get(0).getCreatedAt() == 52);
    Assert.assertTrue(history.get(2).getCreatedAt() == 50);
    mockRequestHistory(hm, Collections.<SingularityRequestHistory>emptyList());
    history = rhh.getBlendedHistory(rid, 3, 5);
    Assert.assertTrue(history.isEmpty());
    history = rhh.getBlendedHistory(rid, 1, 5);
    Assert.assertTrue(history.size() == 1);
    Assert.assertTrue(history.get(0).getCreatedAt() == 100);
    Assert.assertTrue(rhh.getFirstHistory(rid).get().getCreatedAt() == 100);
    Assert.assertTrue(rhh.getLastHistory(rid).get().getCreatedAt() == 120);
    mockRequestHistory(hm, Arrays.asList(makeHistory(1, RequestHistoryType.EXITED_COOLDOWN)));
    Assert.assertTrue(rhh.getFirstHistory(rid).get().getCreatedAt() == 1);
    Assert.assertTrue(rhh.getLastHistory(rid).get().getCreatedAt() == 120);
}
Also used : SingularityRequestHistory(com.hubspot.singularity.SingularityRequestHistory) SingularityRequestBuilder(com.hubspot.singularity.SingularityRequestBuilder) RequestHistoryHelper(com.hubspot.singularity.data.history.RequestHistoryHelper) HistoryManager(com.hubspot.singularity.data.history.HistoryManager) Test(org.junit.Test)

Aggregations

SingularityRequestBuilder (com.hubspot.singularity.SingularityRequestBuilder)1 SingularityRequestHistory (com.hubspot.singularity.SingularityRequestHistory)1 HistoryManager (com.hubspot.singularity.data.history.HistoryManager)1 RequestHistoryHelper (com.hubspot.singularity.data.history.RequestHistoryHelper)1 Test (org.junit.Test)1