Search in sources :

Example 1 with ClientResolver

use of org.zalando.nakadi.security.ClientResolver in project nakadi by zalando.

the class StoragesControllerTest method before.

@Before
public void before() {
    final StoragesController controller = new StoragesController(securitySettings, storageService, adminService);
    final FeatureToggleService featureToggleService = mock(FeatureToggleService.class);
    doReturn("nakadi").when(securitySettings).getAdminClientId();
    mockMvc = standaloneSetup(controller).setMessageConverters(new StringHttpMessageConverter(), TestUtils.JACKSON_2_HTTP_MESSAGE_CONVERTER).setCustomArgumentResolvers(new ClientResolver(securitySettings, featureToggleService)).build();
}
Also used : FeatureToggleService(org.zalando.nakadi.service.FeatureToggleService) ClientResolver(org.zalando.nakadi.security.ClientResolver) StringHttpMessageConverter(org.springframework.http.converter.StringHttpMessageConverter) Before(org.junit.Before)

Example 2 with ClientResolver

use of org.zalando.nakadi.security.ClientResolver in project nakadi by zalando.

the class EventTypeControllerTestCase method init.

@Before
public void init() throws Exception {
    final NakadiSettings nakadiSettings = new NakadiSettings(0, 0, 0, TOPIC_RETENTION_TIME_MS, 0, 60, NAKADI_POLL_TIMEOUT, NAKADI_SEND_TIMEOUT, 0, NAKADI_EVENT_MAX_BYTES, NAKADI_SUBSCRIPTION_MAX_PARTITIONS, "service", "nakadi", "I am warning you");
    final PartitionsCalculator partitionsCalculator = new KafkaConfig().createPartitionsCalculator("t2.large", TestUtils.OBJECT_MAPPER, nakadiSettings);
    when(timelineService.getTopicRepository((Timeline) any())).thenReturn(topicRepository);
    when(timelineService.getTopicRepository((EventTypeBase) any())).thenReturn(topicRepository);
    when(transactionTemplate.execute(any())).thenAnswer(invocation -> {
        final TransactionCallback callback = (TransactionCallback) invocation.getArguments()[0];
        return callback.doInTransaction(null);
    });
    final EventTypeService eventTypeService = new EventTypeService(eventTypeRepository, timelineService, partitionResolver, enrichment, subscriptionRepository, schemaEvolutionService, partitionsCalculator, featureToggleService, authorizationValidator, timelineSync, transactionTemplate, nakadiSettings, nakadiKpiPublisher, "et-log-event-type");
    final EventTypeOptionsValidator eventTypeOptionsValidator = new EventTypeOptionsValidator(TOPIC_RETENTION_MIN_MS, TOPIC_RETENTION_MAX_MS);
    final EventTypeController controller = new EventTypeController(eventTypeService, featureToggleService, eventTypeOptionsValidator, applicationService, adminService, nakadiSettings);
    doReturn(randomUUID).when(uuid).randomUUID();
    doReturn(true).when(applicationService).exists(any());
    doReturn(true).when(featureToggleService).isFeatureEnabled(CHECK_PARTITIONS_KEYS);
    mockMvc = standaloneSetup(controller).setMessageConverters(new StringHttpMessageConverter(), TestUtils.JACKSON_2_HTTP_MESSAGE_CONVERTER).setCustomArgumentResolvers(new ClientResolver(settings, featureToggleService)).setControllerAdvice(new ExceptionHandling()).build();
}
Also used : TransactionCallback(org.springframework.transaction.support.TransactionCallback) PartitionsCalculator(org.zalando.nakadi.repository.kafka.PartitionsCalculator) EventTypeService(org.zalando.nakadi.service.EventTypeService) EventTypeOptionsValidator(org.zalando.nakadi.validation.EventTypeOptionsValidator) ClientResolver(org.zalando.nakadi.security.ClientResolver) NakadiSettings(org.zalando.nakadi.config.NakadiSettings) StringHttpMessageConverter(org.springframework.http.converter.StringHttpMessageConverter) KafkaConfig(org.zalando.nakadi.repository.kafka.KafkaConfig) Before(org.junit.Before)

Example 3 with ClientResolver

use of org.zalando.nakadi.security.ClientResolver 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 4 with ClientResolver

use of org.zalando.nakadi.security.ClientResolver in project nakadi by zalando.

the class EventPublishingControllerTest method setUp.

@Before
public void setUp() {
    metricRegistry = new MetricRegistry();
    publisher = mock(EventPublisher.class);
    eventTypeMetricRegistry = new EventTypeMetricRegistry(metricRegistry);
    kpiPublisher = mock(NakadiKpiPublisher.class);
    settings = mock(SecuritySettings.class);
    when(settings.getAuthMode()).thenReturn(OFF);
    when(settings.getAdminClientId()).thenReturn("nakadi");
    blacklistService = Mockito.mock(BlacklistService.class);
    when(blacklistService.isProductionBlocked(any(), any())).thenReturn(false);
    final FeatureToggleService featureToggleService = Mockito.mock(FeatureToggleService.class);
    final EventPublishingController controller = new EventPublishingController(publisher, eventTypeMetricRegistry, blacklistService, kpiPublisher, "kpiEventTypeName");
    mockMvc = standaloneSetup(controller).setMessageConverters(new StringHttpMessageConverter(), TestUtils.JACKSON_2_HTTP_MESSAGE_CONVERTER).setCustomArgumentResolvers(new ClientResolver(settings, featureToggleService)).build();
}
Also used : EventPublisher(org.zalando.nakadi.service.EventPublisher) FeatureToggleService(org.zalando.nakadi.service.FeatureToggleService) BlacklistService(org.zalando.nakadi.service.BlacklistService) EventTypeMetricRegistry(org.zalando.nakadi.metrics.EventTypeMetricRegistry) MetricRegistry(com.codahale.metrics.MetricRegistry) NakadiKpiPublisher(org.zalando.nakadi.service.NakadiKpiPublisher) SecuritySettings(org.zalando.nakadi.config.SecuritySettings) ClientResolver(org.zalando.nakadi.security.ClientResolver) StringHttpMessageConverter(org.springframework.http.converter.StringHttpMessageConverter) EventTypeMetricRegistry(org.zalando.nakadi.metrics.EventTypeMetricRegistry) Before(org.junit.Before)

Example 5 with ClientResolver

use of org.zalando.nakadi.security.ClientResolver 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)

Aggregations

Before (org.junit.Before)5 StringHttpMessageConverter (org.springframework.http.converter.StringHttpMessageConverter)5 ClientResolver (org.zalando.nakadi.security.ClientResolver)5 FeatureToggleService (org.zalando.nakadi.service.FeatureToggleService)4 SecuritySettings (org.zalando.nakadi.config.SecuritySettings)3 MetricRegistry (com.codahale.metrics.MetricRegistry)2 EventTypeRepository (org.zalando.nakadi.repository.EventTypeRepository)2 TopicRepository (org.zalando.nakadi.repository.TopicRepository)2 EventTypeCache (org.zalando.nakadi.repository.db.EventTypeCache)2 BlacklistService (org.zalando.nakadi.service.BlacklistService)2 CursorConverterImpl (org.zalando.nakadi.service.converter.CursorConverterImpl)2 TimelineService (org.zalando.nakadi.service.timeline.TimelineService)2 Closeable (java.io.Closeable)1 AtomicBoolean (java.util.concurrent.atomic.AtomicBoolean)1 HttpServletRequest (javax.servlet.http.HttpServletRequest)1 HttpServletResponse (javax.servlet.http.HttpServletResponse)1 TransactionCallback (org.springframework.transaction.support.TransactionCallback)1 NakadiSettings (org.zalando.nakadi.config.NakadiSettings)1 EventTypeMetricRegistry (org.zalando.nakadi.metrics.EventTypeMetricRegistry)1 AuthorizationService (org.zalando.nakadi.plugin.api.authz.AuthorizationService)1