mirror of
https://github.com/nicoverbruggen/phpmon.git
synced 2026-03-29 08:00:08 +02:00
- RealWebApiTest requires api.phpmon.test to be reachable or skips - CommandTest requires php binary or skips
45 lines
1.2 KiB
Swift
45 lines
1.2 KiB
Swift
//
|
|
// RealWebApiTest.swift
|
|
// PHP Monitor
|
|
//
|
|
// Created by Nico Verbruggen on 18/11/2025.
|
|
// Copyright © 2025 Nico Verbruggen. All rights reserved.
|
|
//
|
|
|
|
import Testing
|
|
import Foundation
|
|
|
|
struct RealWebApiTest {
|
|
private var container: Container
|
|
|
|
init() throws {
|
|
self.container = Container.real(minimal: true)
|
|
}
|
|
|
|
var WebApi: RealWebApi {
|
|
return container.webApi as! RealWebApi
|
|
}
|
|
|
|
@Test(.enabled(if: TestURL.isReachable(url: "https://api.phpmon.test/up"),
|
|
"Requires api.phpmon.test to be reachable"))
|
|
func requestSucceeds() async {
|
|
let response = try! await WebApi.get(
|
|
url("https://api.phpmon.test/up")
|
|
)
|
|
|
|
#expect(response.statusCode == 200)
|
|
#expect(response.plainText!.contains("Response rendered in"))
|
|
}
|
|
|
|
@Test(.enabled(if: TestURL.isReachable(url: "https://api.phpmon.test/up"),
|
|
"Requires api.phpmon.test to be reachable"))
|
|
func requestTimesOut() async {
|
|
await #expect(throws: WebApiError.timedOut) {
|
|
try await WebApi.get(
|
|
url("https://api.phpmon.test/up"),
|
|
withTimeout: .seconds(0.01)
|
|
)
|
|
}
|
|
}
|
|
}
|