Moved the PostgreSQL TLS context building to the Service initialiser in the Persistence package.

This commit is contained in:
2026-08-05 01:36:19 +02:00
parent e51f09c66f
commit 0796aa314e
5 changed files with 50 additions and 29 deletions
@@ -15,11 +15,11 @@ struct ProbeTests {
@Test
func `reports a reachable database`() async throws {
let service = Service(
let service = try Service(
driver: .inMemory,
logger: Logger(label: "test")
)
let fluent = try service()
let fluent = service()
let probe = Probe(fluent: fluent)
let isReachable = await probe()
@@ -33,7 +33,7 @@ struct ProbeTests {
func `reports an unreachable database`() async throws {
// Port 1 on the loopback interface has nothing listening, so the connection is refused
// immediately instead of timing out.
let service = Service(
let service = try Service(
driver: .postgres(
.init(
host: "127.0.0.1",
@@ -47,7 +47,7 @@ struct ProbeTests {
),
logger: Logger(label: "test")
)
let fluent = try service()
let fluent = service()
let probe = Probe(fluent: fluent)
let isReachable = await probe()
@@ -15,12 +15,12 @@ struct ServiceTests {
@Test
func `registers an SQLite database as the default for the in-memory driver`() async throws {
let service = Service(
let service = try Service(
driver: .inMemory,
logger: Logger(label: "test")
)
let fluent = try service()
let fluent = service()
let database = fluent.db() as? any SQLDatabase
try await fluent.shutdown()
@@ -34,7 +34,7 @@ struct ServiceTests {
func `registers a PostgreSQL database as the default for the postgres driver`() async throws {
// Resolving the default database opens no connection pooling is lazy so no server
// needs to be listening on the configured host and port.
let service = Service(
let service = try Service(
driver: .postgres(
.init(
host: "127.0.0.1",
@@ -49,7 +49,7 @@ struct ServiceTests {
logger: Logger(label: "test")
)
let fluent = try service()
let fluent = service()
let database = fluent.db() as? any SQLDatabase
try await fluent.shutdown()
@@ -61,12 +61,12 @@ struct ServiceTests {
@Test
func `builds a usable in-memory database`() async throws {
let service = Service(
let service = try Service(
driver: .inMemory,
logger: Logger(label: "test")
)
let fluent = try service()
let fluent = service()
do {
let database = try #require(fluent.db() as? any SQLDatabase)
@@ -116,12 +116,12 @@ private extension ServiceTests {
revertAfter: Bool = false
) async throws {
let prepareDB = PrepareDB()
let service = Service(
let service = try Service(
driver: driver,
logger: Logger(label: "test")
)
let fluent = try service()
let fluent = service()
do {
await prepareDB(for: fluent)