MCPcopy Index your code
hub / github.com/dbcli/mycli / make_refreshed_cli

Function make_refreshed_cli

test/pytests/test_client_query.py:109–129  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

107
108
109def make_refreshed_cli() -> tuple[Any, Any, Any, dict[str, Any]]:
110 cli = make_bare_mycli()
111 state: dict[str, Any] = {
112 'entered_lock': {'count': 0},
113 'invalidated': [],
114 'prefetch_started': [],
115 'copy_calls': [],
116 }
117 old_completer = SimpleNamespace(dbmetadata={'old': object()})
118 new_completer = SimpleNamespace(
119 dbname='current',
120 copy_other_schemas_from=lambda source, exclude: state['copy_calls'].append((source, exclude)),
121 )
122 cli._completer_lock = cast(
123 Any,
124 ReusableLock(lambda: state['entered_lock'].__setitem__('count', state['entered_lock']['count'] + 1)),
125 )
126 cli.completer = old_completer
127 cli.prompt_session = SimpleNamespace(app=SimpleNamespace(invalidate=lambda: state['invalidated'].append(True)))
128 cli.schema_prefetcher = SimpleNamespace(start_configured=lambda: state['prefetch_started'].append(True))
129 return cli, old_completer, new_completer, state
130
131
132def test_on_completions_refreshed_swaps_completer() -> None:

Calls 2

make_bare_mycliFunction · 0.90
ReusableLockClass · 0.90

Tested by

no test coverage detected