@@ -153,7 +153,7 @@ def get_connection_url(self, dialect: str = "crate", host: Optional[str] = None)
153153 def _connect (self ):
154154 if not self ._wait_strategy :
155155 raise ValueError ("No wait strategy defined" )
156- wait_for_logs (self , predicate = self ._wait_strategy )
156+ wait_for_logs (self , predicate = self ._wait_strategy , timeout = 15 )
157157
158158 def _configure_wait_condition (self ):
159159 """Wait for CrateDB node to be fully started."""
@@ -170,17 +170,23 @@ class CrateDBTestAdapter:
170170 """
171171
172172 def __init__ (self , crate_version : str = "nightly" , ** kwargs ):
173- self .cratedb : CrateDBContainer
174- self .database : DatabaseAdapter
173+ self .cratedb : Optional [ CrateDBContainer ] = None
174+ self ._database : Optional [ DatabaseAdapter ] = None
175175 self .image : str = "crate/crate:{}" .format (crate_version )
176176
177+ @property
178+ def database (self ) -> DatabaseAdapter :
179+ if self ._database is None :
180+ raise ValueError ("DatabaseAdapter is not initialized" )
181+ return self ._database
182+
177183 def start (self , ** kwargs ):
178184 """
179185 Start testcontainer, used for tests set up
180186 """
181187 self .cratedb = CrateDBContainer (image = self .image , ** kwargs )
182188 self .cratedb .start ()
183- self .database = DatabaseAdapter (dburi = self .get_connection_url (), echo = False )
189+ self ._database = DatabaseAdapter (dburi = self .get_connection_url (), echo = False )
184190
185191 def stop (self ):
186192 """
@@ -193,19 +199,19 @@ def reset(self, tables: Optional[list] = None, schemas: Optional[list] = None):
193199 """
194200 Drop tables from the given list, used for tests set up or tear down
195201 """
196- if not self .database :
202+ if not self ._database :
197203 return
198204
199205 if schemas :
200206 for reset_schema in schemas :
201- self .database .connection .exec_driver_sql (
202- f"DROP SCHEMA IF EXISTS { self .database .quote_relation_name (reset_schema )} CASCADE;"
207+ self ._database .connection .exec_driver_sql (
208+ f"DROP SCHEMA IF EXISTS { self ._database .quote_relation_name (reset_schema )} CASCADE;"
203209 )
204210
205211 if tables :
206212 for reset_table in tables :
207- self .database .connection .exec_driver_sql (
208- f"DROP TABLE IF EXISTS { self .database .quote_relation_name (reset_table )} ;"
213+ self ._database .connection .exec_driver_sql (
214+ f"DROP TABLE IF EXISTS { self ._database .quote_relation_name (reset_table )} ;"
209215 )
210216
211217 def get_connection_url (self , * args , ** kwargs ):
0 commit comments