appendix-c
                    appendix C Answers to chapter exercises
C.1 Answers to the chapter 5 exercise
The code can be added to the consumer-mobile/app/src/test/java/com/example/ movie/MoviesApiPactTest.kt test file:
  @Pact(provider = "MoviesAPI", consumer = "MoviesAndroidApp")
  fun addMoviePact(builder: PactDslWithProvider): V4Pact {
      val requestBody: DslPart = PactDslJsonBody()
       .stringType("name")
       .integerType("year", 2004)
   val responseBody: DslPart = PactDslJsonBody()
       .integerType("id", 100)
       .stringType("name", "Shaun of the Dead")
       .integerType("year", 2004)
   return builder
       .given("movie doesn't exist")
       .uponReceiving("a request to add a movie")
       .path("/movies")
       .method("POST")
       .headers(mapOf("Content-type" to "application/json"))
       .body(requestBody)
       .willRespondWith()
       .status(200)
       .headers(mapOf("Content-type" to "application/json"))
       .body(responseBody)
       .toPact(V4Pact::class.java)
  }
  @Test
  @PactTestFor(providerName="MoviesAPI",
  pactMethod = "addMoviePact",
  providerType = ProviderType.SYNCH)
  fun `should add movie`(mockServer: MockServer) {
       var client = MovieClient(mockServer.getUrl())
    val add = Add("Shaun of the Dead", 2004)
    val response = runBlocking { client.addMovie(add)}
    assertEquals(response.name, "Shaun of the Dead")
  }