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

GROUP-78 Actually Updated toString Method for Event Objects #27

Merged
merged 2 commits into from
Jan 5, 2024
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 @@ -152,13 +152,14 @@ public Consumer<Flux<GroupStatusRequestEvent>> groupStatusRequests() {
}

private <T extends RequestEvent> Mono<RequestEvent> validateRequest(T requestEvent) {
log.info("Validating request: {}", requestEvent);
final Set<ConstraintViolation<T>> violations = validator.validate(requestEvent);

final List<String> violationInfo = violations.stream()
.map(ConstraintViolation::getMessage)
.toList();

return violations.isEmpty() ? Mono.just(requestEvent) :
Mono.error(new IllegalArgumentException(violationInfo + " for event: " + requestEvent));
Mono.error(new IllegalArgumentException(violationInfo.toString()));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,12 @@
@Data
public abstract class Event {
@NotNull(message = "Event ID must be provided")
protected final UUID eventId;
private final UUID eventId;

@Positive(message = "Aggregate ID must be a positive value")
protected final Long aggregateId;
private final Long aggregateId;

@NotNull(message = "Created date must be provided")
@PastOrPresent(message = "Created date must be in the past or present")
protected final Instant createdDate;
private final Instant createdDate;
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import java.util.UUID;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.hibernate.validator.constraints.Length;

/**
Expand All @@ -14,6 +15,7 @@
*/
@EqualsAndHashCode(callSuper = true)
@Data
@ToString(callSuper = true)
public class GroupCreateRequestEvent extends RequestEvent {

@NotBlank(message = "Title must be provided and not blank")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import java.util.UUID;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.hibernate.validator.constraints.Length;

/**
Expand All @@ -13,6 +14,7 @@
*/
@EqualsAndHashCode(callSuper = true)
@Data
@ToString(callSuper = true)
public class GroupJoinRequestEvent extends RequestEvent {

@NotBlank(message = "Username must be provided and not blank")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,15 @@
import java.util.UUID;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

/**
* Data class for the group leave request event.
* <p>This class is used to request a member to leave a group.</p>
*/
@EqualsAndHashCode(callSuper = true)
@Data
@ToString(callSuper = true)
public class GroupLeaveRequestEvent extends RequestEvent {

@NotNull(message = "Member ID must be provided")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import java.util.UUID;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.grouphq.groupservice.group.domain.groups.GroupStatus;

/**
Expand All @@ -13,6 +14,7 @@
*/
@EqualsAndHashCode(callSuper = true)
@Data
@ToString(callSuper = true)
public class GroupStatusRequestEvent extends RequestEvent {

@NotNull(message = "New status must be provided")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.grouphq.groupservice.group.event.daos.Event;

/**
Expand All @@ -15,9 +16,10 @@
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor(force = true)
@Data
@ToString(callSuper = true)
public abstract class RequestEvent extends Event {

protected final String websocketId;
private final String websocketId;

public RequestEvent(
UUID eventId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -331,6 +331,6 @@ void checkValidationsForGroupCreateRequest() throws IOException {
actual -> assertThat(actual.getWebsocketId()).isEqualTo(requestEvent.getWebsocketId())
);

assertThat(errorData.error()).startsWith("[Max group size must be a positive value]");
assertThat(errorData.error()).isEqualTo("[Max group size must be a positive value]");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,10 @@
import org.grouphq.groupservice.group.event.daos.requestevent.GroupJoinRequestEvent;
import org.grouphq.groupservice.group.event.daos.requestevent.GroupLeaveRequestEvent;
import org.grouphq.groupservice.group.testutility.GroupTestUtility;
import org.junit.jupiter.api.*;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
Expand Down