Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
OTSWithFeign
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Siva Naga Someswara Jatla
OTSWithFeign
Commits
6f044282
Commit
6f044282
authored
Apr 09, 2020
by
Kali Padhi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Modifed Test Cases
parent
47d051e2
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
255 additions
and
115 deletions
+255
-115
ClientService.java
...m/nisum/offertransactionservice/client/ClientService.java
+97
-0
EndOfTransactionService.java
...ertransactionservice/service/EndOfTransactionService.java
+8
-40
OfferCallingPEService.java
...ffertransactionservice/service/OfferCallingPEService.java
+20
-38
ExceptionUtil.java
...com/nisum/offertransactionservice/util/ExceptionUtil.java
+1
-1
application.properties
src/main/resources/application.properties
+2
-2
ClientServiceTest.java
...sum/offertransactionservice/client/ClientServiceTest.java
+84
-0
EndOfSaleTest.java
.../nisum/offertransactionservice/service/EndOfSaleTest.java
+7
-5
EndOfTransactionTest.java
...offertransactionservice/service/EndOfTransactionTest.java
+21
-15
OfferServiceTest.java
...sum/offertransactionservice/service/OfferServiceTest.java
+15
-14
No files found.
src/main/java/com/nisum/offertransactionservice/client/ClientService.java
0 → 100644
View file @
6f044282
package
com
.
nisum
.
offertransactionservice
.
client
;
import
com.nisum.offertransactionservice.genericexception.GlobalApiGenericException
;
import
com.nisum.offertransactionservice.model.PERequest
;
import
com.nisum.offertransactionservice.model.PEResponse
;
import
com.safeway.epe.model.Response
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.MediaType
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.reactive.function.client.ClientResponse
;
import
org.springframework.web.reactive.function.client.ExchangeFilterFunction
;
import
org.springframework.web.reactive.function.client.WebClient
;
import
reactor.core.publisher.Flux
;
import
reactor.core.publisher.Mono
;
import
javax.annotation.PostConstruct
;
import
static
com
.
nisum
.
offertransactionservice
.
util
.
ExceptionUtil
.
handleError
;
@Component
@Slf4j
public
class
ClientService
{
private
WebClient
webClient
;
@Value
(
"${store.producer.url}"
)
private
String
storeConsumerUrl
;
@Value
(
"${store.producer.baseUrl}"
)
private
String
baseUrl
;
@Value
(
"${promotion.engine.calculate.discount.url}"
)
private
String
promotionEngineUrl
;
@Value
(
"${promotion.engine.baseUrl}"
)
private
String
peBaseUrl
;
@PostConstruct
public
void
init
()
{
webClient
=
WebClient
.
builder
().
baseUrl
(
peBaseUrl
).
defaultHeader
(
HttpHeaders
.
CONTENT_TYPE
,
MediaType
.
APPLICATION_JSON_VALUE
).
filter
(
logRequest
()).
filter
(
logResponse
()).
build
();
}
private
ExchangeFilterFunction
logRequest
()
{
return
ExchangeFilterFunction
.
ofRequestProcessor
(
clientRequest
->
{
log
.
info
(
"Store Consumer Request {}"
,
clientRequest
);
return
Mono
.
just
(
clientRequest
);
});
}
private
ExchangeFilterFunction
logResponse
()
{
return
ExchangeFilterFunction
.
ofResponseProcessor
(
clientResponse
->
{
log
.
info
(
"Store Consumer Request {}"
,
clientResponse
);
return
Mono
.
just
(
clientResponse
);
});
}
public
Mono
<
String
>
getStringMono
(
String
uuid
)
{
WebClient
build
=
WebClient
.
builder
().
baseUrl
(
baseUrl
).
build
();
return
build
.
post
().
uri
(
storeConsumerUrl
).
accept
(
MediaType
.
APPLICATION_JSON
).
//contentType(MediaType.APPLICATION_JSON).
body
(
Mono
.
just
(
uuid
),
String
.
class
).
retrieve
().
onStatus
(
HttpStatus:
:
is4xxClientError
,
clientResponse
->
handleError
(
clientResponse
)).
onStatus
(
HttpStatus:
:
is5xxServerError
,
clientResponse
->
handleError
(
clientResponse
)).
bodyToMono
(
String
.
class
);
}
public
PEResponse
getPeResponseFlux
(
PERequest
peRequest
)
{
return
webClient
.
post
().
uri
(
promotionEngineUrl
).
accept
(
MediaType
.
APPLICATION_JSON
).
contentType
(
MediaType
.
APPLICATION_JSON
).
body
(
Mono
.
just
(
peRequest
),
PERequest
.
class
).
retrieve
().
onStatus
(
HttpStatus:
:
is4xxClientError
,
clientResponse
->
handleError
(
clientResponse
)).
onStatus
(
HttpStatus:
:
is5xxServerError
,
clientResponse
->
handleError
(
clientResponse
)).
bodyToFlux
(
PEResponse
.
class
)
.
blockFirst
();
}
}
src/main/java/com/nisum/offertransactionservice/service/EndOfTransactionService.java
View file @
6f044282
package
com
.
nisum
.
offertransactionservice
.
service
;
package
com
.
nisum
.
offertransactionservice
.
service
;
import
com.nisum.offertransactionservice.client.ClientService
;
import
com.nisum.offertransactionservice.genericexception.GlobalApiGenericException
;
import
com.nisum.offertransactionservice.genericexception.GlobalApiGenericException
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.annotation.PropertySource
;
import
org.springframework.context.annotation.PropertySource
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.HttpHeaders
;
...
@@ -23,37 +25,11 @@ import static com.nisum.offertransactionservice.util.ExceptionUtil.handleError;
...
@@ -23,37 +25,11 @@ import static com.nisum.offertransactionservice.util.ExceptionUtil.handleError;
@Slf4j
@Slf4j
public
class
EndOfTransactionService
{
public
class
EndOfTransactionService
{
private
WebClient
webClient
;
@Value
(
"${store.producer.url}"
)
private
String
storeConsumerUrl
;
@
Value
(
"${store.producer.baseUrl}"
)
@
Autowired
private
String
baseUrl
;
ClientService
clientService
;
@PostConstruct
public
void
init
()
{
webClient
=
WebClient
.
builder
().
baseUrl
(
baseUrl
).
defaultHeader
(
HttpHeaders
.
CONTENT_TYPE
,
MediaType
.
APPLICATION_JSON_VALUE
).
filter
(
logRequest
()).
filter
(
logResponse
()).
build
();
}
private
ExchangeFilterFunction
logRequest
()
{
return
ExchangeFilterFunction
.
ofRequestProcessor
(
clientRequest
->
{
log
.
info
(
"Store Consumer Request {}"
,
clientRequest
);
return
Mono
.
just
(
clientRequest
);
});
}
private
ExchangeFilterFunction
logResponse
()
{
return
ExchangeFilterFunction
.
ofResponseProcessor
(
clientResponse
->
{
log
.
info
(
"Store Consumer Request {}"
,
clientResponse
);
return
Mono
.
just
(
clientResponse
);
});
}
public
String
endOfTransaction
(
String
uuid
)
{
public
String
endOfTransaction
(
String
uuid
)
{
if
(
Objects
.
isNull
(
uuid
)
||
uuid
.
isEmpty
())
{
if
(
Objects
.
isNull
(
uuid
)
||
uuid
.
isEmpty
())
{
...
@@ -61,22 +37,14 @@ public class EndOfTransactionService {
...
@@ -61,22 +37,14 @@ public class EndOfTransactionService {
throw
new
GlobalApiGenericException
(
"Unable to get the Offer transaction uuid "
,
new
Exception
(
"exception e"
),
"400"
,
false
);
throw
new
GlobalApiGenericException
(
"Unable to get the Offer transaction uuid "
,
new
Exception
(
"exception e"
),
"400"
,
false
);
}
}
log
.
info
(
"Store Consumer WebClient call Start"
);
log
.
info
(
"Store Consumer WebClient call Start"
);
Mono
<
String
>
endOfTransactionRes
=
getStringMono
(
uuid
);
Mono
<
String
>
endOfTransactionRes
=
clientService
.
getStringMono
(
uuid
);
log
.
debug
(
"Store consumer WebClient call End"
);
log
.
debug
(
"Store consumer WebClient call End"
);
return
endOfTransactionRes
.
toString
();
return
endOfTransactionRes
.
toString
();
}
}
public
Mono
<
String
>
getStringMono
(
String
uuid
)
{
return
webClient
.
post
().
uri
(
storeConsumerUrl
).
accept
(
MediaType
.
APPLICATION_JSON
).
contentType
(
MediaType
.
APPLICATION_JSON
).
body
(
Mono
.
just
(
uuid
),
String
.
class
).
retrieve
().
onStatus
(
HttpStatus:
:
is4xxClientError
,
clientResponse
->
handleError
(
clientResponse
)).
onStatus
(
HttpStatus:
:
is5xxServerError
,
clientResponse
->
handleError
(
clientResponse
)).
bodyToMono
(
String
.
class
);
}
}
}
src/main/java/com/nisum/offertransactionservice/service/OfferCallingPEService.java
View file @
6f044282
package
com
.
nisum
.
offertransactionservice
.
service
;
package
com
.
nisum
.
offertransactionservice
.
service
;
import
com.nisum.offertransactionservice.client.ClientService
;
import
com.nisum.offertransactionservice.converter.OfferConverter
;
import
com.nisum.offertransactionservice.converter.OfferConverter
;
import
com.nisum.offertransactionservice.converter.PEResponseToOfferTransactionResConverter
;
import
com.nisum.offertransactionservice.converter.PEResponseToOfferTransactionResConverter
;
import
com.nisum.offertransactionservice.dao.OfferLookupRepo
;
import
com.nisum.offertransactionservice.dao.OfferLookupRepo
;
...
@@ -34,24 +35,23 @@ public class OfferCallingPEService {
...
@@ -34,24 +35,23 @@ public class OfferCallingPEService {
@Autowired
@Autowired
private
PEResponseToOfferTransactionResConverter
peResponseToOfferTransactionResConverter
;
private
PEResponseToOfferTransactionResConverter
peResponseToOfferTransactionResConverter
;
private
WebClient
webClient
;
@Autowired
ClientService
clientService
;
@Value
(
"${promotion.engine.calculate.discount.url}"
)
private
String
promotionEngineUrl
;
// private WebClient webClient;
@Value
(
"${promotion.engine.baseUrl}"
)
//
private
String
baseUrl
;
//
//
// @PostConstruct
@PostConstruct
// public void init() {
public
void
init
()
{
// webClient = WebClient.builder().baseUrl(baseUrl).
webClient
=
WebClient
.
builder
().
baseUrl
(
baseUrl
).
// defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE).
defaultHeader
(
HttpHeaders
.
CONTENT_TYPE
,
MediaType
.
APPLICATION_JSON_VALUE
).
// filter(logRequest()).
filter
(
logRequest
()).
// filter(logResponse()).
filter
(
logResponse
()).
// build();
build
();
// }
}
//
private
ExchangeFilterFunction
logRequest
()
{
private
ExchangeFilterFunction
logRequest
()
{
return
ExchangeFilterFunction
.
ofRequestProcessor
(
clientRequest
->
{
return
ExchangeFilterFunction
.
ofRequestProcessor
(
clientRequest
->
{
...
@@ -80,30 +80,12 @@ public class OfferCallingPEService {
...
@@ -80,30 +80,12 @@ public class OfferCallingPEService {
PERequest
peRequest
=
offerConverter
.
apply
(
offerTransactionRequest
);
PERequest
peRequest
=
offerConverter
.
apply
(
offerTransactionRequest
);
peRequest
.
setEligibleOffers
(
eligibleOffer
);
peRequest
.
setEligibleOffers
(
eligibleOffer
);
log
.
info
(
"Promotional Engine WebClient call Start"
);
log
.
info
(
"Promotional Engine WebClient call Start"
);
Flux
<
PEResponse
>
peResponseFlux
=
getPeResponseFlux
(
peRequest
);
PEResponse
peResponseFlux
=
clientService
.
getPeResponseFlux
(
peRequest
);
log
.
debug
(
"Promotional Engine WebClient call End"
);
log
.
debug
(
"Promotional Engine WebClient call End"
);
offerTransactionResponse
=
peResponseToOfferTransactionResConverter
.
apply
(
peResponseFlux
.
toStream
().
findFirst
().
get
()
);
offerTransactionResponse
=
peResponseToOfferTransactionResConverter
.
apply
(
peResponseFlux
);
log
.
debug
(
"Offer Transaction Response {}"
,
offerTransactionResponse
);
log
.
debug
(
"Offer Transaction Response {}"
,
offerTransactionResponse
);
return
offerTransactionResponse
;
return
offerTransactionResponse
;
}
}
public
Flux
<
PEResponse
>
getPeResponseFlux
(
PERequest
peRequest
)
{
return
webClient
.
post
().
uri
(
promotionEngineUrl
).
accept
(
MediaType
.
APPLICATION_JSON
).
contentType
(
MediaType
.
APPLICATION_JSON
).
body
(
Mono
.
just
(
peRequest
),
PERequest
.
class
).
retrieve
().
onStatus
(
HttpStatus:
:
is4xxClientError
,
clientResponse
->
handleError
(
clientResponse
)).
onStatus
(
HttpStatus:
:
is5xxServerError
,
clientResponse
->
handleError
(
clientResponse
)).
bodyToFlux
(
PEResponse
.
class
);
}
private
Mono
<?
extends
Throwable
>
handleError
(
ClientResponse
clientResponse
)
throws
GlobalApiGenericException
{
final
Mono
<
Response
>
responseMono
=
clientResponse
.
bodyToMono
(
Response
.
class
);
return
responseMono
.
flatMap
(
response
->
{
log
.
error
(
"Error Response While Calling PE Service {}"
,
response
);
throw
new
GlobalApiGenericException
(
response
,
response
.
getHttpStatusCode
());
});
}
}
}
src/main/java/com/nisum/offertransactionservice/util/ExceptionUtil.java
View file @
6f044282
...
@@ -13,7 +13,7 @@ public class ExceptionUtil {
...
@@ -13,7 +13,7 @@ public class ExceptionUtil {
public
static
Mono
<?
extends
Throwable
>
handleError
(
ClientResponse
clientResponse
)
throws
GlobalApiGenericException
{
public
static
Mono
<?
extends
Throwable
>
handleError
(
ClientResponse
clientResponse
)
throws
GlobalApiGenericException
{
final
Mono
<
Response
>
responseMono
=
clientResponse
.
bodyToMono
(
Response
.
class
);
final
Mono
<
Response
>
responseMono
=
clientResponse
.
bodyToMono
(
Response
.
class
);
return
responseMono
.
flatMap
(
response
->
{
return
responseMono
.
flatMap
(
response
->
{
log
.
error
(
"Error Response While Calling S
tore Consumer S
ervice {}"
,
response
);
log
.
error
(
"Error Response While Calling Service {}"
,
response
);
throw
new
GlobalApiGenericException
(
response
,
response
.
getHttpStatusCode
());
throw
new
GlobalApiGenericException
(
response
,
response
.
getHttpStatusCode
());
});
});
}
}
...
...
src/main/resources/application.properties
View file @
6f044282
spring.datasource.url
=
jdbc:postgresql://127.0.0.1:5432/
user
spring.datasource.url
=
jdbc:postgresql://127.0.0.1:5432/
postgres
spring.datasource.username
=
user
spring.datasource.username
=
user
spring.datasource.password
=
password123
spring.datasource.password
=
password123
promotion.engine.calculate.discount.url
=
/promotionEngine/calculateDiscount
promotion.engine.calculate.discount.url
=
/promotionEngine/calculateDiscount
promotion.engine.baseUrl
=
http://localhost:8081
promotion.engine.baseUrl
=
http://localhost:8081
store.producer.url
=
/store/producer
store.producer.url
=
/store/producer
//
TODO
:
change the baseUrl post confirmation from Amar
//
TODO
:
change the baseUrl post confirmation from Amar
store.producer.baseUrl
=
http://localhost:8081
store.producer.baseUrl
=
http://localhost:8083
\ No newline at end of file
\ No newline at end of file
src/test/java/com/nisum/offertransactionservice/client/ClientServiceTest.java
0 → 100644
View file @
6f044282
package
com
.
nisum
.
offertransactionservice
.
client
;
import
com.safeway.epe.model.Employee
;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.mockito.InjectMocks
;
import
org.mockito.Mock
;
import
org.mockito.MockitoAnnotations
;
import
org.mockito.junit.MockitoJUnitRunner
;
import
org.springframework.test.util.ReflectionTestUtils
;
import
org.springframework.test.web.reactive.server.WebTestClient
;
import
org.springframework.web.reactive.function.client.WebClient
;
import
reactor.core.publisher.Mono
;
import
static
org
.
mockito
.
Mockito
.
when
;
@RunWith
(
MockitoJUnitRunner
.
class
)
public
class
ClientServiceTest
{
@Mock
WebTestClient
webTestClient
;
@Before
public
void
setUp
()
throws
Exception
{
MockitoAnnotations
.
initMocks
(
this
);
}
@Mock
private
WebClient
webClientMock
;
@Mock
private
WebClient
.
RequestHeadersSpec
requestHeadersMock
;
@Mock
private
WebClient
.
RequestHeadersUriSpec
requestHeadersUriMock
;
@Mock
private
WebClient
.
RequestBodySpec
requestBodyMock
;
@Mock
private
WebClient
.
RequestBodyUriSpec
requestBodyUriMock
;
@Mock
private
WebClient
.
ResponseSpec
responseMock
;
@InjectMocks
ClientService
clientService
;
@Test
public
void
getStringMonoTest
(){
String
uuid
=
"86fd4146-0540-405b-b621-a95f4ccdfa0d"
;
ReflectionTestUtils
.
setField
(
clientService
,
"storeConsumerUrl"
,
"/store/producer"
);
// when(webClientMock.post()).thenReturn(requestBodyUriMock);
// when(requestHeadersUriMock.uri("/store/producer")).thenReturn(requestHeadersMock);
// when(requestHeadersMock.retrieve()).thenReturn(responseMock);
// when(responseMock.bodyToMono(String.class)).thenReturn(Mono.just(uuid));
when
(
webClientMock
.
post
()).
thenReturn
(
requestBodyUriMock
);
when
(
requestBodyUriMock
.
uri
(
"/store/producer"
)).
thenReturn
(
requestBodyMock
);
when
(
requestBodyMock
.
bodyValue
(
Mono
.
just
(
uuid
))).
thenReturn
(
requestHeadersMock
);
when
(
requestHeadersMock
.
retrieve
()).
thenReturn
(
responseMock
);
when
(
responseMock
.
bodyToMono
(
String
.
class
)).
thenReturn
(
Mono
.
just
(
uuid
));
Mono
<
String
>
employeeMono
=
clientService
.
getStringMono
(
uuid
);
}
}
src/test/java/com/nisum/offertransactionservice/service/EndOfSaleTest.java
View file @
6f044282
...
@@ -7,10 +7,7 @@ import org.junit.Assert;
...
@@ -7,10 +7,7 @@ import org.junit.Assert;
import
org.junit.Before
;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.junit.runner.RunWith
;
import
org.mockito.ArgumentMatchers
;
import
org.mockito.*
;
import
org.mockito.Mock
;
import
org.mockito.Mockito
;
import
org.mockito.MockitoAnnotations
;
import
org.mockito.junit.MockitoJUnitRunner
;
import
org.mockito.junit.MockitoJUnitRunner
;
import
java.io.IOException
;
import
java.io.IOException
;
...
@@ -23,7 +20,12 @@ import java.util.stream.Collectors;
...
@@ -23,7 +20,12 @@ import java.util.stream.Collectors;
public
class
EndOfSaleTest
{
public
class
EndOfSaleTest
{
@Mock
@Mock
private
EndOfSaleService
endOfSaleServiceMock
;
@InjectMocks
private
EndOfSaleService
endOfSaleService
;
private
EndOfSaleService
endOfSaleService
;
@Mock
@Mock
private
EndOfSaleRepo
endOfSaleRepo
;
private
EndOfSaleRepo
endOfSaleRepo
;
...
@@ -35,7 +37,7 @@ public class EndOfSaleTest {
...
@@ -35,7 +37,7 @@ public class EndOfSaleTest {
@Test
@Test
public
void
putEndofSaleResInDbTest
()
throws
IOException
{
public
void
putEndofSaleResInDbTest
()
throws
IOException
{
EndOfSaleReq
endOfSaleReq
=
getEndOfSaleReq
();
EndOfSaleReq
endOfSaleReq
=
getEndOfSaleReq
();
Mockito
.
doNothing
().
when
(
endOfSaleRepo
.
save
(
ArgumentMatchers
.
any
()
));
Mockito
.
when
(
endOfSaleRepo
.
save
(
ArgumentMatchers
.
any
())).
thenReturn
(
ArgumentMatchers
.
any
(
));
UUID
uuid
=
endOfSaleService
.
putEndofSaleResInDb
(
endOfSaleReq
);
UUID
uuid
=
endOfSaleService
.
putEndofSaleResInDb
(
endOfSaleReq
);
Assert
.
assertNotNull
(
uuid
);
Assert
.
assertNotNull
(
uuid
);
}
}
...
...
src/test/java/com/nisum/offertransactionservice/service/EndOfTransactionTest.java
View file @
6f044282
package
com
.
nisum
.
offertransactionservice
.
service
;
package
com
.
nisum
.
offertransactionservice
.
service
;
import
com.nisum.offertransactionservice.client.ClientService
;
import
org.junit.Assert
;
import
org.junit.Assert
;
import
org.junit.Before
;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.junit.runner.RunWith
;
import
org.mockito.Mock
;
import
org.mockito.*
;
import
org.mockito.Mockito
;
import
org.mockito.MockitoAnnotations
;
import
org.mockito.junit.MockitoJUnitRunner
;
import
org.mockito.junit.MockitoJUnitRunner
;
import
org.springframework.http.MediaType
;
import
org.springframework.test.web.reactive.server.WebTestClient
;
import
org.springframework.test.web.reactive.server.WebTestClient
;
import
reactor.core.publisher.Mono
;
import
reactor.core.publisher.Mono
;
...
@@ -17,7 +15,15 @@ import reactor.core.publisher.Mono;
...
@@ -17,7 +15,15 @@ import reactor.core.publisher.Mono;
public
class
EndOfTransactionTest
{
public
class
EndOfTransactionTest
{
@Mock
@Mock
private
EndOfTransactionService
endOfTransactionService
;
private
EndOfTransactionService
endOfTransactionServiceMock
;
@InjectMocks
@Spy
private
EndOfTransactionService
endOfTransactionService
=
new
EndOfTransactionService
();
@Mock
ClientService
clientService
;;
@Mock
@Mock
private
WebTestClient
webTestClient
;
private
WebTestClient
webTestClient
;
...
@@ -27,20 +33,20 @@ public class EndOfTransactionTest {
...
@@ -27,20 +33,20 @@ public class EndOfTransactionTest {
MockitoAnnotations
.
initMocks
(
this
);
MockitoAnnotations
.
initMocks
(
this
);
}
}
@Test
//
@Test
public
void
getStringMonoTest
()
{
//
public void getStringMonoTest() {
String
uuid
=
"86fd4146-0540-405b-b621-a95f4ccdfa0d"
;
//
String uuid = "86fd4146-0540-405b-b621-a95f4ccdfa0d";
webTestClient
.
post
().
uri
(
"http://localhost:8081/store/producer"
)
//
webTestClient.post().uri("http://localhost:8081/store/producer")
.
contentType
(
MediaType
.
APPLICATION_JSON
)
//
.contentType(MediaType.APPLICATION_JSON)
.
body
(
Mono
.
just
(
uuid
),
String
.
class
)
//
.body(Mono.just(uuid), String.class)
.
exchange
()
//
.exchange()
.
expectBody
().
json
(
""
);
//
.expectBody().json("");
}
//
}
@Test
@Test
public
void
endOfTransaction
()
{
public
void
endOfTransaction
()
{
String
uuid
=
"86fd4146-0540-405b-b621-a95f4ccdfa0d"
;
String
uuid
=
"86fd4146-0540-405b-b621-a95f4ccdfa0d"
;
Mockito
.
when
(
endOfTransactionService
.
getStringMono
(
uuid
)).
thenReturn
(
Mono
.
just
(
"
"
));
Mockito
.
when
(
clientService
.
getStringMono
(
ArgumentMatchers
.
any
())).
thenReturn
(
Mono
.
just
(
"test
"
));
Assert
.
assertNotNull
(
endOfTransactionService
.
endOfTransaction
(
uuid
));
Assert
.
assertNotNull
(
endOfTransactionService
.
endOfTransaction
(
uuid
));
}
}
}
}
src/test/java/com/nisum/offertransactionservice/service/OfferServiceTest.java
View file @
6f044282
package
com
.
nisum
.
offertransactionservice
.
service
;
package
com
.
nisum
.
offertransactionservice
.
service
;
import
com.nisum.offertransactionservice.client.ClientService
;
import
com.nisum.offertransactionservice.converter.OfferConverter
;
import
com.nisum.offertransactionservice.converter.OfferConverter
;
import
com.nisum.offertransactionservice.converter.PEResponseToOfferTransactionResConverter
;
import
com.nisum.offertransactionservice.converter.PEResponseToOfferTransactionResConverter
;
import
com.nisum.offertransactionservice.dao.OfferLookupRepo
;
import
com.nisum.offertransactionservice.dao.OfferLookupRepo
;
...
@@ -14,11 +15,8 @@ import org.springframework.beans.factory.annotation.Value;
...
@@ -14,11 +15,8 @@ import org.springframework.beans.factory.annotation.Value;
import
org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebTestClient
;
import
org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebTestClient
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.context.annotation.PropertySource
;
import
org.springframework.context.annotation.PropertySource
;
import
org.springframework.http.MediaType
;
import
org.springframework.test.annotation.DirtiesContext
;
import
org.springframework.test.annotation.DirtiesContext
;
import
org.springframework.test.web.reactive.server.WebTestClient
;
import
org.springframework.test.web.reactive.server.WebTestClient
;
import
reactor.core.publisher.Flux
;
import
reactor.core.publisher.Mono
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
...
@@ -54,23 +52,26 @@ public class OfferServiceTest {
...
@@ -54,23 +52,26 @@ public class OfferServiceTest {
MockitoAnnotations
.
initMocks
(
this
);
MockitoAnnotations
.
initMocks
(
this
);
}
}
@Test
public
void
getPeResponseFluxTest
()
{
@Mock
webTestClient
.
post
().
uri
(
"hhtp://localhost:8081/"
+
promotionEngineUrl
)
ClientService
clientService
;
.
contentType
(
MediaType
.
APPLICATION_JSON
)
.
body
(
Mono
.
just
(
getPEReq
()),
PERequest
.
class
)
// @Test
.
exchange
()
// public void getPeResponseFluxTest() {
.
expectBody
()
// webTestClient.post().uri("hhtp://localhost:8081/" + promotionEngineUrl)
.
jsonPath
(
"$.hhid"
).
isEqualTo
(
"123"
);
// .contentType(MediaType.APPLICATION_JSON)
}
// .body(Mono.just(getPEReq()), PERequest.class)
// .exchange()
// .expectBody()
// .jsonPath("$.hhid").isEqualTo("123");
// }
@Test
@Test
public
void
serviceTest
()
{
public
void
serviceTest
()
{
OfferTransactionRequest
offerTransactionRequest
=
getOfferTransactionRequest
();
OfferTransactionRequest
offerTransactionRequest
=
getOfferTransactionRequest
();
Mockito
.
when
(
offerLookupRepo
.
findAll
()).
thenReturn
(
returnOffers
());
Mockito
.
when
(
offerLookupRepo
.
findAll
()).
thenReturn
(
returnOffers
());
Mockito
.
when
(
offerConverter
.
apply
(
getOfferTransactionRequest
())).
thenReturn
(
getPEReq
());
Mockito
.
when
(
offerConverter
.
apply
(
getOfferTransactionRequest
())).
thenReturn
(
getPEReq
());
Mockito
.
when
(
offerCallingPEService
.
getPeResponseFlux
(
getPEReq
()))
Mockito
.
when
(
clientService
.
getPeResponseFlux
(
ArgumentMatchers
.
any
())).
thenReturn
(
getPeResponse
());
.
thenReturn
(
Flux
.
just
(
getPeResponse
()));
Mockito
.
when
(
peResponseToOfferTransactionResConverter
.
apply
(
getPeResponse
())).
thenReturn
(
retOfferTransRes
());
Mockito
.
when
(
peResponseToOfferTransactionResConverter
.
apply
(
getPeResponse
())).
thenReturn
(
retOfferTransRes
());
OfferTransactionResponse
offerTransactionResponse
=
offerCallingPEService
.
getDiscountedItemList
(
offerTransactionRequest
);
OfferTransactionResponse
offerTransactionResponse
=
offerCallingPEService
.
getDiscountedItemList
(
offerTransactionRequest
);
Assert
.
assertEquals
(
offerTransactionResponse
,
retOfferTransRes
());
Assert
.
assertEquals
(
offerTransactionResponse
,
retOfferTransRes
());
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment