11package com .baeldung .httpinterface ;
22
3+ import static org .junit .jupiter .api .Assertions .assertEquals ;
4+ import static org .mockito .ArgumentMatchers .anyMap ;
5+ import static org .mockito .ArgumentMatchers .anyString ;
6+ import static org .mockito .BDDMockito .given ;
7+
8+ import java .util .List ;
9+
310import org .junit .jupiter .api .Test ;
411import org .junit .jupiter .api .extension .ExtendWith ;
512import org .mockito .Answers ;
815import org .mockito .junit .jupiter .MockitoExtension ;
916import org .springframework .core .ParameterizedTypeReference ;
1017import org .springframework .http .HttpMethod ;
11- import org .springframework .http .HttpStatusCode ;
12- import org .springframework .http .ResponseEntity ;
1318import org .springframework .web .reactive .function .client .WebClient ;
14- import reactor .core .publisher .Mono ;
1519
16- import static org .mockito .BDDMockito .*;
17-
18- import java .util .List ;
19-
20- import static org .junit .jupiter .api .Assertions .assertEquals ;
20+ import reactor .core .publisher .Mono ;
2121
2222@ ExtendWith (MockitoExtension .class )
2323class BooksServiceMockitoUnitTest {
2424
2525 @ Mock (answer = Answers .RETURNS_DEEP_STUBS )
2626 private WebClient webClient ;
2727
28- //@InjectMocks
29- private BooksClient booksClient ;
30-
3128 @ InjectMocks
32- private BooksService booksService ;
29+ private BooksClient booksClient ;
3330
3431 @ Test
3532 void givenMockedWebClientReturnsTwoBooks_whenGetBooksServiceMethodIsCalled_thenListOfTwoBooksIsReturned () {
@@ -41,7 +38,8 @@ void givenMockedWebClientReturnsTwoBooks_whenGetBooksServiceMethodIsCalled_thenL
4138 new Book (1 ,"Book_1" , "Author_1" , 1998 ),
4239 new Book (2 , "Book_2" , "Author_2" , 1999 )
4340 )));
44- // BooksService booksService = booksClient.getBooksService();
41+
42+ BooksService booksService = booksClient .getBooksService ();
4543 List <Book > books = booksService .getBooks ();
4644 assertEquals (2 , books .size ());
4745 }
@@ -54,7 +52,7 @@ void givenMockedWebClientReturnsBook_whenGetBookServiceMethodIsCalled_thenBookIs
5452 .bodyToMono (new ParameterizedTypeReference <Book >(){}))
5553 .willReturn (Mono .just (new Book (1 ,"Book_1" , "Author_1" , 1998 )));
5654
57- // BooksService booksService = booksClient.getBooksService();
55+ BooksService booksService = booksClient .getBooksService ();
5856 Book book = booksService .getBook (1 );
5957 assertEquals ("Book_1" , book .title ());
6058 }
@@ -67,24 +65,9 @@ void givenMockedWebClientReturnsBook_whenSaveBookServiceMethodIsCalled_thenBookI
6765 .bodyToMono (new ParameterizedTypeReference <Book >(){}))
6866 .willReturn (Mono .just (new Book (3 , "Book_3" , "Author_3" , 2000 )));
6967
70- // BooksService booksService = booksClient.getBooksService();
68+ BooksService booksService = booksClient .getBooksService ();
7169 Book book = booksService .saveBook (new Book (3 , "Book_3" , "Author_3" , 2000 ));
7270 assertEquals ("Book_3" , book .title ());
7371 }
7472
75- @ Test
76- void givenMockedWebClientReturnsOk_whenDeleteBookServiceMethodIsCalled_thenOkCodeIsReturned () {
77- given (webClient .method (HttpMethod .DELETE )
78- .uri (anyString (), anyMap ())
79- .retrieve ()
80- .toBodilessEntity ()
81- .block (any ())
82- .getStatusCode ())
83- .willReturn (HttpStatusCode .valueOf (200 ));
84-
85- //BooksService booksService = booksClient.getBooksService();
86- ResponseEntity <Void > response = booksService .deleteBook (3 );
87- assertEquals (HttpStatusCode .valueOf (200 ), response .getStatusCode ());
88- }
89-
9073}
0 commit comments