@@ -32,12 +32,18 @@ class PostgresContainer(DbContainer):
32
32
POSTGRES_PASSWORD = os .environ .get ("POSTGRES_PASSWORD" , "test" )
33
33
POSTGRES_DB = os .environ .get ("POSTGRES_DB" , "test" )
34
34
35
- def __init__ (self , image = "postgres:latest" , port = 5432 , user = None , password = None , dbname = None ):
35
+ def __init__ (self ,
36
+ image = "postgres:latest" ,
37
+ port = 5432 , user = None ,
38
+ password = None ,
39
+ dbname = None ,
40
+ driver = "psycopg2" ):
36
41
super (PostgresContainer , self ).__init__ (image = image )
37
42
self .POSTGRES_USER = user or self .POSTGRES_USER
38
43
self .POSTGRES_PASSWORD = password or self .POSTGRES_PASSWORD
39
44
self .POSTGRES_DB = dbname or self .POSTGRES_DB
40
45
self .port_to_expose = port
46
+ self .driver = driver
41
47
42
48
self .with_exposed_ports (self .port_to_expose )
43
49
@@ -47,7 +53,7 @@ def _configure(self):
47
53
self .with_env ("POSTGRES_DB" , self .POSTGRES_DB )
48
54
49
55
def get_connection_url (self , host = None ):
50
- return super ()._create_connection_url (dialect = "postgresql+psycopg2" ,
56
+ return super ()._create_connection_url (dialect = "postgresql+{}" . format ( self . driver ) ,
51
57
username = self .POSTGRES_USER ,
52
58
password = self .POSTGRES_PASSWORD ,
53
59
db_name = self .POSTGRES_DB ,
0 commit comments