diff --git a/.idea/workspace.xml b/.idea/workspace.xml index c1ae36f..dd1c708 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -23,10 +23,13 @@ + + + - - + + + @@ -111,7 +115,7 @@ - + @@ -128,16 +132,16 @@ - + - - - + - - - - + + + + - - @@ -265,13 +268,6 @@ @@ -628,7 +631,6 @@ @@ -690,62 +693,62 @@ - + - - - + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - + - + - + - + - + - + - + @@ -765,25 +768,25 @@ - + - + - + - - + + - + diff --git a/src/main/java/com/release11/klaus/controller/KlausController.java b/src/main/java/com/release11/klaus/controller/KlausController.java index 92dea81..b34cc32 100644 --- a/src/main/java/com/release11/klaus/controller/KlausController.java +++ b/src/main/java/com/release11/klaus/controller/KlausController.java @@ -39,8 +39,7 @@ public class KlausController { @GetMapping(value = "klaus/v1/getAll/{clientUUID}") public ResponseEntity getAllMockedResponses(@PathVariable UUID clientUUID){ TrackingClient.setBusinessKeys(Map.of(BusinessKey.INTERFACE_NAME, "getAllMockedResponse", - BusinessKey.CLIENT_UUID, String.valueOf(clientUUID), - BusinessKey.MESSAGE_ID, "all")); + BusinessKey.CLIENT_UUID, String.valueOf(clientUUID))); List mockedMessages = klausService.getAllMockedResponses(clientUUID); return new ResponseEntity<>(mockedMessages.toString(), HttpStatus.OK); } diff --git a/src/main/java/com/release11/klaus/repository/LogsRepository.java b/src/main/java/com/release11/klaus/repository/LogsRepository.java deleted file mode 100644 index bf803bc..0000000 --- a/src/main/java/com/release11/klaus/repository/LogsRepository.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.release11.klaus.repository; - -import com.release11.klaus.utilis.BusinessKey; -import org.springframework.stereotype.Repository; - -import java.time.ZonedDateTime; -import java.util.List; - -@Repository -public interface LogsRepository { - String getLogsByBusinessKeys(List businessKeys, ZonedDateTime zonedDateTime); -} diff --git a/src/main/resources/data-access.properties b/src/main/resources/data-access.properties index 27196b6..122952c 100644 --- a/src/main/resources/data-access.properties +++ b/src/main/resources/data-access.properties @@ -1,2 +1,2 @@ -redis.host = redis +redis.host = localhost redis.port = 6379 \ No newline at end of file diff --git a/src/test/java/com/release11/klaus/repository/EventRepositoryImplTest.java b/src/test/java/com/release11/klaus/repository/EventRepositoryImplTest.java new file mode 100644 index 0000000..0e85095 --- /dev/null +++ b/src/test/java/com/release11/klaus/repository/EventRepositoryImplTest.java @@ -0,0 +1,24 @@ +package com.release11.klaus.repository; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +import static org.junit.jupiter.api.Assertions.*; + +@SpringBootTest +class EventRepositoryImplTest { + + @BeforeEach + void setUp() { + } + + @Test + void findEvents() { + } + + @AfterEach + void tearDown() { + } +} \ No newline at end of file diff --git a/src/test/java/com/release11/klaus/repository/MockedResponseRedisRepositoryTest.java b/src/test/java/com/release11/klaus/repository/MockedResponseRedisRepositoryTest.java deleted file mode 100644 index ef69f89..0000000 --- a/src/test/java/com/release11/klaus/repository/MockedResponseRedisRepositoryTest.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.release11.klaus.repository; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import org.junit.jupiter.api.Test; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; - -@SpringBootTest -class MockedResponseRedisRepositoryTest { - @Autowired - ObjectMapper objectMapper; - - @Test - void getMockedResponse() throws JsonProcessingException { - - } - - @Test - void setMockedResponse() throws JsonProcessingException { - - } - - -} \ No newline at end of file diff --git a/src/test/java/com/release11/klaus/service/EtrackServiceImplTest.java b/src/test/java/com/release11/klaus/service/EtrackServiceImplTest.java new file mode 100644 index 0000000..7c99bf2 --- /dev/null +++ b/src/test/java/com/release11/klaus/service/EtrackServiceImplTest.java @@ -0,0 +1,107 @@ +package com.release11.klaus.service; + +import com.release11.klaus.model.Event; +import com.release11.klaus.model.EventRequestDto; +import com.release11.klaus.repository.EventRepository; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +import static org.hamcrest.Matchers.hasSize; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.*; + +@ExtendWith(MockitoExtension.class) +class EtrackServiceImplTest { + + @Mock + EventRepository eventRepository; + + @InjectMocks + EtrackServiceImpl etrackServiceImpl; + + EventRequestDto eventRequestDto; + List eventList = new ArrayList<>(); + + @BeforeEach + void setUp() { + UUID uuid1 = UUID.randomUUID(); + UUID uuid2 = UUID.randomUUID(); + + Event event1 = Event.builder() + .dateTimeStamp(LocalDateTime.of(2018, 9, 9, 0, 0)) + .interfaceName("getMockedResponse") + .clientUUID(String.valueOf(uuid1)) + .messageId(323) + .thread("superThread") + .level("INFO") + .message("Log message!") + .build(); + + Event event2 = Event.builder() + .dateTimeStamp(LocalDateTime.of(2020, 5, 2, 13, 22)) + .interfaceName("getAllMockedResponse") + .clientUUID(String.valueOf(uuid2)) + .thread("superThread") + .level("INFO") + .message("Log message!") + .build(); + + Event event3 = Event.builder() + .dateTimeStamp(LocalDateTime.of(2020, 3, 2, 16, 12)) + .interfaceName("setMockedResponse") + .clientUUID(String.valueOf(uuid1)) + .messageId(323) + .thread("superThread") + .level("INFO") + .message("MockedResponse has been setup successfully!") + .build(); + + Event event4 = Event.builder() + .dateTimeStamp(LocalDateTime.of(2020, 1, 2, 3,4,5)) + .interfaceName("deleteMockedResponse") + .clientUUID(String.valueOf(uuid1)) + .messageId(22) + .thread("superThread") + .level("INFO") + .message("Message 22 has been removed.") + .build(); + + eventList.add(event1); + eventList.add(event2); + eventList.add(event3); + eventList.add(event4); + + eventRequestDto = EventRequestDto.builder() + .clientUUID(uuid1) + .localDateTimeTo(LocalDateTime.now()) + .localDateTimeFrom(LocalDateTime.of(2010, 2, 3, 4, 5,6 )) + .mockedResponseId(323) + .build(); + } + + @Test + void getEventsByDateTimeAndBusinessKeys() { + when(eventRepository.findEvents(any(), any(), any())) + .thenReturn(eventList); + + List responseList = etrackServiceImpl.getEventsByDateTimeAndBusinessKeys(eventRequestDto); + assertThat(responseList, hasSize(4)); + + verify(eventRepository).findEvents(any(), any(), any()); + } + + @AfterEach + void tearDown() { reset(eventRepository); } +} diff --git a/src/test/java/com/release11/klaus/service/KlausServiceImplTest.java b/src/test/java/com/release11/klaus/service/KlausServiceImplTest.java index 8ab906b..595b9d8 100644 --- a/src/test/java/com/release11/klaus/service/KlausServiceImplTest.java +++ b/src/test/java/com/release11/klaus/service/KlausServiceImplTest.java @@ -1,50 +1,118 @@ package com.release11.klaus.service; +import com.release11.klaus.mappers.MockedMessageMapper; +import com.release11.klaus.mappers.MockedMessageMapperImpl; +import com.release11.klaus.model.MockedMessage; +import com.release11.klaus.model.MockedMessageDto; +import com.release11.klaus.repository.MockedResponseRepository; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; +import javax.ws.rs.core.MediaType; +import java.util.*; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.hasSize; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.*; -@SpringBootTest +@RunWith(SpringRunner.class) +@SpringBootTest(classes = {MockedMessageMapperImpl.class}) class KlausServiceImplTest { -// @Mock -// MockedResponseRedisRepository mockedResponseRedisRepository; -// -// @InjectMocks -// KlausServiceImpl klausServiceImpl; -// -// private final static UUID uuid = UUID.fromString("e4248095-100e-4f1f-8226-e722014ae29f"); -// private final static URI uri = URI.create("http//:localhost:8080"); -// private static ResponseEntity mockedResponseEntity; -// private static RequestEntity mockedRequestEntity; -// private static mockedMessage mockedMessage = new mockedMessage(uuid, 1, "application/xml", "body", -// new HttpHeaders(), 200); -// -// @BeforeAll -// public static void initializeMockEntities(){ -// HttpHeaders httpHeaders = new HttpHeaders(); -// mockedResponseEntity = new ResponseEntity("body", httpHeaders, HttpStatus.ACCEPTED); -// mockedRequestEntity = new RequestEntity(HttpMethod.POST, uri); -// } -// -// @Test -// void getMockedResponse() { -//// when(mockedResponseRedisRepository.getMockedResponse(any(), anyInt())) -//// .thenReturn(mockedResponseEntity); -//// -//// ResponseEntity responseEntity = klausServiceImpl.getMockedResponse(uuid, 1); -//// assertThat(responseEntity).isNotNull(); -//// verify(mockedResponseRedisRepository).getMockedResponse(any(), anyInt()); -// } -// -// @Test -// void setMockedResponse() { -// when(mockedResponseRedisRepository.setMockedResponse(any())) -// .thenReturn(mockedResponseEntity); -// -// ResponseEntity responseEntity = klausServiceImpl.setMockedResponse(mockedMessage); -// assertThat(responseEntity).isNotNull(); -// verify(mockedResponseRedisRepository).setMockedResponse(any()); -// } + @Mock + MockedResponseRepository mockedResponseRepository; + + @Mock private MockedMessageMapper mockedMessageMapper; + + @InjectMocks + KlausServiceImpl klausService; + + UUID uuid; + MockedMessage mockedMessage1; + Map httpHeaders; + MockedMessageDto mockedMessageDto1; + MockedMessageDto mockedMessageDto2; + MockedMessageDto mockedMessageDto3; + List mockedMessageList = new ArrayList<>(); + + @BeforeEach + void setUp() { + uuid = UUID.randomUUID(); + httpHeaders = new HashMap<>(); + mockedMessageDto1 = MockedMessageDto.builder() + .clientUUID(uuid) + .mockedResponseId(323) + .mediaType(MediaType.APPLICATION_JSON) + .messageBody("it's okey to be gey") + .httpHeaders(httpHeaders) + .httpStatus(200) + .build(); + + mockedMessageDto2 = MockedMessageDto.builder() + .clientUUID(uuid) + .mockedResponseId(3123) + .mediaType(MediaType.APPLICATION_JSON) + .messageBody("some random message") + .httpHeaders(httpHeaders) + .httpStatus(404) + .build(); + + mockedMessageDto3 = MockedMessageDto.builder() + .clientUUID(uuid) + .mockedResponseId(3233) + .mediaType(MediaType.APPLICATION_XML) + .messageBody("loooking good") + .httpHeaders(httpHeaders) + .httpStatus(205) + .build(); + + mockedMessage1 = new MockedMessage(); + mockedMessageList.add(mockedMessage1); + mockedMessageList.add(mockedMessage1); + mockedMessageList.add(mockedMessage1); + } + + @Test + void deleteMockedResponse() { + klausService.deleteMockedResponse(uuid, 323); + verify(mockedResponseRepository).deleteById(any()); + } + + @Test + void getAllMockedResponses() { + when(mockedResponseRepository.findAllByClientUUID(any())) + .thenReturn(mockedMessageList); + + assertThat(klausService.getAllMockedResponses(uuid), hasSize(3)); + verify(mockedResponseRepository).findAllByClientUUID(any()); + } + + @Test + void getMockedResponse() { + when(mockedResponseRepository.getByCompositePrimaryKey(any())) + .thenReturn(mockedMessage1); + + assertThat(klausService.getMockedResponse(uuid, 323)).isNotNull(); + verify(mockedResponseRepository).findById(any()); + } + + @Test + void setMockedResponse() { + klausService.setMockedResponse(mockedMessageDto1); + + verify(mockedResponseRepository).save(any()); + } + + + @AfterEach + void tearDown() { reset(mockedResponseRepository); } } \ No newline at end of file diff --git a/target/classes/com/release11/klaus/controller/KlausController.class b/target/classes/com/release11/klaus/controller/KlausController.class index 8428ca6..4b7eec5 100644 Binary files a/target/classes/com/release11/klaus/controller/KlausController.class and b/target/classes/com/release11/klaus/controller/KlausController.class differ diff --git a/target/classes/com/release11/klaus/repository/LogsRepository.class b/target/classes/com/release11/klaus/repository/LogsRepository.class deleted file mode 100644 index 0c36ee4..0000000 Binary files a/target/classes/com/release11/klaus/repository/LogsRepository.class and /dev/null differ diff --git a/target/test-classes/com/release11/klaus/service/KlausServiceImplTest.class b/target/test-classes/com/release11/klaus/service/KlausServiceImplTest.class index 62c6a81..92f7b7e 100644 Binary files a/target/test-classes/com/release11/klaus/service/KlausServiceImplTest.class and b/target/test-classes/com/release11/klaus/service/KlausServiceImplTest.class differ