6
6
import org .junit .jupiter .api .Disabled ;
7
7
import org .junit .jupiter .api .Test ;
8
8
import org .springframework .http .HttpStatus ;
9
- import org .springframework .web .client .RestTemplate ;
10
- import org .springframework .web .util .DefaultUriBuilderFactory ;
11
-
12
- import java .util .List ;
9
+ import org .springframework .web .client .RestClient ;
13
10
14
11
import static org .junit .jupiter .api .Assertions .assertEquals ;
15
12
16
13
class ArtistsApiValidationTest {
17
- private static RestTemplate restTemplate ;
14
+ private static RestClient restClient ;
18
15
19
16
@ BeforeAll
20
17
static void setupRestTemplate () {
@@ -25,37 +22,39 @@ static void setupRestTemplate() {
25
22
.withResolveCombinators (true )
26
23
.build ());
27
24
28
- restTemplate = new RestTemplate ();
29
- restTemplate .setInterceptors (List .of (spotifyAuthInterceptor , validationInterceptor ));
30
- restTemplate .setUriTemplateHandler (new DefaultUriBuilderFactory ("https://api.spotify.com/v1" ));
25
+ restClient = RestClient .builder ()
26
+ .requestInterceptor (spotifyAuthInterceptor )
27
+ .requestInterceptor (validationInterceptor )
28
+ .baseUrl ("https://api.spotify.com/v1" )
29
+ .build ();
31
30
}
32
31
33
32
@ Test
34
33
void validateGetArtist () {
35
- var response = restTemplate . getForEntity ( "/artists/{id}" , String . class , "4lDiJcOJ2GLCK6p9q5BgfK" );
34
+ var response = restClient . get (). uri ( "/artists/{id}" , "4lDiJcOJ2GLCK6p9q5BgfK" ). retrieve (). toBodilessEntity ( );
36
35
assertEquals (response .getStatusCode (), HttpStatus .OK );
37
36
}
38
37
39
38
@ Test
40
39
void validateGetSeveralArtist () {
41
- var response = restTemplate . getForEntity ( "/artists?ids={ids}" , String . class , "0Dvx6p8JDyzeOPGmaCIH1L,5Y5TRrQiqgUO4S36tzjIRZ" );
40
+ var response = restClient . get (). uri ( "/artists?ids={ids}" , "0Dvx6p8JDyzeOPGmaCIH1L,5Y5TRrQiqgUO4S36tzjIRZ" ). retrieve (). toBodilessEntity ( );
42
41
assertEquals (response .getStatusCode (), HttpStatus .OK );
43
42
}
44
43
45
44
@ Test
46
45
void validateGetArtistsAlbums () {
47
46
var artistId = "6XyY86QOPPrYVGvF9ch6wz" ;
48
47
49
- var responseFirstPage = restTemplate . getForEntity ( "/artists/{id}/albums?limit=5" , String . class , artistId );
48
+ var responseFirstPage = restClient . get (). uri ( "/artists/{id}/albums?limit=5" , artistId ). retrieve (). toBodilessEntity ( );
50
49
assertEquals (responseFirstPage .getStatusCode (), HttpStatus .OK );
51
50
52
- var responseMiddlePage = restTemplate . getForEntity ( "/artists/{id}/albums?limit=5&offset=50" , String . class , artistId );
51
+ var responseMiddlePage = restClient . get (). uri ( "/artists/{id}/albums?limit=5&offset=50" , artistId ). retrieve (). toBodilessEntity ( );
53
52
assertEquals (responseMiddlePage .getStatusCode (), HttpStatus .OK );
54
53
55
- var responseLastPage = restTemplate . getForEntity ( "/artists/{id}/albums?limit=20&offset=360" , String . class , artistId );
54
+ var responseLastPage = restClient . get (). uri ( "/artists/{id}/albums?limit=20&offset=360" , artistId ). retrieve (). toBodilessEntity ( );
56
55
assertEquals (responseLastPage .getStatusCode (), HttpStatus .OK );
57
56
58
- var responseEmptyPage = restTemplate . getForEntity ( "/artists/{id}/albums?limit=20&offset=380" , String . class , artistId );
57
+ var responseEmptyPage = restClient . get (). uri ( "/artists/{id}/albums?limit=20&offset=380" , artistId ). retrieve (). toBodilessEntity ( );
59
58
assertEquals (responseEmptyPage .getStatusCode (), HttpStatus .OK );
60
59
}
61
60
@@ -67,13 +66,13 @@ void validateGetArtistsAlbums() {
67
66
@ Disabled
68
67
@ Test
69
68
void validateGetArtistsTopTracks () {
70
- var response = restTemplate . getForEntity ( "/artists/{id}/top-tracks?market=DE" , String . class , "0Dvx6p8JDyzeOPGmaCIH1L" );
69
+ var response = restClient . get (). uri ( "/artists/{id}/top-tracks?market=DE" , "0Dvx6p8JDyzeOPGmaCIH1L" ). retrieve (). toBodilessEntity ( );
71
70
assertEquals (response .getStatusCode (), HttpStatus .OK );
72
71
}
73
72
74
73
@ Test
75
74
void validateGetArtistsRelatedArtists () {
76
- var response = restTemplate . getForEntity ( "/artists/{id}/related-artists" , String . class , "0Dvx6p8JDyzeOPGmaCIH1L" );
75
+ var response = restClient . get (). uri ( "/artists/{id}/related-artists" , "0Dvx6p8JDyzeOPGmaCIH1L" ). retrieve (). toBodilessEntity ( );
77
76
assertEquals (response .getStatusCode (), HttpStatus .OK );
78
77
}
79
78
0 commit comments