Search in sources :

Example 6 with TimelineService

use of org.zalando.nakadi.service.timeline.TimelineService in project nakadi by zalando.

the class CursorsServiceAT method before.

@Before
public void before() throws Exception {
    sid = randomUUID();
    streamId = randomUUID();
    etName = randomValidEventTypeName();
    topic = randomUUID();
    cursorConverter = mock(CursorConverter.class);
    testCursors = ImmutableList.of(NakadiCursor.of(buildTimeline(etName, topic, CREATED_AT), P1, NEW_OFFSET));
    final EventType eventType = mock(EventType.class);
    when(eventType.getName()).thenReturn(etName);
    final ZooKeeperHolder zkHolder = mock(ZooKeeperHolder.class);
    when(zkHolder.get()).thenReturn(CURATOR);
    final TopicRepository topicRepository = mock(TopicRepository.class);
    final TimelineService timelineService = mock(TimelineService.class);
    when(timelineService.getTopicRepository((Timeline) any())).thenReturn(topicRepository);
    timeline = buildTimeline(etName, topic, CREATED_AT);
    when(timelineService.getActiveTimeline(any(EventType.class))).thenReturn(timeline);
    final Subscription subscription = mock(Subscription.class);
    when(subscription.getId()).thenReturn(sid);
    when(subscription.getEventTypes()).thenReturn(ImmutableSet.of(etName));
    final SubscriptionDbRepository subscriptionRepo = mock(SubscriptionDbRepository.class);
    when(subscriptionRepo.getSubscription(sid)).thenReturn(subscription);
    final SubscriptionClientFactory zkSubscriptionFactory = new SubscriptionClientFactory(zkHolder, MAPPER);
    uuidGenerator = mock(UUIDGenerator.class);
    when(uuidGenerator.isUUID(any())).thenReturn(true);
    cursorsService = new CursorsService(subscriptionRepo, null, mock(NakadiSettings.class), zkSubscriptionFactory, cursorConverter, uuidGenerator, null);
    // Register cursors in converter
    registerNakadiCursor(NakadiCursor.of(buildTimeline(etName, topic, CREATED_AT), P1, NEW_OFFSET));
    registerNakadiCursor(NakadiCursor.of(buildTimeline(etName, topic, CREATED_AT), P1, OLD_OFFSET));
    registerNakadiCursor(NakadiCursor.of(buildTimeline(etName, topic, CREATED_AT), P2, NEW_OFFSET));
    registerNakadiCursor(NakadiCursor.of(buildTimeline(etName, topic, CREATED_AT), P2, OLD_OFFSET));
    // bootstrap data in ZK
    CURATOR.create().creatingParentsIfNeeded().forPath(offsetPath(P1), OLD_OFFSET.getBytes(UTF_8));
    CURATOR.create().creatingParentsIfNeeded().forPath(offsetPath(P2), OLD_OFFSET.getBytes(UTF_8));
    CURATOR.create().creatingParentsIfNeeded().forPath(sessionPath(streamId));
}
Also used : CursorsService(org.zalando.nakadi.service.CursorsService) EventType(org.zalando.nakadi.domain.EventType) SubscriptionDbRepository(org.zalando.nakadi.repository.db.SubscriptionDbRepository) TimelineService(org.zalando.nakadi.service.timeline.TimelineService) UUIDGenerator(org.zalando.nakadi.util.UUIDGenerator) TopicRepository(org.zalando.nakadi.repository.TopicRepository) Subscription(org.zalando.nakadi.domain.Subscription) CursorConverter(org.zalando.nakadi.service.CursorConverter) SubscriptionClientFactory(org.zalando.nakadi.service.subscription.zk.SubscriptionClientFactory) ZooKeeperHolder(org.zalando.nakadi.repository.zookeeper.ZooKeeperHolder) Before(org.junit.Before)

Example 7 with TimelineService

use of org.zalando.nakadi.service.timeline.TimelineService in project nakadi by zalando.

the class PartitionsControllerTest method before.

@Before
public void before() throws InternalNakadiException, NoSuchEventTypeException {
    eventTypeRepositoryMock = mock(EventTypeRepository.class);
    topicRepositoryMock = mock(TopicRepository.class);
    eventTypeCache = mock(EventTypeCache.class);
    timelineService = Mockito.mock(TimelineService.class);
    cursorOperationsService = Mockito.mock(CursorOperationsService.class);
    when(timelineService.getActiveTimelinesOrdered(eq(UNKNOWN_EVENT_TYPE))).thenThrow(NoSuchEventTypeException.class);
    when(timelineService.getActiveTimelinesOrdered(eq(TEST_EVENT_TYPE))).thenReturn(Collections.singletonList(TIMELINE));
    when(timelineService.getAllTimelinesOrdered(eq(TEST_EVENT_TYPE))).thenReturn(Collections.singletonList(TIMELINE));
    when(timelineService.getTopicRepository((Timeline) any())).thenReturn(topicRepositoryMock);
    final CursorConverter cursorConverter = new CursorConverterImpl(eventTypeCache, timelineService);
    final PartitionsController controller = new PartitionsController(timelineService, cursorConverter, cursorOperationsService, eventTypeRepositoryMock, authorizationValidator);
    settings = mock(SecuritySettings.class);
    final FeatureToggleService featureToggleService = Mockito.mock(FeatureToggleService.class);
    mockMvc = standaloneSetup(controller).setMessageConverters(new StringHttpMessageConverter(), TestUtils.JACKSON_2_HTTP_MESSAGE_CONVERTER).setCustomArgumentResolvers(new ClientResolver(settings, featureToggleService)).setControllerAdvice(new ExceptionHandling()).build();
}
Also used : CursorConverterImpl(org.zalando.nakadi.service.converter.CursorConverterImpl) SecuritySettings(org.zalando.nakadi.config.SecuritySettings) EventTypeCache(org.zalando.nakadi.repository.db.EventTypeCache) CursorConverter(org.zalando.nakadi.service.CursorConverter) ClientResolver(org.zalando.nakadi.security.ClientResolver) StringHttpMessageConverter(org.springframework.http.converter.StringHttpMessageConverter) CursorOperationsService(org.zalando.nakadi.service.CursorOperationsService) FeatureToggleService(org.zalando.nakadi.service.FeatureToggleService) EventTypeRepository(org.zalando.nakadi.repository.EventTypeRepository) TimelineService(org.zalando.nakadi.service.timeline.TimelineService) TopicRepository(org.zalando.nakadi.repository.TopicRepository) Before(org.junit.Before)

Example 8 with TimelineService

use of org.zalando.nakadi.service.timeline.TimelineService in project nakadi by zalando.

the class EventStreamControllerTest method setup.

@Before
public void setup() throws NakadiException, UnknownHostException, InvalidCursorException {
    EVENT_TYPE.setName(TEST_EVENT_TYPE_NAME);
    timeline = buildTimelineWithTopic(TEST_TOPIC);
    eventTypeRepository = mock(EventTypeRepository.class);
    topicRepositoryMock = mock(TopicRepository.class);
    adminService = mock(AdminService.class);
    authorizationService = mock(AuthorizationService.class);
    when(topicRepositoryMock.topicExists(TEST_TOPIC)).thenReturn(true);
    eventStreamFactoryMock = mock(EventStreamFactory.class);
    eventTypeCache = mock(EventTypeCache.class);
    requestMock = mock(HttpServletRequest.class);
    when(requestMock.getRemoteAddr()).thenReturn(InetAddress.getLoopbackAddress().getHostAddress());
    when(requestMock.getRemotePort()).thenReturn(12345);
    responseMock = mock(HttpServletResponse.class);
    metricRegistry = new MetricRegistry();
    streamMetrics = new MetricRegistry();
    final EventConsumer.LowLevelConsumer eventConsumerMock = mock(EventConsumer.LowLevelConsumer.class);
    when(topicRepositoryMock.createEventConsumer(eq(KAFKA_CLIENT_ID), any())).thenReturn(eventConsumerMock);
    final ClosedConnectionsCrutch crutch = mock(ClosedConnectionsCrutch.class);
    when(crutch.listenForConnectionClose(requestMock)).thenReturn(new AtomicBoolean(true));
    blacklistService = Mockito.mock(BlacklistService.class);
    Mockito.when(blacklistService.isConsumptionBlocked(any(), any())).thenReturn(false);
    final ConsumerLimitingService consumerLimitingService = Mockito.mock(ConsumerLimitingService.class);
    when(consumerLimitingService.acquireConnectionSlots(any(), any(), any())).thenReturn(ImmutableList.of());
    featureToggleService = mock(FeatureToggleService.class);
    timelineService = mock(TimelineService.class);
    when(timelineService.getTopicRepository((Timeline) any())).thenReturn(topicRepositoryMock);
    when(timelineService.getTopicRepository((EventTypeBase) any())).thenReturn(topicRepositoryMock);
    when(timelineService.getTopicRepository((Storage) any())).thenReturn(topicRepositoryMock);
    when(timelineService.getActiveTimelinesOrdered(any())).thenReturn(Collections.singletonList(timeline));
    when(timelineService.getAllTimelinesOrdered(any())).thenReturn(Collections.singletonList(timeline));
    authorizationValidator = mock(AuthorizationValidator.class);
    eventTypeChangeListener = mock(EventTypeChangeListener.class);
    when(eventTypeChangeListener.registerListener(any(), any())).thenReturn(mock(Closeable.class));
    controller = new EventStreamController(eventTypeRepository, timelineService, TestUtils.OBJECT_MAPPER, eventStreamFactoryMock, metricRegistry, streamMetrics, crutch, blacklistService, consumerLimitingService, featureToggleService, new CursorConverterImpl(eventTypeCache, timelineService), authorizationValidator, eventTypeChangeListener, null);
    settings = mock(SecuritySettings.class);
    when(settings.getAuthMode()).thenReturn(OFF);
    when(settings.getAdminClientId()).thenReturn("nakadi");
    mockMvc = standaloneSetup(controller).setMessageConverters(new StringHttpMessageConverter(), TestUtils.JACKSON_2_HTTP_MESSAGE_CONVERTER).setCustomArgumentResolvers(new ClientResolver(settings, featureToggleService)).build();
}
Also used : AdminService(org.zalando.nakadi.service.AdminService) AuthorizationValidator(org.zalando.nakadi.service.AuthorizationValidator) ClosedConnectionsCrutch(org.zalando.nakadi.service.ClosedConnectionsCrutch) BlacklistService(org.zalando.nakadi.service.BlacklistService) Closeable(java.io.Closeable) SecuritySettings(org.zalando.nakadi.config.SecuritySettings) StringHttpMessageConverter(org.springframework.http.converter.StringHttpMessageConverter) HttpServletRequest(javax.servlet.http.HttpServletRequest) EventConsumer(org.zalando.nakadi.repository.EventConsumer) FeatureToggleService(org.zalando.nakadi.service.FeatureToggleService) EventTypeChangeListener(org.zalando.nakadi.service.EventTypeChangeListener) TopicRepository(org.zalando.nakadi.repository.TopicRepository) ConsumerLimitingService(org.zalando.nakadi.service.ConsumerLimitingService) MetricRegistry(com.codahale.metrics.MetricRegistry) CursorConverterImpl(org.zalando.nakadi.service.converter.CursorConverterImpl) HttpServletResponse(javax.servlet.http.HttpServletResponse) EventTypeCache(org.zalando.nakadi.repository.db.EventTypeCache) ClientResolver(org.zalando.nakadi.security.ClientResolver) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) AuthorizationService(org.zalando.nakadi.plugin.api.authz.AuthorizationService) EventTypeRepository(org.zalando.nakadi.repository.EventTypeRepository) TimelineService(org.zalando.nakadi.service.timeline.TimelineService) EventStreamFactory(org.zalando.nakadi.service.EventStreamFactory) Before(org.junit.Before)

Example 9 with TimelineService

use of org.zalando.nakadi.service.timeline.TimelineService in project nakadi by zalando.

the class PartitionResolverTest method before.

@Before
public void before() throws NakadiException {
    final TopicRepository topicRepository = Mockito.mock(TopicRepository.class);
    when(topicRepository.listPartitionNames(any(String.class))).thenReturn(ImmutableList.of("0"));
    timelineService = Mockito.mock(TimelineService.class);
    when(timelineService.getTopicRepository((Timeline) any())).thenReturn(topicRepository);
    when(timelineService.getTopicRepository((EventType) any())).thenReturn(topicRepository);
    partitionResolver = new PartitionResolver(timelineService, mock(HashPartitionStrategy.class));
}
Also used : TimelineService(org.zalando.nakadi.service.timeline.TimelineService) TopicRepository(org.zalando.nakadi.repository.TopicRepository) Before(org.junit.Before)

Aggregations

TimelineService (org.zalando.nakadi.service.timeline.TimelineService)9 TopicRepository (org.zalando.nakadi.repository.TopicRepository)7 Before (org.junit.Before)6 EventTypeCache (org.zalando.nakadi.repository.db.EventTypeCache)5 CursorConverter (org.zalando.nakadi.service.CursorConverter)4 Subscription (org.zalando.nakadi.domain.Subscription)3 MetricRegistry (com.codahale.metrics.MetricRegistry)2 HashMap (java.util.HashMap)2 StringHttpMessageConverter (org.springframework.http.converter.StringHttpMessageConverter)2 NakadiSettings (org.zalando.nakadi.config.NakadiSettings)2 SecuritySettings (org.zalando.nakadi.config.SecuritySettings)2 EventType (org.zalando.nakadi.domain.EventType)2 NakadiCursor (org.zalando.nakadi.domain.NakadiCursor)2 Timeline (org.zalando.nakadi.domain.Timeline)2 EventTypeRepository (org.zalando.nakadi.repository.EventTypeRepository)2 SubscriptionDbRepository (org.zalando.nakadi.repository.db.SubscriptionDbRepository)2 ClientResolver (org.zalando.nakadi.security.ClientResolver)2 FeatureToggleService (org.zalando.nakadi.service.FeatureToggleService)2 CursorConverterImpl (org.zalando.nakadi.service.converter.CursorConverterImpl)2 SubscriptionClientFactory (org.zalando.nakadi.service.subscription.zk.SubscriptionClientFactory)2