Skip to content

Commit 56fe5e5

Browse files
committed
Chore(lsp): add regression tests for _context_get_or_load from NoContext
1 parent a448a26 commit 56fe5e5

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

tests/lsp/test_context.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
from sqlmesh.core.context import Context
44
from sqlmesh.lsp.context import LSPContext, ModelTarget
5+
from sqlmesh.lsp.main import ContextLoaded, NoContext, SQLMeshLanguageServer
56
from sqlmesh.lsp.uri import URI
67

78

@@ -61,3 +62,32 @@ def test_lsp_context_run_test():
6162
# Check that the result is not None and has the expected properties
6263
assert result is not None
6364
assert result.success is True
65+
66+
67+
def test_context_get_or_load_from_no_context_with_specified_paths():
68+
server = SQLMeshLanguageServer(context_class=Context)
69+
server.server.show_message = lambda *args, **kwargs: None
70+
server.specified_paths = [Path("examples/sushi")]
71+
72+
assert isinstance(server.context_state, NoContext)
73+
74+
lsp_context = server._context_get_or_load()
75+
76+
assert isinstance(lsp_context, LSPContext)
77+
assert isinstance(server.context_state, ContextLoaded)
78+
assert server.context_state.lsp_context is lsp_context
79+
80+
81+
def test_context_get_or_load_from_no_context_via_workspace_folder():
82+
server = SQLMeshLanguageServer(context_class=Context)
83+
server.server.show_message = lambda *args, **kwargs: None
84+
server.specified_paths = None
85+
server.workspace_folders = [Path.cwd() / "examples" / "sushi"]
86+
87+
assert isinstance(server.context_state, NoContext)
88+
89+
lsp_context = server._context_get_or_load()
90+
91+
assert isinstance(lsp_context, LSPContext)
92+
assert isinstance(server.context_state, ContextLoaded)
93+
assert server.context_state.lsp_context is lsp_context

0 commit comments

Comments
 (0)