Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ repos:
- id: detect-secrets

- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.15.1
rev: v0.15.2
hooks:
- id: ruff
- id: ruff-format
Expand Down
2 changes: 1 addition & 1 deletion apps/jira_utils/jira_information.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ def get_jira_information(
jira_fix_versions = ",".join([jira_fix_version.name for jira_fix_version in jira_fix_versions])
current_target_versions = re.findall(re_compile, jira_fix_versions)

if any([version in jira_target_versions for version in current_target_versions]):
if any(version in jira_target_versions for version in current_target_versions):
return file_name, jira_error_string

else:
Expand Down
244 changes: 125 additions & 119 deletions apps/unused_code/unused_code.py

Large diffs are not rendered by default.

5 changes: 3 additions & 2 deletions apps/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@

import json
import os
from typing import Any, Dict, Iterable, Optional
from collections.abc import Iterable
from typing import Any

import click
import yaml
Expand All @@ -11,7 +12,7 @@
LOGGER = get_logger(name=__name__)


def get_util_config(util_name: str, config_file_path: Optional[str] = None) -> Dict[str, Any]:
def get_util_config(util_name: str, config_file_path: str | None = None) -> dict[str, Any]:
if config_file_path and os.path.exists(config_file_path):
with open(config_file_path) as _file:
return yaml.safe_load(_file).get(util_name, {})
Expand Down
48 changes: 25 additions & 23 deletions tests/polarion/test_polarion_set_automated_coverage.py
Original file line number Diff line number Diff line change
Expand Up @@ -303,31 +303,33 @@ def test_command_verbose_logging(self, mock_remove, mock_find, mock_get_project)
mock_find.return_value = []
mock_remove.return_value = {"updated": [], "failed": []}

with patch("apps.polarion.polarion_set_automated.LOGGER") as mock_logger:
with patch("logging.getLogger") as mock_get_logger:
mock_utils_logger = MagicMock()
mock_get_logger.return_value = mock_utils_logger
with (
patch("apps.polarion.polarion_set_automated.LOGGER") as mock_logger,
patch("logging.getLogger") as mock_get_logger,
):
mock_utils_logger = MagicMock()
mock_get_logger.return_value = mock_utils_logger

# Act
result = self.runner.invoke(
polarion_approve_automate,
[
"--previous-commit",
"abc123",
"--current-commit",
"def456",
"--project-id",
"TEST_PROJECT",
"--verbose",
],
)
# Act
result = self.runner.invoke(
polarion_approve_automate,
[
"--previous-commit",
"abc123",
"--current-commit",
"def456",
"--project-id",
"TEST_PROJECT",
"--verbose",
],
)

# Assert
assert result.exit_code == 0
# Verify logging level was set
mock_logger.setLevel.assert_called_with(logging.DEBUG)
mock_get_logger.assert_called_with("apps.polarion.polarion_utils")
mock_utils_logger.setLevel.assert_called_with(logging.DEBUG)
# Assert
assert result.exit_code == 0
# Verify logging level was set
mock_logger.setLevel.assert_called_with(logging.DEBUG)
mock_get_logger.assert_called_with("apps.polarion.polarion_utils")
mock_utils_logger.setLevel.assert_called_with(logging.DEBUG)

@patch("apps.polarion.polarion_set_automated.get_polarion_project_id")
def test_command_uses_config_file_project_id(self, mock_get_project):
Expand Down
70 changes: 37 additions & 33 deletions tests/polarion/test_polarion_verify_tc_requirements_coverage.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,23 +114,25 @@ def test_command_verbose_logging(self, mock_validate, mock_find, mock_get_projec
mock_find.return_value = []
mock_validate.return_value = []

with patch("apps.polarion.polarion_verify_tc_requirements.LOGGER") as mock_logger:
with patch("logging.getLogger") as mock_get_logger:
mock_utils_logger = MagicMock()
mock_get_logger.return_value = mock_utils_logger

# Act
result = self.runner.invoke(
has_verify,
["--project-id", "TEST_PROJECT", "--verbose"],
)

# Assert
assert result.exit_code == 0
# Verify logging level was set
mock_logger.setLevel.assert_called_with(logging.DEBUG)
mock_get_logger.assert_called_with("apps.polarion.polarion_utils")
mock_utils_logger.setLevel.assert_called_with(logging.DEBUG)
with (
patch("apps.polarion.polarion_verify_tc_requirements.LOGGER") as mock_logger,
patch("logging.getLogger") as mock_get_logger,
):
mock_utils_logger = MagicMock()
mock_get_logger.return_value = mock_utils_logger

# Act
result = self.runner.invoke(
has_verify,
["--project-id", "TEST_PROJECT", "--verbose"],
)

# Assert
assert result.exit_code == 0
# Verify logging level was set
mock_logger.setLevel.assert_called_with(logging.DEBUG)
mock_get_logger.assert_called_with("apps.polarion.polarion_utils")
mock_utils_logger.setLevel.assert_called_with(logging.DEBUG)

@patch("apps.polarion.polarion_verify_tc_requirements.get_polarion_project_id")
def test_command_uses_config_file_project_id(self, mock_get_project):
Expand Down Expand Up @@ -361,19 +363,21 @@ def test_command_mixed_logging_scenarios(self, mock_validate, mock_find, mock_ge
mock_find.return_value = test_ids
mock_validate.return_value = missing_requirements

with patch("apps.polarion.polarion_verify_tc_requirements.LOGGER") as mock_logger:
with patch("sys.exit") as mock_exit:
# Act
self.runner.invoke(
has_verify,
["--project-id", "TEST_PROJECT", "--verbose"],
)

# Assert
# sys.exit(1) should be called due to missing requirements
assert mock_exit.call_count >= 1
assert 1 in [call.args[0] for call in mock_exit.call_args_list]
# Verify both debug and error logging were called
mock_logger.debug.assert_called_once_with(f"Checking following ids: {test_ids}")
mock_logger.error.assert_called_once_with(f"TestCases with missing requirement: {missing_requirements}")
mock_logger.setLevel.assert_called_with(logging.DEBUG)
with (
patch("apps.polarion.polarion_verify_tc_requirements.LOGGER") as mock_logger,
patch("sys.exit") as mock_exit,
):
# Act
self.runner.invoke(
has_verify,
["--project-id", "TEST_PROJECT", "--verbose"],
)

# Assert
# sys.exit(1) should be called due to missing requirements
assert mock_exit.call_count >= 1
assert 1 in [call.args[0] for call in mock_exit.call_args_list]
# Verify both debug and error logging were called
mock_logger.debug.assert_called_once_with(f"Checking following ids: {test_ids}")
mock_logger.error.assert_called_once_with(f"TestCases with missing requirement: {missing_requirements}")
mock_logger.setLevel.assert_called_with(logging.DEBUG)
9 changes: 2 additions & 7 deletions tests/unused_code/manifests/unused_code_file_for_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,10 @@
# Original functions for existing tests compatibility
def unused_code_check_fail() -> None:
"""Original function for compatibility with existing tests."""
pass


def unused_code_check_file() -> None:
"""Original function for compatibility with existing tests."""
pass


def unused_code_namespace():
Expand Down Expand Up @@ -156,7 +154,6 @@ def unused_code_some_other_function():
Returns:
str: The created namespace name.
"""
pass


def unused_code_edge_case_function():
Expand All @@ -172,7 +169,6 @@ def unused_code_edge_case_function():
Returns:
None
"""
pass


def unused_code_function_with_legitimate_calls():
Expand All @@ -186,8 +182,7 @@ def unused_code_function_with_legitimate_calls():
unused_code_create_secret()

if unused_code_validate_namespace():
deploy_result = unused_code_deploy_app()
return deploy_result
return unused_code_deploy_app()

return result

Expand Down Expand Up @@ -215,4 +210,4 @@ def unused_code_unused_function_with_docs():

def unused_code_skip_with_comment() -> None:
"""Function that should be skipped due to comment."""
pass # skip-unused-code
# skip-unused-code
4 changes: 2 additions & 2 deletions tests/unused_code/test_unused_code_coverage.py
Original file line number Diff line number Diff line change
Expand Up @@ -151,9 +151,9 @@ def test_is_documentation_pattern(line, is_doc):
def test_git_grep_error(mocker):
mocker.patch(
"apps.unused_code.unused_code.subprocess.run",
side_effect=Exception("git error"),
side_effect=RuntimeError("git error"),
)
with pytest.raises(Exception):
with pytest.raises(RuntimeError):
_git_grep("pattern")


Expand Down