➍ 응답 상태를 확인해 정상인 경우 응답을 파싱하고, 그렇지 않은 경우 오류로 실패한다.
➎ 전체 시나리오를 실행하려면 여기에서 서버를 시작한 다음 서버에서 각 단계를 실행하고 마지막에 서버를 자동으로 닫을 수 있다.
이제 시작 메서드는 다음과 같다. 클라이언트의 베이스 Uri를 서버와 일치하도록 설정하는 방법에 주목하라. 이렇게 하면 클라이언트가 서버와 동일한 포트를 사용하고 있는지 확인할 수 있으며, 나중에 이 코드를 변경하여 다른 곳에 배포된 서버를 사용할 수도 있다.
fun startTheApplication(lists: Map<User, List<ToDoList>>): ApplicationForAT {
val port = 8081 // 메인에서 사용한 포트와 다름
val server = Zettai(lists).asServer(Jetty(port))
server.start()
val client = ClientFilters
.SetBaseUriFrom(Uri.of("http://localhost:$port/"))
.then(JettyClient())
return ApplicationForAT(client, server)
}
인수 테스트로 돌아가서 지금은 어떤지 살펴보자.