Skip to content

Commit 8a5cbb1

Browse files
committed
test: fix unit tests
Signed-off-by: behnazh-w <behnaz.hassanshahi@oracle.com>
1 parent f0d5e0a commit 8a5cbb1

File tree

6 files changed

+24
-57
lines changed

6 files changed

+24
-57
lines changed

src/macaron/config/defaults.ini

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2022 - 2025, Oracle and/or its affiliates. All rights reserved.
1+
# Copyright (c) 2022 - 2026, Oracle and/or its affiliates. All rights reserved.
22
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/.
33

44
[requests]
@@ -288,7 +288,7 @@ build_configs =
288288
setup.py
289289
setup.cfg
290290
pyproject.toml
291-
packager =
291+
builder =
292292
build
293293
publisher =
294294
twine
@@ -304,9 +304,6 @@ interpreter =
304304
python3
305305
interpreter_flag =
306306
-m
307-
build_arg =
308-
build
309-
setup.py
310307
deploy_arg =
311308
publish
312309
upload

src/macaron/slsa_analyzer/build_tool/base_build_tool.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,11 @@ def file_exists(
133133
root_dir = Path(path)
134134

135135
def _accepted(p: Path) -> bool:
136-
return True if predicate is None else bool(predicate(p, **predicate_kwargs))
136+
return (
137+
True
138+
if predicate is None or predicate_kwargs == {"group_id": None, "artifact_id": None}
139+
else bool(predicate(p, **predicate_kwargs))
140+
)
137141

138142
# Check for file directly at root.
139143
if target_path := find_first_matching_file(root_dir, file_name):

tests/build_spec_generator/common_spec/test_core.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ def test_compose_shell_commands(
5353
BuildToolFacts(
5454
language="python",
5555
build_tool_name="pip",
56+
confidence=1.0,
5657
)
5758
],
5859
"python",
@@ -64,6 +65,7 @@ def test_compose_shell_commands(
6465
BuildToolFacts(
6566
language="java",
6667
build_tool_name="gradle",
68+
confidence=1.0,
6769
)
6870
],
6971
"java",
@@ -75,6 +77,7 @@ def test_compose_shell_commands(
7577
BuildToolFacts(
7678
language="java",
7779
build_tool_name="maven",
80+
confidence=1.0,
7881
)
7982
],
8083
"java",
@@ -86,6 +89,7 @@ def test_compose_shell_commands(
8689
BuildToolFacts(
8790
language="not_java",
8891
build_tool_name="maven",
92+
confidence=1.0,
8993
)
9094
],
9195
"java",
@@ -97,6 +101,7 @@ def test_compose_shell_commands(
97101
BuildToolFacts(
98102
language="java",
99103
build_tool_name="some_java_build_tool",
104+
confidence=1.0,
100105
)
101106
],
102107
"java",

tests/slsa_analyzer/build_tool/test_gradle.py

Lines changed: 8 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -21,40 +21,30 @@
2121
Path(__file__).parent.joinpath("mock_repos", "gradle_repos", "no_gradle"),
2222
],
2323
)
24-
def test_get_build_dirs(gradle_tool: Gradle, mock_repo: Path) -> None:
24+
def test_get_build_dirs(snapshot: list, gradle_tool: Gradle, mock_repo: Path) -> None:
2525
"""Test discovering build directories."""
26-
# Gradle detection now relies on group/artifact validation, which is not
27-
# provided by get_build_dirs().
28-
assert not list(gradle_tool.get_build_dirs(str(mock_repo)))
26+
assert list(gradle_tool.get_build_dirs(str(mock_repo))) == snapshot
2927

3028

3129
@pytest.mark.parametrize(
32-
("mock_repo", "group_id", "artifact_id", "expected_value"),
30+
("mock_repo", "expected_value"),
3331
[
3432
(
3533
Path(__file__).parent.joinpath("mock_repos", "gradle_repos", "groovy_gradle"),
36-
"mock_repos",
37-
"project1",
3834
[
39-
("project1/build.gradle", 1.0, None, "settings.gradle"),
40-
("build.gradle", 50.0, None, "settings.gradle"),
41-
("settings.gradle", 2500.0, None, "settings.gradle"),
35+
("build.gradle", 1.0, None, "settings.gradle"),
36+
("settings.gradle", 0.5, None, "settings.gradle"),
4237
],
4338
),
4439
(
4540
Path(__file__).parent.joinpath("mock_repos", "gradle_repos", "kotlin_gradle"),
46-
"mock_repos",
47-
"project1",
4841
[
49-
("project1/build.gradle.kts", 1.0, None, "settings.gradle.kts"),
50-
("build.gradle.kts", 50.0, None, "settings.gradle.kts"),
51-
("settings.gradle.kts", 2500.0, None, "settings.gradle.kts"),
42+
("build.gradle.kts", 1.0, None, "settings.gradle.kts"),
43+
("settings.gradle.kts", 0.5, None, "settings.gradle.kts"),
5244
],
5345
),
5446
(
5547
Path(__file__).parent.joinpath("mock_repos", "gradle_repos", "no_gradle"),
56-
"mock_repos",
57-
"project1",
5848
[],
5949
),
6050
],
@@ -63,16 +53,12 @@ def test_gradle_build_tool(
6353
gradle_tool: Gradle,
6454
macaron_path: str,
6555
mock_repo: str,
66-
group_id: str,
67-
artifact_id: str,
6856
expected_value: list[tuple[str, float, str | None, str | None]],
6957
) -> None:
7058
"""Test the Gradle build tool."""
7159
base_dir = Path(__file__).parent
7260
ctx = prepare_repo_for_testing(mock_repo, macaron_path, base_dir)
73-
assert gradle_tool.is_detected(ctx.component.repository.fs_path, group_id=group_id, artifact_id=artifact_id) == (
74-
expected_value
75-
)
61+
assert gradle_tool.is_detected(ctx.component.repository.fs_path) == (expected_value)
7662

7763

7864
def test_gradle_build_tool_with_group_artifact_validation(gradle_tool: Gradle, tmp_path: Path) -> None:
@@ -108,18 +94,6 @@ def test_gradle_build_tool_with_project_group_and_multimodule_name(gradle_tool:
10894
assert detected[0][3] == "settings.gradle"
10995

11096

111-
def test_gradle_build_tool_with_repo_namespace_group(gradle_tool: Gradle, tmp_path: Path) -> None:
112-
"""Test Gradle detection when group input is a repository namespace."""
113-
gradle_repo = tmp_path.joinpath("micronaut-test")
114-
gradle_repo.mkdir(parents=True)
115-
gradle_repo.joinpath("build.gradle").write_text("plugins { id 'java' }\n")
116-
gradle_repo.joinpath("settings.gradle").write_text("rootProject.name = 'test-parent'\ninclude 'test-junit5'\n")
117-
gradle_repo.joinpath("gradle.properties").write_text("projectGroup=io.micronaut.test\n")
118-
119-
detected = gradle_tool.is_detected(str(gradle_repo), group_id="micronaut-projects", artifact_id="micronaut-test")
120-
assert detected
121-
122-
12397
@pytest.mark.parametrize(
12498
(
12599
"command",

tests/slsa_analyzer/build_tool/test_maven.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,9 @@
2121
Path(__file__).parent.joinpath("mock_repos", "maven_repos", "no_pom"),
2222
],
2323
)
24-
def test_get_build_dirs(maven_tool: Maven, mock_repo: Path) -> None:
24+
def test_get_build_dirs(snapshot: list, maven_tool: Maven, mock_repo: Path) -> None:
2525
"""Test discovering build directories."""
26-
# Maven detection now relies on group/artifact validation, which is not
27-
# provided by get_build_dirs().
28-
assert not list(maven_tool.get_build_dirs(str(mock_repo)))
26+
assert list(maven_tool.get_build_dirs(str(mock_repo))) == snapshot
2927

3028

3129
@pytest.mark.parametrize(

tests/slsa_analyzer/build_tool/test_pip.py

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2024 - 2025, Oracle and/or its affiliates. All rights reserved.
1+
# Copyright (c) 2024 - 2026, Oracle and/or its affiliates. All rights reserved.
22
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/.
33

44
"""This module tests the Pip build functions."""
@@ -113,7 +113,7 @@ def test_is_pip_deploy_command(
113113
),
114114
[
115115
(
116-
["pip", "build"],
116+
["python", "-m", "build"],
117117
BuildLanguage.PYTHON,
118118
None,
119119
None,
@@ -123,17 +123,6 @@ def test_is_pip_deploy_command(
123123
["codeql-analysis.yaml"],
124124
True,
125125
),
126-
(
127-
["python", "-m", "pip", "build"],
128-
BuildLanguage.PYTHON,
129-
None,
130-
None,
131-
".github/workflows/release.yaml",
132-
[{"key", "pass"}],
133-
["push"],
134-
["codeql-analysis.yaml"],
135-
True,
136-
),
137126
(
138127
["python", "-m", "flit", "build"],
139128
BuildLanguage.PYTHON,

0 commit comments

Comments
 (0)