From ac84c6ee36099d2b7d1213b19761d751c8b6dd77 Mon Sep 17 00:00:00 2001 From: Robin Daugherty Date: Tue, 19 Oct 2021 17:52:13 -0400 Subject: [PATCH] Wait for server request to complete to allow breakpoints to be set in the UI test directly after a Mussel request is issued. --- Sources/Mussel/MusselTester.swift | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/Sources/Mussel/MusselTester.swift b/Sources/Mussel/MusselTester.swift index 9b0f2f3..deb29ca 100644 --- a/Sources/Mussel/MusselTester.swift +++ b/Sources/Mussel/MusselTester.swift @@ -28,7 +28,23 @@ extension MusselTester { request.httpBody = data request.setValue("application/json", forHTTPHeaderField: "Content-Type") - let task = URLSession.shared.dataTask(with: request) + let dispatchGroup = DispatchGroup() + + let task = URLSession.shared.dataTask(with: request) { data, response, error in + if let error = error { + debugPrint("Mussel received error: \(error.localizedDescription)") + } else if let response = response as? HTTPURLResponse { + debugPrint("Mussel received response status code \(response.statusCode)") + } else { + debugPrint("Mussel request finished, but with an unexpected result. Maybe MusselServer isn't running?") + } + dispatchGroup.leave() + } + + dispatchGroup.enter() task.resume() + + // Wait until the task completes + dispatchGroup.wait() } }