docs: update microservices idempotent consumer

This commit is contained in:
Ilkka Seppälä committed 2025-04-14 20:13:14 +03:00
1 parent acb40e112b
commit 076fc21e40
7 files changed
+68 -48

No files matched your search

@@ -44,7 +44,7 @@ public class RequestService {
}
/**
* Creates a new Request or returns an existing one by it's UUID. This operation is idempotent:
* Creates a new Request or returns an existing one by its UUID. This operation is idempotent:
* performing it once or several times successively leads to an equivalent result.
*
* @param uuid The unique identifier for the Request.
@@ -52,10 +52,7 @@ public class RequestService {
*/
public Request create(UUID uuid) {
Optional<Request> optReq = requestRepository.findById(uuid);
if (!optReq.isEmpty()) {
return optReq.get();
}
return requestRepository.save(new Request(uuid));
return optReq.orElseGet(() -> requestRepository.save(new Request(uuid)));
}
/**
@@ -39,12 +39,12 @@ import org.springframework.boot.CommandLineRunner;
class AppTest {
@Test
void main() {
void testMain() {
assertDoesNotThrow(() -> App.main(new String[] {}));
}
@Test
void run() throws Exception {
void testRun() throws Exception {
RequestService requestService = Mockito.mock(RequestService.class);
RequestRepository requestRepository = Mockito.mock(RequestRepository.class);
UUID uuid = UUID.randomUUID();
@@ -43,11 +43,10 @@ import org.mockito.junit.jupiter.MockitoExtension;
class RequestServiceTests {
private RequestService requestService;
@Mock private RequestRepository requestRepository;
private RequestStateMachine requestStateMachine;
@BeforeEach
void setUp() {
requestStateMachine = new RequestStateMachine();
RequestStateMachine requestStateMachine = new RequestStateMachine();
requestService = new RequestService(requestRepository, requestStateMachine);
}
@@ -35,7 +35,7 @@ class RequestStateMachineTests {
private RequestStateMachine requestStateMachine;
@BeforeEach
public void setUp() {
void setUp() {
requestStateMachine = new RequestStateMachine();
}