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
;
import
com.nisum.offertransactionservice.client.ClientService
;
import
com.nisum.offertransactionservice.genericexception.GlobalApiGenericException
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.annotation.PropertySource
;
import
org.springframework.http.HttpHeaders
;
...
...
@@ -23,37 +25,11 @@ import static com.nisum.offertransactionservice.util.ExceptionUtil.handleError;
@Slf4j
public
class
EndOfTransactionService
{
private
WebClient
webClient
;
@Value
(
"${store.producer.url}"
)
private
String
storeConsumerUrl
;
@
Value
(
"${store.producer.baseUrl}"
)
private
String
baseUrl
;
@
Autowired
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
)
{
if
(
Objects
.
isNull
(
uuid
)
||
uuid
.
isEmpty
())
{
...
...
@@ -61,22 +37,14 @@ public class EndOfTransactionService {
throw
new
GlobalApiGenericException
(
"Unable to get the Offer transaction uuid "
,
new
Exception
(
"exception e"
),
"400"
,
false
);
}
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"
);
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
;
import
com.nisum.offertransactionservice.client.ClientService
;
import
com.nisum.offertransactionservice.converter.OfferConverter
;
import
com.nisum.offertransactionservice.converter.PEResponseToOfferTransactionResConverter
;
import
com.nisum.offertransactionservice.dao.OfferLookupRepo
;
...
...
@@ -34,24 +35,23 @@ public class OfferCallingPEService {
@Autowired
private
PEResponseToOfferTransactionResConverter
peResponseToOfferTransactionResConverter
;
private
WebClient
webClient
;
@Value
(
"${promotion.engine.calculate.discount.url}"
)
private
String
promotionEngineUrl
;
@Value
(
"${promotion.engine.baseUrl}"
)
private
String
baseUrl
;
@PostConstruct
public
void
init
()
{
webClient
=
WebClient
.
builder
().
baseUrl
(
baseUrl
).
defaultHeader
(
HttpHeaders
.
CONTENT_TYPE
,
MediaType
.
APPLICATION_JSON_VALUE
).
filter
(
logRequest
()).
filter
(
logResponse
()).
build
();
}
@Autowired
ClientService
clientService
;
// private WebClient webClient;
//
//
//
// @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
->
{
...
...
@@ -80,30 +80,12 @@ public class OfferCallingPEService {
PERequest
peRequest
=
offerConverter
.
apply
(
offerTransactionRequest
);
peRequest
.
setEligibleOffers
(
eligibleOffer
);
log
.
info
(
"Promotional Engine WebClient call Start"
);
Flux
<
PEResponse
>
peResponseFlux
=
getPeResponseFlux
(
peRequest
);
PEResponse
peResponseFlux
=
clientService
.
getPeResponseFlux
(
peRequest
);
log
.
debug
(
"Promotional Engine WebClient call End"
);
offerTransactionResponse
=
peResponseToOfferTransactionResConverter
.
apply
(
peResponseFlux
.
toStream
().
findFirst
().
get
()
);
offerTransactionResponse
=
peResponseToOfferTransactionResConverter
.
apply
(
peResponseFlux
);
log
.
debug
(
"Offer Transaction Response {}"
,
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 {
public
static
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 S
tore Consumer S
ervice {}"
,
response
);
log
.
error
(
"Error Response While Calling Service {}"
,
response
);
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.password
=
password123
promotion.engine.calculate.discount.url
=
/promotionEngine/calculateDiscount
promotion.engine.baseUrl
=
http://localhost:8081
store.producer.url
=
/store/producer
//
TODO
:
change the baseUrl post confirmation from Amar
store.producer.baseUrl
=
http://localhost:8081
\ No newline at end of file
store.producer.baseUrl
=
http://localhost:8083
\ 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;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.mockito.ArgumentMatchers
;
import
org.mockito.Mock
;
import
org.mockito.Mockito
;
import
org.mockito.MockitoAnnotations
;
import
org.mockito.*
;
import
org.mockito.junit.MockitoJUnitRunner
;
import
java.io.IOException
;
...
...
@@ -23,7 +20,12 @@ import java.util.stream.Collectors;
public
class
EndOfSaleTest
{
@Mock
private
EndOfSaleService
endOfSaleServiceMock
;
@InjectMocks
private
EndOfSaleService
endOfSaleService
;
@Mock
private
EndOfSaleRepo
endOfSaleRepo
;
...
...
@@ -35,7 +37,7 @@ public class EndOfSaleTest {
@Test
public
void
putEndofSaleResInDbTest
()
throws
IOException
{
EndOfSaleReq
endOfSaleReq
=
getEndOfSaleReq
();
Mockito
.
doNothing
().
when
(
endOfSaleRepo
.
save
(
ArgumentMatchers
.
any
()
));
Mockito
.
when
(
endOfSaleRepo
.
save
(
ArgumentMatchers
.
any
())).
thenReturn
(
ArgumentMatchers
.
any
(
));
UUID
uuid
=
endOfSaleService
.
putEndofSaleResInDb
(
endOfSaleReq
);
Assert
.
assertNotNull
(
uuid
);
}
...
...
src/test/java/com/nisum/offertransactionservice/service/EndOfTransactionTest.java
View file @
6f044282
package
com
.
nisum
.
offertransactionservice
.
service
;
import
com.nisum.offertransactionservice.client.ClientService
;
import
org.junit.Assert
;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.mockito.Mock
;
import
org.mockito.Mockito
;
import
org.mockito.MockitoAnnotations
;
import
org.mockito.*
;
import
org.mockito.junit.MockitoJUnitRunner
;
import
org.springframework.http.MediaType
;
import
org.springframework.test.web.reactive.server.WebTestClient
;
import
reactor.core.publisher.Mono
;
...
...
@@ -17,7 +15,15 @@ import reactor.core.publisher.Mono;
public
class
EndOfTransactionTest
{
@Mock
private
EndOfTransactionService
endOfTransactionService
;
private
EndOfTransactionService
endOfTransactionServiceMock
;
@InjectMocks
@Spy
private
EndOfTransactionService
endOfTransactionService
=
new
EndOfTransactionService
();
@Mock
ClientService
clientService
;;
@Mock
private
WebTestClient
webTestClient
;
...
...
@@ -27,20 +33,20 @@ public class EndOfTransactionTest {
MockitoAnnotations
.
initMocks
(
this
);
}
@Test
public
void
getStringMonoTest
()
{
String
uuid
=
"86fd4146-0540-405b-b621-a95f4ccdfa0d"
;
webTestClient
.
post
().
uri
(
"http://localhost:8081/store/producer"
)
.
contentType
(
MediaType
.
APPLICATION_JSON
)
.
body
(
Mono
.
just
(
uuid
),
String
.
class
)
.
exchange
()
.
expectBody
().
json
(
""
);
}
//
@Test
//
public void getStringMonoTest() {
//
String uuid = "86fd4146-0540-405b-b621-a95f4ccdfa0d";
//
webTestClient.post().uri("http://localhost:8081/store/producer")
//
.contentType(MediaType.APPLICATION_JSON)
//
.body(Mono.just(uuid), String.class)
//
.exchange()
//
.expectBody().json("");
//
}
@Test
public
void
endOfTransaction
()
{
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
));
}
}
src/test/java/com/nisum/offertransactionservice/service/OfferServiceTest.java
View file @
6f044282
package
com
.
nisum
.
offertransactionservice
.
service
;
import
com.nisum.offertransactionservice.client.ClientService
;
import
com.nisum.offertransactionservice.converter.OfferConverter
;
import
com.nisum.offertransactionservice.converter.PEResponseToOfferTransactionResConverter
;
import
com.nisum.offertransactionservice.dao.OfferLookupRepo
;
...
...
@@ -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.context.SpringBootTest
;
import
org.springframework.context.annotation.PropertySource
;
import
org.springframework.http.MediaType
;
import
org.springframework.test.annotation.DirtiesContext
;
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.List
;
...
...
@@ -54,23 +52,26 @@ public class OfferServiceTest {
MockitoAnnotations
.
initMocks
(
this
);
}
@Test
public
void
getPeResponseFluxTest
()
{
webTestClient
.
post
().
uri
(
"hhtp://localhost:8081/"
+
promotionEngineUrl
)
.
contentType
(
MediaType
.
APPLICATION_JSON
)
.
body
(
Mono
.
just
(
getPEReq
()),
PERequest
.
class
)
.
exchange
()
.
expectBody
()
.
jsonPath
(
"$.hhid"
).
isEqualTo
(
"123"
);
}
@Mock
ClientService
clientService
;
// @Test
// public void getPeResponseFluxTest() {
// webTestClient.post().uri("hhtp://localhost:8081/" + promotionEngineUrl)
// .contentType(MediaType.APPLICATION_JSON)
// .body(Mono.just(getPEReq()), PERequest.class)
// .exchange()
// .expectBody()
// .jsonPath("$.hhid").isEqualTo("123");
// }
@Test
public
void
serviceTest
()
{
OfferTransactionRequest
offerTransactionRequest
=
getOfferTransactionRequest
();
Mockito
.
when
(
offerLookupRepo
.
findAll
()).
thenReturn
(
returnOffers
());
Mockito
.
when
(
offerConverter
.
apply
(
getOfferTransactionRequest
())).
thenReturn
(
getPEReq
());
Mockito
.
when
(
offerCallingPEService
.
getPeResponseFlux
(
getPEReq
()))
.
thenReturn
(
Flux
.
just
(
getPeResponse
()));
Mockito
.
when
(
clientService
.
getPeResponseFlux
(
ArgumentMatchers
.
any
())).
thenReturn
(
getPeResponse
());
Mockito
.
when
(
peResponseToOfferTransactionResConverter
.
apply
(
getPeResponse
())).
thenReturn
(
retOfferTransRes
());
OfferTransactionResponse
offerTransactionResponse
=
offerCallingPEService
.
getDiscountedItemList
(
offerTransactionRequest
);
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