26
26
filter_output ,
27
27
load_config ,
28
28
load_yaml_or_json_path ,
29
+ make_hashable ,
29
30
)
30
31
from docker import errors
31
32
@@ -259,7 +260,10 @@ def discovered_catalog_fixture(
259
260
connector_config , docker_runner : ConnectorRunner , cached_schemas , cache_discovered_catalog : bool
260
261
) -> MutableMapping [str , AirbyteStream ]:
261
262
"""JSON schemas for each stream"""
262
- if not cached_schemas or not cache_discovered_catalog :
263
+ cached_schemas = cached_schemas .setdefault (make_hashable (connector_config ), {})
264
+ if not cache_discovered_catalog :
265
+ cached_schemas .clear ()
266
+ if not cached_schemas :
263
267
output = docker_runner .call_discover (config = connector_config )
264
268
catalogs = [message .catalog for message in output if message .type == Type .CATALOG ]
265
269
for stream in catalogs [- 1 ].streams :
@@ -269,14 +273,17 @@ def discovered_catalog_fixture(
269
273
270
274
@pytest .fixture (name = "previous_discovered_catalog" )
271
275
def previous_discovered_catalog_fixture (
272
- connector_config , previous_connector_docker_runner : ConnectorRunner , previous_cached_schemas
276
+ connector_config , previous_connector_docker_runner : ConnectorRunner , previous_cached_schemas , cache_discovered_catalog : bool
273
277
) -> MutableMapping [str , AirbyteStream ]:
274
278
"""JSON schemas for each stream"""
275
279
if previous_connector_docker_runner is None :
276
280
logging .warning (
277
281
"\n We could not retrieve the previous discovered catalog as a connector runner for the previous connector version could not be instantiated."
278
282
)
279
283
return None
284
+ previous_cached_schemas = previous_cached_schemas .setdefault (make_hashable (connector_config ), {})
285
+ if not cache_discovered_catalog :
286
+ previous_cached_schemas .clear ()
280
287
if not previous_cached_schemas :
281
288
output = previous_connector_docker_runner .call_discover (config = connector_config )
282
289
catalogs = [message .catalog for message in output if message .type == Type .CATALOG ]
0 commit comments