Search in sources :

Example 1 with StructuredRestCallEvent

use of com.sequenceiq.cloudbreak.structuredevent.event.StructuredRestCallEvent in project cloudbreak by hortonworks.

the class StructuredEventFilter method sendStructuredEvent.

private void sendStructuredEvent(RestRequestDetails restRequest, RestResponseDetails restResponse, Map<String, String> restParams, Long requestTime, String responseBody) {
    restResponse.setBody(responseBody);
    RestCallDetails restCall = new RestCallDetails();
    restCall.setRestRequest(restRequest);
    restCall.setRestResponse(restResponse);
    restCall.setDuration(System.currentTimeMillis() - requestTime);
    structuredEventClient.sendStructuredEvent(new StructuredRestCallEvent(createOperationDetails(restParams, requestTime), restCall));
}
Also used : StructuredRestCallEvent(com.sequenceiq.cloudbreak.structuredevent.event.StructuredRestCallEvent) RestCallDetails(com.sequenceiq.cloudbreak.structuredevent.event.rest.RestCallDetails)

Example 2 with StructuredRestCallEvent

use of com.sequenceiq.cloudbreak.structuredevent.event.StructuredRestCallEvent in project cloudbreak by hortonworks.

the class KafkaStructuredEventHandlerTest method checkEventTypeBasedTopicDistribution.

@Test
public void checkEventTypeBasedTopicDistribution() throws ExecutionException, InterruptedException {
    StructuredRestCallEvent structuredEvent = createDummyStructuredRestEvent();
    Event<StructuredEvent> event = new Event<>(structuredEvent);
    ListenableFuture<SendResult<String, String>> futures = generateMockFutureWrappers();
    when(kafkaTemplate.send(eq("cbStructuredRestCallEvent"), anyString())).thenReturn(futures);
    classIntest.accept(event);
    verify(kafkaTemplate).send(eq("cbStructuredRestCallEvent"), anyString());
}
Also used : StructuredRestCallEvent(com.sequenceiq.cloudbreak.structuredevent.event.StructuredRestCallEvent) StructuredEvent(com.sequenceiq.cloudbreak.structuredevent.event.StructuredEvent) SendResult(org.springframework.kafka.support.SendResult) StructuredRestCallEvent(com.sequenceiq.cloudbreak.structuredevent.event.StructuredRestCallEvent) Event(reactor.bus.Event) StructuredEvent(com.sequenceiq.cloudbreak.structuredevent.event.StructuredEvent) Test(org.junit.Test)

Example 3 with StructuredRestCallEvent

use of com.sequenceiq.cloudbreak.structuredevent.event.StructuredRestCallEvent in project cloudbreak by hortonworks.

the class DatahubRestResourceAuditEventConverterTest method testRequestParametersWhenStackNotFound.

@Test
public void testRequestParametersWhenStackNotFound() {
    StructuredRestCallEvent event = new StructuredRestCallEvent();
    OperationDetails operation = new OperationDetails();
    operation.setResourceName("name");
    operation.setWorkspaceId(123L);
    event.setOperation(operation);
    RestCallDetails restCall = new RestCallDetails();
    event.setRestCall(restCall);
    RestRequestDetails restRequest = new RestRequestDetails();
    restCall.setRestRequest(restRequest);
    Map<String, Object> params = new HashMap<>();
    when(legacyRestCommonService.addClusterCrnAndNameIfPresent(event)).thenReturn(params);
    when(stackService.findStackByNameAndWorkspaceId(operation.getResourceName(), operation.getWorkspaceId())).thenReturn(Optional.empty());
    Map<String, Object> actual = underTest.requestParameters(event);
    Assertions.assertEquals(0, actual.size());
}
Also used : StructuredRestCallEvent(com.sequenceiq.cloudbreak.structuredevent.event.StructuredRestCallEvent) OperationDetails(com.sequenceiq.cloudbreak.structuredevent.event.legacy.OperationDetails) RestCallDetails(com.sequenceiq.cloudbreak.structuredevent.event.rest.RestCallDetails) HashMap(java.util.HashMap) RestRequestDetails(com.sequenceiq.cloudbreak.structuredevent.event.rest.RestRequestDetails) Test(org.junit.jupiter.api.Test)

Example 4 with StructuredRestCallEvent

use of com.sequenceiq.cloudbreak.structuredevent.event.StructuredRestCallEvent in project cloudbreak by hortonworks.

the class DatahubRestResourceAuditEventConverterTest method testRequestParametersWhenStackFoundButNotScaling.

@Test
public void testRequestParametersWhenStackFoundButNotScaling() {
    StructuredRestCallEvent event = new StructuredRestCallEvent();
    OperationDetails operation = new OperationDetails();
    operation.setResourceName("name");
    operation.setWorkspaceId(123L);
    event.setOperation(operation);
    RestCallDetails restCall = new RestCallDetails();
    event.setRestCall(restCall);
    RestRequestDetails restRequest = new RestRequestDetails();
    restRequest.setMethod("POST");
    restCall.setRestRequest(restRequest);
    Stack stack = new Stack();
    Map<String, Object> params = new HashMap<>();
    when(legacyRestCommonService.addClusterCrnAndNameIfPresent(event)).thenReturn(params);
    when(stackService.findStackByNameAndWorkspaceId(operation.getResourceName(), operation.getWorkspaceId())).thenReturn(Optional.of(stack));
    Map<String, Object> actual = underTest.requestParameters(event);
    Assertions.assertEquals(0, actual.size());
}
Also used : StructuredRestCallEvent(com.sequenceiq.cloudbreak.structuredevent.event.StructuredRestCallEvent) OperationDetails(com.sequenceiq.cloudbreak.structuredevent.event.legacy.OperationDetails) RestCallDetails(com.sequenceiq.cloudbreak.structuredevent.event.rest.RestCallDetails) HashMap(java.util.HashMap) RestRequestDetails(com.sequenceiq.cloudbreak.structuredevent.event.rest.RestRequestDetails) Stack(com.sequenceiq.cloudbreak.domain.stack.Stack) Test(org.junit.jupiter.api.Test)

Example 5 with StructuredRestCallEvent

use of com.sequenceiq.cloudbreak.structuredevent.event.StructuredRestCallEvent in project cloudbreak by hortonworks.

the class LegacyRestCommonServiceTest method testWhenNameAndResourceCrnComeFromTheOperationButExistInRequestAndResponse.

@Test
public void testWhenNameAndResourceCrnComeFromTheOperationButExistInRequestAndResponse() {
    StructuredRestCallEvent event = new StructuredRestCallEvent();
    OperationDetails operation = new OperationDetails();
    operation.setResourceCrn("crn1");
    operation.setResourceName("name1");
    RestCallDetails restCallDetails = new RestCallDetails();
    RestRequestDetails request = new RestRequestDetails();
    request.setBody(new Json(Map.of("name", "name2", "resourceCrn", "crn2")).getValue());
    RestResponseDetails response = new RestResponseDetails();
    response.setBody(new Json(Map.of("name", "name3", "resourceCrn", "crn3")).getValue());
    restCallDetails.setRestRequest(request);
    restCallDetails.setRestResponse(response);
    event.setRestCall(restCallDetails);
    event.setOperation(operation);
    Map<String, Object> expected = new HashMap<>();
    expected.put(CLUSTER_NAME, "name1");
    expected.put(CLUSTER_CRN, "crn1");
    Map<String, Object> actual = legacyRestCommonService.addClusterCrnAndNameIfPresent(event);
    assertEquals(expected, actual);
}
Also used : StructuredRestCallEvent(com.sequenceiq.cloudbreak.structuredevent.event.StructuredRestCallEvent) OperationDetails(com.sequenceiq.cloudbreak.structuredevent.event.legacy.OperationDetails) RestCallDetails(com.sequenceiq.cloudbreak.structuredevent.event.rest.RestCallDetails) HashMap(java.util.HashMap) RestRequestDetails(com.sequenceiq.cloudbreak.structuredevent.event.rest.RestRequestDetails) Json(com.sequenceiq.cloudbreak.common.json.Json) RestResponseDetails(com.sequenceiq.cloudbreak.structuredevent.event.rest.RestResponseDetails) Test(org.junit.jupiter.api.Test)

Aggregations

StructuredRestCallEvent (com.sequenceiq.cloudbreak.structuredevent.event.StructuredRestCallEvent)16 RestCallDetails (com.sequenceiq.cloudbreak.structuredevent.event.rest.RestCallDetails)11 RestRequestDetails (com.sequenceiq.cloudbreak.structuredevent.event.rest.RestRequestDetails)11 Test (org.junit.jupiter.api.Test)9 OperationDetails (com.sequenceiq.cloudbreak.structuredevent.event.legacy.OperationDetails)8 HashMap (java.util.HashMap)8 RestResponseDetails (com.sequenceiq.cloudbreak.structuredevent.event.rest.RestResponseDetails)7 Json (com.sequenceiq.cloudbreak.common.json.Json)5 Stack (com.sequenceiq.cloudbreak.domain.stack.Stack)2 Test (org.junit.Test)2 CloudbreakUser (com.sequenceiq.cloudbreak.common.user.CloudbreakUser)1 Cluster (com.sequenceiq.cloudbreak.domain.stack.cluster.Cluster)1 HostGroup (com.sequenceiq.cloudbreak.domain.stack.cluster.host.HostGroup)1 InstanceGroup (com.sequenceiq.cloudbreak.domain.stack.instance.InstanceGroup)1 RestResourceAuditEventConverter (com.sequenceiq.cloudbreak.structuredevent.auditeventname.rest.RestResourceAuditEventConverter)1 StructuredEvent (com.sequenceiq.cloudbreak.structuredevent.event.StructuredEvent)1 ContainerResponseContext (javax.ws.rs.container.ContainerResponseContext)1 ContainerRequest (org.glassfish.jersey.server.ContainerRequest)1 ContainerResponse (org.glassfish.jersey.server.ContainerResponse)1 SendResult (org.springframework.kafka.support.SendResult)1