Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: replace System.out.println with logging in command and even… #634

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,12 @@ import org.reactivecommons.api.domain.Command;
{{/eda}}
import org.reactivecommons.async.impl.config.annotations.EnableCommandListeners;
import reactor.core.publisher.Mono;
import lombok.extern.java.Log;
import java.util.logging.Level;
{{#eda}}
import io.cloudevents.CloudEvent;
{{/eda}}

@Log
{{#lombok}}
@AllArgsConstructor
{{/lombok}}
Expand All @@ -26,14 +28,14 @@ public class CommandsHandler {
{{/lombok}}
{{#eda}}
public Mono<Void> handleCommandA(CloudEvent command) {
System.out.println("command received: " + command.getType() + " ->" + command.getData()); // TODO: Remove this line
log.log(Level.INFO, "Command received: {0} -> {1}", new Object[]{command.getType(), command.getData()}); // TODO: Remove this line
// return sampleUseCase.doSomething(command.getData());
return Mono.empty();
}
{{/eda}}
{{^eda}}
public Mono<Void> handleCommandA(Command<Object/*change for proper model*/> command) {
System.out.println("command received: " + command.getName() + " ->" + command.getData()); // TODO: Remove this line
log.log(Level.INFO, "Command received: {0} -> {1}", new Object[]{command.getName(), command.getData()}); // TODO: Remove this line
// return sampleUseCase.doSomething(command.getData());
return Mono.empty();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ class CommandsHandlerTest {
.withType("command")
.withData("application/json", objectMapper.writeValueAsBytes("Data"))
.build();
StepVerifier.create(commandsHandler.handleCommandA(command)).expectComplete();
StepVerifier.create(commandsHandler.handleCommandA(command)).expectComplete().verify();
}
{{/eda}}
{{^eda}}
Expand All @@ -44,7 +44,7 @@ class CommandsHandlerTest {
StepVerifier.create(commandsHandler.handleCommandA(
new Command<>("COMMAND",
UUID.randomUUID().toString(),
"Data"))).expectComplete();
"Data"))).expectComplete().verify();
}
{{/eda}}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,12 @@ import org.reactivecommons.api.domain.DomainEvent;
{{/eda}}
import org.reactivecommons.async.impl.config.annotations.EnableEventListeners;
import reactor.core.publisher.Mono;
import lombok.extern.java.Log;
import java.util.logging.Level;
{{#eda}}
import io.cloudevents.CloudEvent;
{{/eda}}

@Log
{{#lombok}}
@AllArgsConstructor
{{/lombok}}
Expand All @@ -26,15 +28,15 @@ public class EventsHandler {
{{/lombok}}
{{#eda}}
public Mono<Void> handleEventA(CloudEvent event) {
System.out.println("event received: " + event.getType() + " ->" + event.getData()); // TODO: Remove this line
log.log(Level.INFO, "Event received: {0} -> {1}", new Object[]{event.getType(), event.getData()}); // TODO: Remove this line
// return sampleUseCase.doSomething(event.getData());
return Mono.empty();
}
{{/eda}}

{{^eda}}
public Mono<Void> handleEventA(DomainEvent<Object/*change for proper model*/> event) {
System.out.println("event received: " + event.getName() + " ->" + event.getData()); // TODO: Remove this line
log.log(Level.INFO, "Event received: {0} -> {1}", new Object[]{event.getName(), event.getData()}); // TODO: Remove this line
// return sampleUseCase.doSomething(event.getData());
return Mono.empty();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,14 +34,14 @@ class EventsHandlerTest {
.withType("event")
.withData("application/json", objectMapper.writeValueAsBytes("Data"))
.build();
StepVerifier.create(eventsHandler.handleEventA(event)).expectComplete();
StepVerifier.create(eventsHandler.handleEventA(event)).expectComplete().verify();
}
{{/eda}}
{{^eda}}
@Test
void handleEventATest() {
DomainEvent<Object> event = new DomainEvent<>("EVENT", UUID.randomUUID().toString(), "Data");
StepVerifier.create(eventsHandler.handleEventA(event)).expectComplete();
StepVerifier.create(eventsHandler.handleEventA(event)).expectComplete().verify();
}
{{/eda}}
}
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ public class MetricsReporter implements CustomReporter {
registry.timer("async_operation_flow_duration",
"exception", "", "type",
type, "operation", handlerPath,
"status", status)
.record(Duration.ofMillis(duration));
"status", status);
// .record(Duration.ofMillis(duration));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ import org.reactivecommons.api.domain.DomainEvent;
import org.reactivecommons.async.api.AsyncQuery;
import org.reactivecommons.async.commons.communications.Message;
import reactor.test.StepVerifier;
import io.micrometer.core.instrument.MeterRegistry;
import io.micrometer.core.instrument.simple.SimpleMeterRegistry;
import io.micrometer.core.instrument.Timer;
import static org.assertj.core.api.Assertions.assertThat;

public class MetricsReporterTest {

Expand Down Expand Up @@ -66,4 +70,23 @@ public class MetricsReporterTest {
.create(metricsReporter.reportError(error, message, asyncQuery, true))
.verifyComplete();
}

@Test
void reportMetricTest() {
MeterRegistry registry = new SimpleMeterRegistry();
MetricsReporter reporter = new MetricsReporter(registry);

reporter.reportMetric("command", "handlerPath", 100L, true);
reporter.reportMetric("event", "handlerPath", 200L, false);

Timer successTimer = registry.find("async_operation_flow_duration")
.tags("type", "command", "operation", "handlerPath", "status", "success")
.timer();
Timer errorTimer = registry.find("async_operation_flow_duration")
.tags("type", "event", "operation", "handlerPath", "status", "error")
.timer();

assertThat(successTimer).isNotNull();
assertThat(errorTimer).isNotNull();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ import lombok.AllArgsConstructor;
{{/lombok}}
import org.reactivecommons.async.impl.config.annotations.EnableQueryListeners;
import reactor.core.publisher.Mono;
import lombok.extern.java.Log;
import java.util.logging.Level;
{{#eda}}
import com.fasterxml.jackson.databind.ObjectMapper;
import io.cloudevents.CloudEvent;
Expand All @@ -17,7 +19,7 @@ import java.net.URI;
import java.time.OffsetDateTime;
import java.util.UUID;
{{/eda}}

@Log
{{#lombok}}
@AllArgsConstructor
{{/lombok}}
Expand All @@ -36,7 +38,7 @@ public class QueriesHandler {

{{#eda}}
public Mono<CloudEvent> handleQueryA(CloudEvent query) {
System.out.println("query received->" + query); // TODO: Remove this line
log.log(Level.INFO, "Query received -> {0}", query); // TODO: Remove this line
// return sampleUseCase.doSomethingReturningNoMonoVoid(query);
Object replyData = "Response Data";
CloudEvent reply = CloudEventBuilder.v1() //
Expand All @@ -52,7 +54,7 @@ public class QueriesHandler {

{{^eda}}
public Mono<Object/*change for proper model*/> handleQueryA(Object query/*change for proper model*/) {
System.out.println("query received->" + query); // TODO: Remove this line
log.log(Level.INFO, "Query received -> {0}", query); // TODO: Remove this line
// return sampleUseCase.doSomethingReturningNoMonoVoid(query);
return Mono.just("Response Data");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,25 @@ class QueriesHandlerTest {
.withData("application/json", objectMapper.writeValueAsBytes("Data"))
.build();
StepVerifier.create(queriesHandler.handleQueryA(query))
.expectComplete();
.expectNextMatches(response ->
response != null &&
"SOME_QUERY_REPLY".equals(response.getType()) &&
response.getData() != null
)
.verifyComplete();
}
{{/eda}}
{{^eda}}
@Test
void queriesHandlerTest() {
StepVerifier.create(queriesHandler.handleQueryA("Data"))
.expectComplete();
// Enviar una consulta con datos específicos
String query = "Data";

// Verificar que el valor retornado sea el esperado
StepVerifier.create(queriesHandler.handleQueryA(query))
.expectNext("Response Data") // Verifica que el valor recibido sea "Response Data"
.expectComplete() // Verifica que el Mono se complete
.verify();
}
{{/eda}}
}