From 76cab9630f17998bad0d2e228e1e9e407596b2c4 Mon Sep 17 00:00:00 2001 From: Szakalakamaka Date: Fri, 9 Oct 2020 16:56:48 +0200 Subject: [PATCH] unit tests --- .idea/workspace.xml | 129 +++++++-------- .../klaus/controller/KlausController.java | 3 +- .../klaus/repository/LogsRepository.java | 12 -- src/main/resources/data-access.properties | 2 +- .../repository/EventRepositoryImplTest.java | 24 +++ .../MockedResponseRedisRepositoryTest.java | 25 --- .../klaus/service/EtrackServiceImplTest.java | 107 +++++++++++++ .../klaus/service/KlausServiceImplTest.java | 148 +++++++++++++----- .../klaus/controller/KlausController.class | Bin 6415 -> 6503 bytes .../klaus/repository/LogsRepository.class | Bin 513 -> 0 bytes .../klaus/service/KlausServiceImplTest.class | Bin 438 -> 5412 bytes 11 files changed, 307 insertions(+), 143 deletions(-) delete mode 100644 src/main/java/com/release11/klaus/repository/LogsRepository.java create mode 100644 src/test/java/com/release11/klaus/repository/EventRepositoryImplTest.java delete mode 100644 src/test/java/com/release11/klaus/repository/MockedResponseRedisRepositoryTest.java create mode 100644 src/test/java/com/release11/klaus/service/EtrackServiceImplTest.java delete mode 100644 target/classes/com/release11/klaus/repository/LogsRepository.class 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 8428ca67137fcc582221c6e49ac772fdfb4fb936..4b7eec5bff25d9ab93c44cf0d82e8a3d972b9833 100644 GIT binary patch delta 1725 zcmZ8hYgANK6#mZ4ow+l24u~@>WDs2uATSKf5-k%;1WZJQ0+ngdB8mwx8jOL=9!^Q` zEVa}7X-_LF5M&sjkX~v;_I_trR%S0{^}AO4T*k@eVx8HWefK?kf8YN0-CA(8KpXvc za2P-#CU$EHN}LT&EaFH-F@sOkv2t<3q&hm_xn$RrPnP;baaV19! zmNUdR`r9k~!C-x(zofNcqr5l3(TeqA*zB^kA*iCAqXXB7zs)(?wHyi9$dH{aw%Jle zmueH;M#X%+?Cb{NRU6qRu~$v9wBaV1d9ygAPLJ=zEh=v1xDB^6%pyS3#o;M7;kFc7 zs&FUAUAS8WEa#fH84MQegb6PSPhv^vC5oj`6gUG`q!CkR z!a=?h>BykJm-Qz``kjqkc!jL=Ud3y4kMz3GO;vW2Z#7UD6aaeY7|@G7WaBBZk4|_E zSP=b)P%O?sfdO(@Xwr}#2W3kX+5!c#oVy3ieqIl(xe@RPiXxcl+JlVT0hAa}F$9m# z9mbL#%<0GcZpt@8LP?@qKtQc8raVuMDl5kdtMTx1QN+T+VQ042#%0eYC zjGBE&md2_0B3SDk#AP5>t}swf9v?ke=agAjg>iKR8z^H0bNg}K|Cn9Ss6YW>oz+PN++a;(cA5wHU((RHl;DB6%{! zlq0joa4^c35iCRJX{w@2NG``HoiRF-a{4ePr;l{rLUKz!)`?3|VtUed1)tFWpVs0t zdYRFO=5vy#l-NSD2C|x~ACJ3o`;Z|gW6(K}>kcIA7?UQmVq@3zPXg2XBZ+4dNftDJ zL0Vz@y=nTpwAl8{2%hN0v+`PY%C*x7<(GP?uXGfo4tz}~9K<*HmLAAe`i=-Yf}iml Pey4~=kw5SkPQdvepO;aH delta 1678 zcmaKsdsI|a6vlsdn3+3sxgrcKV9YEP5(bs!qf9a%;0qEWPz=FHhee%L!fVbn70p(&O<>|JJ0?P>nqveiC!a9XR?>W_2wx%=$1&;Gvi?R#|S`k~hT zzjo{biuhxTmFiCSG1efdzNsmh0*Y-)7_Zj4$0Sc=lF4M7Qp(gJ_XuN(vOU@U3Y#fh zXfQ^daHXrUp25aNs>PGvr;=)$^O!2B^73meYM5?vu}v*?1|c=h6H-S!1CnPl%j6Q9 z+00P^Zu#p5NTi6t1anS{^R1U#!c%TNiYXTH}v+@3UFS z{pzHDX6i($EjICx$-_2}@Ti(^Re2w`d4ea~c3Yih%9j>jaoFT*nLZbG#N=0%mJxFQZqR3AdX_pI zFx9M#l)e*111@^$t7H`*k9@IS417F=ho{xLjACQ6I+$@r^cmSXlO&mk@GQ@X)vM=u zL8A5QMP8CzFU#8R5;x+2EizoR(k3=V0=LT8HUlF)HNirS>{a1g<$d% zB28=-1L?;g{trt(da{F^QuZry)|Sc~Pc^T0!}Aypyg0O7323h+pmjRXOd|nmije7c zKphuQx}-)8>H@VXqj$7CiHe<6)^<=;no#0n2l33Dn+ zJZfX&Q5(A-HCKKJyLnwm9V`dm;7vjEmRypIags8V8dK!=ua`gd;(HRb?ETLd4@w`r z-TmYzM0Q@uTc_E%MlH%ZJ-SM`si`gK9b;9{-OhFG+|;ll8=v=Dn}&k9QrzErKtnCF&=E=F`d?MsEw!15|kf{&&4MW3K0dL%Geg+ cGd`CM-9ldoVc+sSKk>78Eb;upZyYE1H{E4Q?*IS* 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 0c36ee47fdb7c125bfb6bf4fe475c5d9f249a345..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 513 zcmb7B!A=4(5S^|Hf}kYEgMXkg+HiH%L}I+SMgzu!w*q4=EG=ngHS4E&@B{oP;}jAF z7=S!J69lGDJ3abKI zBlWCguB?_f{SgjGz>Y?Wot?5%1YHfSjqwSG5R;Mg=jr8P(x5}#t5_+a=^p_NxuZt`KYCWT^qQav9{agJc`^#+{&IGwI zd3yHGIqN-F_yJy;oMpF{cXkvvAYiv!*l7FS1k=y)+*(J9jI-?NAah>JFpaJsqtzGZ z$1<>CbW~1J{#+of2oSKs7X%P|j5Vl00#!z}1lD8XsBgwmlm?G{SXrX;jUFlS4#FxkA>on&@qnVC(S zs#H-CZ&dKC2YBHHqGX$ZV8sJO@y7e6>VM(K?>n=bolPcw+K>HVcV^yspXd2L=leYK z(tn76Q zro3-jdW-8C6Gu$XPe4WWA}ofc;tCB*uvEbfDJQGD!V-ojwrb1{JOutLp!wWNf(O2buHt)M2KH-{@_1bbAxhG@#1+YK+%Y2*@E6RP=I4cDMS z!QzbX=h}raEL=~)(ugSTCeroTpkkwj*Wp?P&2a|FI>W-!JEM9Z^c@B2P~No2R>2{v zaPgEIXR~Sz`4CJanp8AvxDJ~YwEq7rY3h_^3fm7&J|GU?-awP(KnG3wb)BUMlNTWDZ@7%TOaitTe@nWhMT~&Ta+#B zRd6(lv)6Y`JDt2NFl%uO^V;+`c@55(m}u~wh9S|A784RltA+y-$>MC7maWcku-+zf z;E;m;sNZGSUlvGGa=V5O>9T~(vR>ct^PXHjtl=~Vc#y^!G40_N%W9oC5IKF;&+%LI;4d}~r|}^TAI3vG z_)lg818{GwC8N4}etu|(>8N+xX@}R|;xlvLBlxI_k7@Y0WVrESh^VVixjn+qyR7m# zd{V<%sng1|@TpQ|FtXTv8lO?|Sq+ciQErkVGDbG#vRTs0##b|j*K3{@3RcVGFK!nD z?DP17iZ5#T5+37`6t}6xW417n5=L;-mofNoU5tg|MKlFo`ih3H;%iJ3YD5n?*&sc{ z?XH!L`3N{0# z*X8(KdCOwmXR^hTvu}>5yJ}X{ap>u z<9oEXH`m^SjhABG5VMz)y~~JeWW`Cx9nJekZry7dU?%kB$tEiXOwSy$M2l@Z>>omh)dhBome(Y!ihQ0K zJ=n(NWM{cGUbo<_SJ}0PB;>TZf_;ZA=O`JZ9^WnMHPbfx7?;VqGtw@Tcwa=3Vp7aq zxtTnY5jt7d_QhkIJ69wnb`cjNVt6l4WxipNg39F;hOTfxLD(7OosTj zSP}D`t#X#5qy_X)e@?;rz#gM{j*h`ROD6b3&TC= zoMg#fH_y(N5i%}vOY}Nv*s2V>8yhhW^UfL35|g>X!;VLzmKDRg(qJf=F6~6@}_+xtm1wZE9LSBEuYZYF`PiL(`wr-KN zpK%}LG#y;oSq4{5$K3OC-dEul{Aafvtg{~uuIy-oE58)X?E57@B0zqK;L5LfcQdMa z2P|to2c`KLsK?G>(IgU2a;*x#=D+-W0jxz0uE#69)587u4Svff;CJLzC3z|L7kOQ1 zp2D(8)RWyBvRgZetGTkS`6<*FuxYt+U<%h4u)S_i0m-`k1+?(Z)dd_}ju(SBw-#{Q zB)XzB+V&_-PlQH!C_>X$LGwtFW>CsG7NNn*5t`$Kd4e$So`gXl3I2>}h$;;Jucxwo z?&X9A&dn;ep$^;m^|8PzUeZ7&2jqz7cR}|pzEXBZbUw%S4o zhusqqw;@*CA7{kvVO~ogEvWEZN%yxD{*Hg}=GEg+Qn-MBa#MoOjYRn`Ec!1tSsii! delta 149 zcmZ3YwT+qU)W2Q(7#J9=7=$KrnJ^kmPGk|8ypBzRB_y@DWb!ZGoXHRQG$%jik(sQ| zFE+W3UooCRfq|WY38;mEff0yV8Q6d{Cy=ENq`@Lu+Zh-)0tJ{DxPT-`nt_3Xfg4Ej XKokIJUa&kLnB->=0Ma0Jf(#4*G$a(I