Search in sources :

Example 41 with NakadiCursor

use of org.zalando.nakadi.domain.NakadiCursor in project nakadi by zalando.

the class CursorOperationsServiceTest method whenTimelinesAreAdjacent.

@Test
public void whenTimelinesAreAdjacent() throws Exception {
    final Timeline initialTimeline = mockTimeline(1, 10L);
    final Timeline finalTimeline = mockOpenTimeline(2);
    mockTimelines(initialTimeline, finalTimeline);
    final NakadiCursor initialCursor = NakadiCursor.of(initialTimeline, "0", "0000000000000003");
    final NakadiCursor finalCursor = NakadiCursor.of(finalTimeline, "0", "0000000000000001");
    final Long distance = service.calculateDistance(initialCursor, finalCursor);
    assertThat(distance, equalTo(9L));
}
Also used : Timeline(org.zalando.nakadi.domain.Timeline) NakadiCursor(org.zalando.nakadi.domain.NakadiCursor) ShiftedNakadiCursor(org.zalando.nakadi.domain.ShiftedNakadiCursor) Test(org.junit.Test)

Example 42 with NakadiCursor

use of org.zalando.nakadi.domain.NakadiCursor in project nakadi by zalando.

the class CursorOperationsServiceTest method whenTimelinesAreNotAdjacent.

@Test
public void whenTimelinesAreNotAdjacent() throws Exception {
    final Timeline initialTimeline = mockTimeline(1, 10L);
    final Timeline intermediaryTimeline = mockTimeline(2, 9L);
    final Timeline finalTimeline = mockTimeline(3, 0L);
    mockTimelines(initialTimeline, intermediaryTimeline, finalTimeline);
    final NakadiCursor initialCursor = NakadiCursor.of(initialTimeline, "0", "0000000000000003");
    final NakadiCursor finalCursor = NakadiCursor.of(finalTimeline, "0", "0000000000000001");
    assertThat(service.calculateDistance(initialCursor, finalCursor), equalTo(7L + 10L + 2L));
}
Also used : Timeline(org.zalando.nakadi.domain.Timeline) NakadiCursor(org.zalando.nakadi.domain.NakadiCursor) ShiftedNakadiCursor(org.zalando.nakadi.domain.ShiftedNakadiCursor) Test(org.junit.Test)

Example 43 with NakadiCursor

use of org.zalando.nakadi.domain.NakadiCursor in project nakadi by zalando.

the class CursorOperationsServiceTest method shiftCursorToTheRightSameClosedTimeline.

@Test
public void shiftCursorToTheRightSameClosedTimeline() throws Exception {
    final Timeline initialTimeline = mockTimeline(0, 10L);
    final ShiftedNakadiCursor shiftedCursor = new ShiftedNakadiCursor(initialTimeline, "0", "000000000000000003", 2L);
    mockTimelines(initialTimeline);
    final NakadiCursor cursor = service.unshiftCursor(shiftedCursor);
    assertThat(cursor.getOffset(), equalTo("000000000000000005"));
}
Also used : Timeline(org.zalando.nakadi.domain.Timeline) NakadiCursor(org.zalando.nakadi.domain.NakadiCursor) ShiftedNakadiCursor(org.zalando.nakadi.domain.ShiftedNakadiCursor) ShiftedNakadiCursor(org.zalando.nakadi.domain.ShiftedNakadiCursor) Test(org.junit.Test)

Example 44 with NakadiCursor

use of org.zalando.nakadi.domain.NakadiCursor in project nakadi by zalando.

the class CursorOperationsServiceTest method whenTimelineExpired.

@Test(expected = InvalidCursorOperation.class)
public void whenTimelineExpired() throws Exception {
    // order is zero
    final Timeline expiredTimeline = timeline;
    final Timeline initialTimeline = mockTimeline(1, 10L);
    final Timeline finalTimeline = mockTimeline(2, 0L);
    mockTimelines(initialTimeline, finalTimeline);
    final NakadiCursor initialCursor = NakadiCursor.of(expiredTimeline, "0", "0000000000000001");
    final NakadiCursor finalCursor = NakadiCursor.of(expiredTimeline, "2", "0000000000000002");
    service.calculateDistance(initialCursor, finalCursor);
}
Also used : Timeline(org.zalando.nakadi.domain.Timeline) NakadiCursor(org.zalando.nakadi.domain.NakadiCursor) ShiftedNakadiCursor(org.zalando.nakadi.domain.ShiftedNakadiCursor) Test(org.junit.Test)

Example 45 with NakadiCursor

use of org.zalando.nakadi.domain.NakadiCursor in project nakadi by zalando.

the class SubscriptionValidationServiceTest method mockCursorWithTimeline.

private static NakadiCursor mockCursorWithTimeline() {
    final Timeline timeline = mock(Timeline.class);
    when(timeline.isDeleted()).thenReturn(false);
    final NakadiCursor cursor = mock(NakadiCursor.class);
    when(cursor.getTimeline()).thenReturn(timeline);
    return cursor;
}
Also used : Timeline(org.zalando.nakadi.domain.Timeline) NakadiCursor(org.zalando.nakadi.domain.NakadiCursor)

Aggregations

NakadiCursor (org.zalando.nakadi.domain.NakadiCursor)56 Timeline (org.zalando.nakadi.domain.Timeline)31 Test (org.junit.Test)27 ShiftedNakadiCursor (org.zalando.nakadi.domain.ShiftedNakadiCursor)21 InvalidCursorException (org.zalando.nakadi.exceptions.InvalidCursorException)14 ServiceUnavailableException (org.zalando.nakadi.exceptions.ServiceUnavailableException)12 SubscriptionCursorWithoutToken (org.zalando.nakadi.view.SubscriptionCursorWithoutToken)12 PartitionStatistics (org.zalando.nakadi.domain.PartitionStatistics)11 List (java.util.List)10 Map (java.util.Map)10 Collectors (java.util.stream.Collectors)10 Storage (org.zalando.nakadi.domain.Storage)10 TopicRepository (org.zalando.nakadi.repository.TopicRepository)10 Optional (java.util.Optional)8 LoggerFactory (org.slf4j.LoggerFactory)8 EventTypePartition (org.zalando.nakadi.domain.EventTypePartition)8 TimelineService (org.zalando.nakadi.service.timeline.TimelineService)8 Collections (java.util.Collections)7 Logger (org.slf4j.Logger)7 InternalNakadiException (org.zalando.nakadi.exceptions.InternalNakadiException)7