@@ -2,10 +2,12 @@ package postgres
22
33import (
44 "context"
5+ "errors"
56 "os"
67 "testing"
78 "time"
89
10+ "github.com/go-rel/primaryreplica"
911 "github.com/go-rel/rel"
1012 "github.com/go-rel/rel/adapter/specs"
1113 _ "github.com/lib/pq"
@@ -24,16 +26,10 @@ func dsn() string {
2426 return os .Getenv ("POSTGRESQL_DATABASE" ) + "?sslmode=disable&timezone=Asia/Jakarta"
2527 }
2628
27- return "postgres://rel@localhost:5432 /rel_test?sslmode=disable&timezone=Asia/Jakarta"
29+ return "postgres://rel:rel @localhost:25432 /rel_test?sslmode=disable&timezone=Asia/Jakarta"
2830}
2931
30- func TestAdapter_specs (t * testing.T ) {
31- adapter , err := Open (dsn ())
32- assert .Nil (t , err )
33- defer adapter .Close ()
34-
35- repo := rel .New (adapter )
36-
32+ func AdapterSpecs (t * testing.T , repo rel.Repository ) {
3733 // Prepare tables
3834 teardown := specs .Setup (t , repo )
3935 defer teardown ()
@@ -101,6 +97,36 @@ func TestAdapter_specs(t *testing.T) {
10197 specs .CheckConstraintOnUpdate (t , repo )
10298}
10399
100+ func TestAdapter_specs (t * testing.T ) {
101+ if os .Getenv ("TEST_PRIMARY_REPLICA" ) == "true" {
102+ t .Log ("Skipping single node specs" )
103+ return
104+ }
105+
106+ adapter := MustOpen (dsn ())
107+ defer adapter .Close ()
108+
109+ repo := rel .New (adapter )
110+ AdapterSpecs (t , repo )
111+ }
112+
113+ func TestAdapter_PrimaryReplica_specs (t * testing.T ) {
114+ if os .Getenv ("TEST_PRIMARY_REPLICA" ) != "true" {
115+ t .Log ("Skipping primary replica specs" )
116+ return
117+ }
118+
119+ adapter := primaryreplica .New (
120+ MustOpen ("postgres://rel:rel@localhost:25432/rel_test?sslmode=disable&timezone=Asia/Jakarta" ),
121+ MustOpen ("postgres://rel:rel@localhost:25433/rel_test?sslmode=disable&timezone=Asia/Jakarta" ),
122+ )
123+
124+ defer adapter .Close ()
125+
126+ repo := rel .New (adapter )
127+ AdapterSpecs (t , repo )
128+ }
129+
104130func TestAdapter_Transaction_commitError (t * testing.T ) {
105131 adapter , err := Open (dsn ())
106132 assert .Nil (t , err )
@@ -125,3 +151,9 @@ func TestAdapter_Exec_error(t *testing.T) {
125151 _ , _ , err = adapter .Exec (ctx , "error" , nil )
126152 assert .NotNil (t , err )
127153}
154+
155+ func TestCheck (t * testing.T ) {
156+ assert .Panics (t , func () {
157+ check (errors .New ("error" ))
158+ })
159+ }
0 commit comments