mirror of
https://github.com/tiennm99/java-design-patterns.git
synced 2026-10-03 07:13:02 +00:00
docs: update microservices idempotent consumer
This commit is contained in:
1 parent
acb40e112b
commit
076fc21e40
7 files changed
+68
-48
No files matched your search
+2
-5
@@ -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)));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+2
-2
@@ -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();
|
||||
|
||||
+1
-2
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@ class RequestStateMachineTests {
|
||||
private RequestStateMachine requestStateMachine;
|
||||
|
||||
@BeforeEach
|
||||
public void setUp() {
|
||||
void setUp() {
|
||||
requestStateMachine = new RequestStateMachine();
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user