Skip to content

Commit f248341

Browse files
committed
specialize DependencyProblem
1 parent f19aa5f commit f248341

File tree

5 files changed

+22
-14
lines changed

5 files changed

+22
-14
lines changed

src/databricks/labs/ucx/source_code/dependency_graph.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ def build_graph_from_python_source(self, python_code: str, problem_collector: Ca
173173
problem_collector(problem)
174174
else:
175175
problem = DependencyProblem(
176-
code='dependency-check',
176+
code='dependency-not-constant',
177177
message="Can't check dependency not provided as a constant",
178178
start_line=call.lineno,
179179
start_col=call.col_offset,

src/databricks/labs/ucx/source_code/dependency_resolvers.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ def resolve_notebook(
209209
problems: list[DependencyProblem] = []
210210
dependency = self._resolver.resolve_notebook(path, problems.append)
211211
if dependency is None:
212-
problem = DependencyProblem('dependency-check', f"Notebook not found: {path.as_posix()}")
212+
problem = DependencyProblem('notebook-not-found', f"Notebook not found: {path.as_posix()}")
213213
problems.append(problem)
214214
if problem_collector:
215215
for problem in problems:
@@ -224,7 +224,7 @@ def resolve_local_file(
224224
problems: list[DependencyProblem] = []
225225
dependency = self._resolver.resolve_local_file(path, problems.append)
226226
if dependency is None:
227-
problem = DependencyProblem('dependency-check', f"File not found: {path.as_posix()}")
227+
problem = DependencyProblem('file-not-found', f"File not found: {path.as_posix()}")
228228
problems.append(problem)
229229
if problem_collector:
230230
for problem in problems:
@@ -239,7 +239,7 @@ def resolve_import(
239239
problems: list[DependencyProblem] = []
240240
dependency = self._resolver.resolve_import(name, problems.append)
241241
if dependency is None:
242-
problem = DependencyProblem('dependency-check', f"Could not locate import: {name}")
242+
problem = DependencyProblem('import-not-found', f"Could not locate import: {name}")
243243
problems.append(problem)
244244
if problem_collector:
245245
for problem in problems:

src/databricks/labs/ucx/source_code/files.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ def build_dependency_graph(self, parent: DependencyGraph) -> None:
5454
parent.add_problems(call_problems)
5555
continue
5656
problem = DependencyProblem(
57-
code='dependency-check',
57+
code='dependency-not-constant',
5858
message="Can't check dependency not provided as a constant",
5959
source_path=self._path,
6060
start_line=call.lineno,

src/databricks/labs/ucx/source_code/notebook.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ def build_dependency_graph(self, parent: DependencyGraph, problem_collector: Cal
169169
return
170170
start_line = self._original_offset + 1
171171
problem = DependencyProblem(
172-
'dependency-check',
172+
'invalid-%run-cell',
173173
"Missing notebook path in %run command",
174174
start_line=start_line,
175175
start_col=0,

tests/unit/source_code/test_dependencies.py

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ def get_status_side_effect(*args):
120120
builder.build_notebook_dependency_graph(Path("root1.run.py.txt"))
121121
assert list(builder.problems) == [
122122
DependencyProblem(
123-
'dependency-check', 'Notebook not found: leaf2.py.txt', Path("root1.run.py.txt"), 19, 0, 19, 21
123+
'notebook-not-found', 'Notebook not found: leaf2.py.txt', Path("root1.run.py.txt"), 19, 0, 19, 21
124124
)
125125
]
126126

@@ -149,7 +149,7 @@ def is_file_side_effect(*args):
149149
)
150150
builder.build_notebook_dependency_graph(Path(paths[0]))
151151
assert list(builder.problems) == [
152-
DependencyProblem('dependency-check', 'Notebook not found: leaf3.py.txt', Path(paths[0]), 1, 0, 1, 38)
152+
DependencyProblem('notebook-not-found', 'Notebook not found: leaf3.py.txt', Path(paths[0]), 1, 0, 1, 38)
153153
]
154154

155155

@@ -178,7 +178,7 @@ def is_file_side_effect(*args):
178178
builder.build_notebook_dependency_graph(Path(paths[0]))
179179
assert list(builder.problems) == [
180180
DependencyProblem(
181-
'dependency-check', "Can't check dependency not provided as a constant", Path(paths[0]), 2, 0, 2, 35
181+
'dependency-not-constant', "Can't check dependency not provided as a constant", Path(paths[0]), 2, 0, 2, 35
182182
)
183183
]
184184

@@ -201,7 +201,9 @@ def test_dependency_graph_builder_raises_problem_with_invalid_run_cell():
201201
)
202202
builder.build_notebook_dependency_graph(Path(paths[0]))
203203
assert list(builder.problems) == [
204-
DependencyProblem('dependency-check', 'Missing notebook path in %run command', Path("leaf6.py.txt"), 5, 0, 5, 4)
204+
DependencyProblem(
205+
'invalid-%run-cell', 'Missing notebook path in %run command', Path("leaf6.py.txt"), 5, 0, 5, 4
206+
)
205207
]
206208

207209

@@ -234,7 +236,7 @@ def test_dependency_graph_builder_raises_problem_with_unresolved_import():
234236
builder.build_local_file_dependency_graph(Path(paths[0]))
235237
assert list(builder.problems) == [
236238
DependencyProblem(
237-
'dependency-check', 'Could not locate import: some_library', Path("root7.py.txt"), 1, 0, 1, 19
239+
'import-not-found', 'Could not locate import: some_library', Path("root7.py.txt"), 1, 0, 1, 19
238240
)
239241
]
240242

@@ -253,7 +255,13 @@ def test_dependency_graph_builder_raises_problem_with_non_constant_notebook_argu
253255
builder.build_local_file_dependency_graph(Path(paths[0]))
254256
assert list(builder.problems) == [
255257
DependencyProblem(
256-
'dependency-check', "Can't check dependency not provided as a constant", Path(paths[0]), 14, 13, 14, 50
258+
'dependency-not-constant',
259+
"Can't check dependency not provided as a constant",
260+
Path(paths[0]),
261+
14,
262+
13,
263+
14,
264+
50,
257265
)
258266
]
259267

@@ -334,7 +342,7 @@ def test_dependency_graph_builder_raises_problem_with_unfound_root_file(empty_in
334342
DependencyResolver.initialize(whi, site_packages, file_loader, LocalNotebookLoader(provider), provider)
335343
)
336344
builder.build_local_file_dependency_graph(Path("root1.run.py.txt"))
337-
assert list(builder.problems) == [DependencyProblem('dependency-check', 'File not found: root1.run.py.txt')]
345+
assert list(builder.problems) == [DependencyProblem('file-not-found', 'File not found: root1.run.py.txt')]
338346
file_loader.load_dependency.assert_not_called()
339347

340348

@@ -353,5 +361,5 @@ def test_dependency_graph_builder_raises_problem_with_unfound_root_notebook(empt
353361
DependencyResolver.initialize(whi, site_packages, file_loader, notebook_loader, provider)
354362
)
355363
builder.build_notebook_dependency_graph(Path("root2.run.py.txt"))
356-
assert list(builder.problems) == [DependencyProblem('dependency-check', 'Notebook not found: root2.run.py.txt')]
364+
assert list(builder.problems) == [DependencyProblem('notebook-not-found', 'Notebook not found: root2.run.py.txt')]
357365
file_loader.load_dependency.assert_not_called()

0 commit comments

Comments
 (0)