Skip to content

Commit c847fe0

Browse files
BAEL-9467 Deserialize Response JSON as List<POJO> in Rest Assured (#18866)
* Update AppControllerIntegrationTest.java * Add test case for movies endpoint response Added a new test case to verify the movies endpoint returns all movies as a list. --------- Co-authored-by: Deepak Vohra <[email protected]>
1 parent 26e06d3 commit c847fe0

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

testing-modules/rest-assured/src/test/java/com/baeldung/restassured/controller/AppControllerIntegrationTest.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import java.io.IOException;
1313
import java.util.HashMap;
1414
import java.util.HashSet;
15+
import java.util.List;
1516
import java.util.Map;
1617
import java.util.Set;
1718

@@ -30,6 +31,7 @@
3031
import com.baeldung.restassured.model.Movie;
3132
import com.baeldung.restassured.service.AppService;
3233

34+
import io.restassured.common.mapper.TypeRef;
3335
import io.restassured.response.Response;
3436

3537
@RunWith(SpringRunner.class)
@@ -78,7 +80,7 @@ public void givenMovieId_whenMakingGetRequestToMovieEndpoint_thenReturnMovie() {
7880
}
7981

8082
@Test
81-
public void whenCallingMoviesEndpoint_thenReturnAllMovies() {
83+
public void givenSetMovie_whenCallingMoviesEndpoint_thenReturnAllMovies() {
8284

8385
Set<Movie> movieSet = new HashSet<>();
8486
movieSet.add(new Movie(1, "movie1", "summary1"));
@@ -96,6 +98,22 @@ public void whenCallingMoviesEndpoint_thenReturnAllMovies() {
9698
.as(Movie[].class);
9799
assertThat(movies.length).isEqualTo(2);
98100
}
101+
102+
@Test
103+
public void whenCallingMoviesEndpoint_thenReturnAllMoviesAsList() {
104+
Set<Movie> movieSet = new HashSet<>();
105+
movieSet.add(new Movie(1, "movie1", "summary1"));
106+
movieSet.add(new Movie(2, "movie2", "summary2"));
107+
when(appService.getAll()).thenReturn(movieSet);
108+
109+
List<Movie> movies = get(uri + "/movies").then()
110+
.statusCode(200)
111+
.extract()
112+
.as(new TypeRef<List<Movie>>() {});
113+
114+
assertThat(movies.size()).isEqualTo(2);
115+
assertThat(movies).usingFieldByFieldElementComparator().containsAll(movieSet);
116+
}
99117

100118
@Test
101119
public void givenMovie_whenMakingPostRequestToMovieEndpoint_thenCorrect() {

0 commit comments

Comments
 (0)