2424import java .util .Objects ;
2525import java .util .concurrent .TimeUnit ;
2626
27+ import com .jayway .jsonassert .JsonAssert ;
2728import okhttp3 .mockwebserver .MockResponse ;
2829import okhttp3 .mockwebserver .MockWebServer ;
2930import org .junit .jupiter .api .AfterEach ;
3233
3334import static org .assertj .core .api .Assertions .assertThat ;
3435import static org .assertj .core .api .Assertions .assertThatExceptionOfType ;
36+ import static org .hamcrest .CoreMatchers .is ;
3537
3638public class GitHubApiTests {
3739
@@ -102,8 +104,12 @@ public void createReleaseWhenValidParametersThenSuccess() throws Exception {
102104 assertThat (recordedRequest .getHeader ("Accept" )).isEqualTo ("application/json" );
103105 assertThat (recordedRequest .getHeader ("Content-Type" )).isEqualTo ("application/json" );
104106 assertThat (recordedRequest .getHeader ("Authorization" )).isEqualTo ("Bearer %s" .formatted (AUTH_TOKEN ));
105- assertThat (recordedRequest .getBody ().readString (Charset .defaultCharset ()))
106- .isEqualTo (string ("CreateReleaseRequest.json" ));
107+
108+ var json = JsonAssert .with (recordedRequest .getBody ().readString (Charset .defaultCharset ()));
109+ json .assertThat ("$.tag_name" , is ("1.0.0" ));
110+ json .assertThat ("$.draft" , is (false ));
111+ json .assertThat ("$.prerelease" , is (false ));
112+ json .assertThat ("$.generate_release_notes" , is (false ));
107113 }
108114
109115 @ Test
@@ -120,8 +126,10 @@ public void createMilestoneWhenValidParametersThenSuccess() throws Exception {
120126 assertThat (recordedRequest .getHeader ("Accept" )).isEqualTo ("application/json" );
121127 assertThat (recordedRequest .getHeader ("Content-Type" )).isEqualTo ("application/json" );
122128 assertThat (recordedRequest .getHeader ("Authorization" )).isEqualTo ("Bearer %s" .formatted (AUTH_TOKEN ));
123- assertThat (recordedRequest .getBody ().readString (Charset .defaultCharset ()))
124- .isEqualTo (string ("CreateMilestoneRequest.json" ));
129+
130+ var json = JsonAssert .with (recordedRequest .getBody ().readString (Charset .defaultCharset ()));
131+ json .assertThat ("$.title" , is ("1.0.0" ));
132+ json .assertThat ("$.due_on" , is ("2022-05-04T12:00:00Z" ));
125133 }
126134
127135 @ Test
@@ -212,8 +220,9 @@ public void closeMilestoneWhenValidParametersThenSuccess() throws Exception {
212220 assertThat (recordedRequest .getPath ()).isEqualTo ("/repos/spring-projects/spring-security/milestones/191" );
213221 assertThat (recordedRequest .getHeader ("Accept" )).isEqualTo ("application/json" );
214222 assertThat (recordedRequest .getHeader ("Authorization" )).isEqualTo ("Bearer %s" .formatted (AUTH_TOKEN ));
215- assertThat (recordedRequest .getBody ().readString (Charset .defaultCharset ()))
216- .isEqualTo (string ("UpdateMilestoneRequest.json" ));
223+
224+ var json = JsonAssert .with (recordedRequest .getBody ().readString (Charset .defaultCharset ()));
225+ json .assertThat ("$.state" , is ("closed" ));
217226 }
218227
219228 private static MockResponse json (String path ) throws IOException {
0 commit comments