From 735c82fd8789204d4c1f0c6ab11b94045be86765 Mon Sep 17 00:00:00 2001 From: Mohamed Mohamed Date: Fri, 15 Dec 2023 23:16:52 -0500 Subject: [PATCH 1/6] GROUP-64 Added delay between group creation in group demo loader --- .../org/grouphq/groupservice/group/demo/GroupDemoLoader.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/org/grouphq/groupservice/group/demo/GroupDemoLoader.java b/src/main/java/org/grouphq/groupservice/group/demo/GroupDemoLoader.java index 0c713b9..67bc7cb 100644 --- a/src/main/java/org/grouphq/groupservice/group/demo/GroupDemoLoader.java +++ b/src/main/java/org/grouphq/groupservice/group/demo/GroupDemoLoader.java @@ -1,5 +1,6 @@ package org.grouphq.groupservice.group.demo; +import java.time.Duration; import java.time.Instant; import java.time.temporal.ChronoUnit; import java.util.UUID; @@ -61,6 +62,7 @@ public Flux loadGroups(int initialGroupSize, } return Flux.just(createRequestEvents) + .delayElements(Duration.ofMillis(100)) .flatMap(groupService::createGroup) .onErrorResume(throwable -> { log.error("Error creating group", throwable); From bea4a1f37b7d67ee5b3894d5a37139cbaf9c959e Mon Sep 17 00:00:00 2001 From: makmn1 Date: Fri, 15 Dec 2023 23:26:43 -0500 Subject: [PATCH 2/6] GROUP-64 Updated Lombok dependencies --- build.gradle | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build.gradle b/build.gradle index a6c2e32..74f5585 100644 --- a/build.gradle +++ b/build.gradle @@ -127,10 +127,10 @@ dependencies { testImplementation("io.cucumber:cucumber-spring") // Lombok Dependencies - compileOnly "org.projectlombok:lombok:1.18.28" - annotationProcessor "org.projectlombok:lombok:1.18.28" - testCompileOnly "org.projectlombok:lombok:1.18.28" - testAnnotationProcessor "org.projectlombok:lombok:1.18.28" + compileOnly "org.projectlombok:lombok" + annotationProcessor "org.projectlombok:lombok" + testCompileOnly "org.projectlombok:lombok" + testAnnotationProcessor "org.projectlombok:lombok" } dependencyManagement { From 51ed9d2f57ec8b66ae94d195985de2433ce0b9c3 Mon Sep 17 00:00:00 2001 From: makmn1 Date: Fri, 15 Dec 2023 23:28:08 -0500 Subject: [PATCH 3/6] GROUP-64 Updated manifest to add resource request --- k8s/base/deployment.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/k8s/base/deployment.yml b/k8s/base/deployment.yml index 9ba4cc1..a4ff56e 100644 --- a/k8s/base/deployment.yml +++ b/k8s/base/deployment.yml @@ -54,6 +54,10 @@ spec: volumeMounts: - name: group-service-config-volume mountPath: /workspace/config + resources: + requests: + cpu: "1" + memory: 756Mi imagePullSecrets: - name: ghcr-secret volumes: From 604e07de1cea2b79198dd6e688a4419466ab8c4d Mon Sep 17 00:00:00 2001 From: makmn1 Date: Fri, 15 Dec 2023 23:47:56 -0500 Subject: [PATCH 4/6] GROUP-64 Updated delay --- .../org/grouphq/groupservice/group/demo/GroupDemoLoader.java | 2 +- .../grouphq/groupservice/group/demo/GroupDemoLoaderTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/grouphq/groupservice/group/demo/GroupDemoLoader.java b/src/main/java/org/grouphq/groupservice/group/demo/GroupDemoLoader.java index 67bc7cb..e9ddc5f 100644 --- a/src/main/java/org/grouphq/groupservice/group/demo/GroupDemoLoader.java +++ b/src/main/java/org/grouphq/groupservice/group/demo/GroupDemoLoader.java @@ -62,7 +62,7 @@ public Flux loadGroups(int initialGroupSize, } return Flux.just(createRequestEvents) - .delayElements(Duration.ofMillis(100)) + .delayElements(Duration.ofSeconds(1)) .flatMap(groupService::createGroup) .onErrorResume(throwable -> { log.error("Error creating group", throwable); diff --git a/src/test/java/org/grouphq/groupservice/group/demo/GroupDemoLoaderTest.java b/src/test/java/org/grouphq/groupservice/group/demo/GroupDemoLoaderTest.java index 3295853..ebafad3 100644 --- a/src/test/java/org/grouphq/groupservice/group/demo/GroupDemoLoaderTest.java +++ b/src/test/java/org/grouphq/groupservice/group/demo/GroupDemoLoaderTest.java @@ -52,7 +52,7 @@ void loaderTest() { StepVerifier.create(groupDemoLoader.loadGroups(3, 1)) .expectComplete() - .verify(Duration.ofSeconds(1)); + .verify(); verify(groupService, times(3)).generateGroup(); verify(groupService, times(3)).createGroup(any(GroupCreateRequestEvent.class)); From 8fd09b4cf90ead5fba8da3fcf31857421bb89d7b Mon Sep 17 00:00:00 2001 From: makmn1 Date: Mon, 18 Dec 2023 23:53:13 -0500 Subject: [PATCH 5/6] GROUP-63 Updated endpoints to use /api prefix --- .../java/org/grouphq/groupservice/config/SecurityConfig.java | 2 +- .../org/grouphq/groupservice/group/web/GroupController.java | 2 +- .../groupservice/cucumber/steps/ActiveGroupsPolicy.java | 2 +- .../group/web/GroupControllerIntegrationTest.java | 4 ++-- .../grouphq/groupservice/group/web/GroupControllerTest.java | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/grouphq/groupservice/config/SecurityConfig.java b/src/main/java/org/grouphq/groupservice/config/SecurityConfig.java index 7b7324e..ac769ec 100644 --- a/src/main/java/org/grouphq/groupservice/config/SecurityConfig.java +++ b/src/main/java/org/grouphq/groupservice/config/SecurityConfig.java @@ -25,7 +25,7 @@ SecurityWebFilterChain filterChain(ServerHttpSecurity httpSecurity) { return httpSecurity .authorizeExchange(authorizeExchangeSpec -> authorizeExchangeSpec .pathMatchers("/actuator/**").permitAll() - .pathMatchers("/groups/**").permitAll() + .pathMatchers("/api/groups/**").permitAll() .anyExchange().authenticated()) .csrf(ServerHttpSecurity.CsrfSpec::disable) .build(); diff --git a/src/main/java/org/grouphq/groupservice/group/web/GroupController.java b/src/main/java/org/grouphq/groupservice/group/web/GroupController.java index 8a97d17..a34a952 100644 --- a/src/main/java/org/grouphq/groupservice/group/web/GroupController.java +++ b/src/main/java/org/grouphq/groupservice/group/web/GroupController.java @@ -17,7 +17,7 @@ * A controller containing endpoints for accessing and managing group info. */ @RestController -@RequestMapping("groups") +@RequestMapping("api/groups") @RequiredArgsConstructor @Slf4j public class GroupController { diff --git a/src/test/java/org/grouphq/groupservice/cucumber/steps/ActiveGroupsPolicy.java b/src/test/java/org/grouphq/groupservice/cucumber/steps/ActiveGroupsPolicy.java index 6725b5a..b786bf2 100644 --- a/src/test/java/org/grouphq/groupservice/cucumber/steps/ActiveGroupsPolicy.java +++ b/src/test/java/org/grouphq/groupservice/cucumber/steps/ActiveGroupsPolicy.java @@ -54,7 +54,7 @@ public void thereAreActiveGroups() { public void iRequestGroups() { groupResponse = webTestClient .get() - .uri("/groups") + .uri("/api/groups") .exchange() .expectStatus().is2xxSuccessful() .expectBodyList(Group.class); diff --git a/src/test/java/org/grouphq/groupservice/group/web/GroupControllerIntegrationTest.java b/src/test/java/org/grouphq/groupservice/group/web/GroupControllerIntegrationTest.java index 81cbc62..d2e8d8c 100644 --- a/src/test/java/org/grouphq/groupservice/group/web/GroupControllerIntegrationTest.java +++ b/src/test/java/org/grouphq/groupservice/group/web/GroupControllerIntegrationTest.java @@ -82,7 +82,7 @@ void returnActiveGroups() { webTestClient .get() - .uri("/groups") + .uri("/api/groups") .exchange() .expectStatus().is2xxSuccessful() .expectBodyList(Group.class).value(retrievedGroups -> { @@ -132,7 +132,7 @@ void retrieveActiveGroupMembersAsPublic() { webTestClient .get() - .uri("/groups/" + groupId + "/members") + .uri("/api/groups/" + groupId + "/members") .exchange() .expectStatus().is2xxSuccessful() .expectBodyList(PublicMember.class).value(retrievedMembers -> { diff --git a/src/test/java/org/grouphq/groupservice/group/web/GroupControllerTest.java b/src/test/java/org/grouphq/groupservice/group/web/GroupControllerTest.java index cdd5cd9..f406436 100644 --- a/src/test/java/org/grouphq/groupservice/group/web/GroupControllerTest.java +++ b/src/test/java/org/grouphq/groupservice/group/web/GroupControllerTest.java @@ -30,7 +30,7 @@ @Tag("IntegrationTest") class GroupControllerTest { - private static final String GROUPS_ENDPOINT = "/groups"; + private static final String GROUPS_ENDPOINT = "/api/groups"; @Autowired private WebTestClient webTestClient; @@ -89,7 +89,7 @@ void retrieveActiveGroupMembersAsPublic() { webTestClient .get() - .uri("/groups/1234/members") + .uri("/api/groups/1234/members") .exchange() .expectStatus().is2xxSuccessful() .expectBodyList(PublicMember.class).value(retrievedMembers -> From 3974cc6750753b2128303fccd1327b13c0f5bcbc Mon Sep 17 00:00:00 2001 From: makmn1 Date: Tue, 19 Dec 2023 01:47:34 -0500 Subject: [PATCH 6/6] GROUP-63 Updated tests --- .../group/demo/GroupDemoLoaderIntegrationTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/grouphq/groupservice/group/demo/GroupDemoLoaderIntegrationTest.java b/src/test/java/org/grouphq/groupservice/group/demo/GroupDemoLoaderIntegrationTest.java index 86d39ca..c81d83a 100644 --- a/src/test/java/org/grouphq/groupservice/group/demo/GroupDemoLoaderIntegrationTest.java +++ b/src/test/java/org/grouphq/groupservice/group/demo/GroupDemoLoaderIntegrationTest.java @@ -84,12 +84,12 @@ void loadsGroups( StepVerifier.create( groupDemoLoader.loadGroups(initialGroupSize, periodicGroupAdditionCount)) .expectComplete() - .verify(Duration.ofSeconds(1)); + .verify(); StepVerifier.create( groupDemoLoader.loadGroups(initialGroupSize, periodicGroupAdditionCount)) .expectComplete() - .verify(Duration.ofSeconds(1)); + .verify(); StepVerifier.create(groupRepository.getAllGroups()) .expectNextCount(initialGroupSize + periodicGroupAdditionCount)