@@ -8,59 +8,15 @@ extension Database {
8
8
/// - seeders: Any seeders to set on the database, they will be run before
9
9
/// this function returns.
10
10
@discardableResult
11
- public static func fake( _ id: Identifier = . default, migrations: [ Migration ] = [ ] , seeders: [ Seeder ] = [ ] ) -> Database {
11
+ public static func fake( _ id: Identifier = . default, migrations: [ Migration ] = [ ] , seeders: [ Seeder ] = [ ] ) async throws -> Database {
12
12
let db = Database . sqlite
13
13
db. migrations = migrations
14
14
db. seeders = seeders
15
15
bind ( id, db)
16
16
17
- let sem = DispatchSemaphore ( value: 0 )
18
- Task {
19
- do {
20
- if !migrations. isEmpty { try await db. migrate ( ) }
21
- if !seeders. isEmpty { try await db. seed ( ) }
22
- } catch {
23
- Log . error ( " Error initializing fake database: \( error) " )
24
- }
25
-
26
- sem. signal ( )
27
- }
17
+ if !migrations. isEmpty { try await db. migrate ( ) }
18
+ if !seeders. isEmpty { try await db. seed ( ) }
28
19
29
- sem. wait ( )
30
20
return db
31
21
}
32
-
33
- /// Synchronously migrates the database, useful for setting up the database
34
- /// before test cases.
35
- public func syncMigrate( ) {
36
- let sem = DispatchSemaphore ( value: 0 )
37
- Task {
38
- do {
39
- if !migrations. isEmpty { try await migrate ( ) }
40
- } catch {
41
- Log . error ( " Error migrating test database: \( error) " )
42
- }
43
-
44
- sem. signal ( )
45
- }
46
-
47
- sem. wait ( )
48
- }
49
-
50
- /// Synchronously seeds the database, useful for setting up the database
51
- /// before test cases.
52
- public func syncSeed( ) {
53
- let sem = DispatchSemaphore ( value: 0 )
54
- Task {
55
- do {
56
- if !seeders. isEmpty { try await seed ( ) }
57
- } catch {
58
- Log . error ( " Error seeding test database: \( error) " )
59
- }
60
-
61
- sem. signal ( )
62
- }
63
-
64
- sem. wait ( )
65
- }
66
22
}
0 commit comments