@@ -21,6 +21,7 @@ import (
21
21
"github.com/aws/aws-sdk-go-v2/service/s3"
22
22
"github.com/buger/jsonparser"
23
23
"github.com/gomodule/redigo/redis"
24
+ "github.com/jmoiron/sqlx"
24
25
"github.com/lib/pq"
25
26
"github.com/nyaruka/courier"
26
27
"github.com/nyaruka/courier/queue"
@@ -61,27 +62,31 @@ func testConfig() *courier.Config {
61
62
return config
62
63
}
63
64
65
+ func (ts * BackendTestSuite ) loadSQL (path string ) {
66
+ db , err := sqlx .Open ("postgres" , ts .b .config .DB )
67
+ noError (err )
68
+
69
+ sql , err := os .ReadFile (path )
70
+ noError (err )
71
+ db .MustExec (string (sql ))
72
+ }
73
+
64
74
func (ts * BackendTestSuite ) SetupSuite () {
65
75
ctx := context .Background ()
76
+ cfg := testConfig ()
66
77
67
78
// turn off logging
68
79
log .SetOutput (io .Discard )
69
80
70
- b , err := courier .NewBackend (testConfig () )
81
+ b , err := courier .NewBackend (cfg )
71
82
noError (err )
72
-
73
83
ts .b = b .(* backend )
74
- must (ts .b .Start ())
75
84
76
- // read our schema sql
77
- sqlSchema , err := os .ReadFile ("schema.sql" )
78
- noError (err )
79
- ts .b .db .MustExec (string (sqlSchema ))
85
+ // load our test schema and data
86
+ ts .loadSQL ("schema.sql" )
87
+ ts .loadSQL ("testdata.sql" )
80
88
81
- // read our testdata sql
82
- sql , err := os .ReadFile ("testdata.sql" )
83
- noError (err )
84
- ts .b .db .MustExec (string (sql ))
89
+ must (ts .b .Start ())
85
90
86
91
ts .b .s3 .Client .CreateBucket (ctx , & s3.CreateBucketInput {Bucket : aws .String ("test-attachments" )})
87
92
ts .b .s3 .Client .CreateBucket (ctx , & s3.CreateBucketInput {Bucket : aws .String ("test-logs" )})
0 commit comments