Skip to content

Commit

Permalink
chore: unittests shall not run settings signals task
Browse files Browse the repository at this point in the history
  • Loading branch information
StefanFl committed Mar 12, 2025
1 parent ac9f23d commit 9f99c07
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 7 deletions.
5 changes: 4 additions & 1 deletion backend/application/commons/signals.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from typing import Any

import environ
from django.db.models.signals import post_save
from django.dispatch import receiver
from huey.contrib.djhuey import db_task, lock_task
Expand All @@ -19,7 +20,9 @@ def settings_post_save( # pylint: disable=unused-argument
sender: Any, instance: Settings, created: bool, **kwargs: Any
) -> None:
# parameters are needed according to Django documentation
settings_post_save_task(instance, created)
env = environ.Env()
if not env.bool("SO_UNITTESTS", False):
settings_post_save_task(instance, created)


@db_task()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
from unittest.mock import patch

from unittests.access_control.api.test_authorization import (
APITest,
TestAuthorizationBase,
Expand All @@ -8,10 +6,7 @@

class TestAuthorizationSettings(TestAuthorizationBase):

@patch("application.commons.signals.check_security_gate")
@patch("application.commons.signals.import_cvss_bt")
@patch("application.commons.signals.apply_exploit_information_observations")
def test_authorization_settings(self, mock_apply, mock_import_cvss_bt, mock_check_security_gate):
def test_authorization_settings(self):
expected_data = "{'id': 1, 'security_gate_active': True, 'security_gate_threshold_critical': 0, 'security_gate_threshold_high': 0, 'security_gate_threshold_medium': 99999, 'security_gate_threshold_low': 99999, 'security_gate_threshold_none': 99999, 'security_gate_threshold_unknown': 99999, 'jwt_validity_duration_user': 168, 'jwt_validity_duration_superuser': 24, 'internal_users': '', 'base_url_frontend': '', 'exception_ms_teams_webhook': '', 'exception_slack_webhook': '', 'exception_rate_limit': 3600, 'email_from': '', 'exception_email_to': '', 'background_product_metrics_interval_minutes': 5, 'background_epss_import_crontab_minute': 0, 'background_epss_import_crontab_hour': 3, 'branch_housekeeping_crontab_minute': 0, 'branch_housekeeping_crontab_hour': 2, 'branch_housekeeping_active': True, 'branch_housekeeping_keep_inactive_days': 30, 'branch_housekeeping_exempt_branches': '', 'feature_vex': False, 'feature_disable_user_login': False, 'feature_general_rules_need_approval': False, 'risk_acceptance_expiry_days': 30, 'risk_acceptance_expiry_crontab_minute': 0, 'risk_acceptance_expiry_crontab_hour': 1, 'feature_automatic_api_import': True, 'api_import_crontab_minute': 0, 'api_import_crontab_hour': 4, 'password_validator_minimum_length': 8, 'password_validator_attribute_similarity': True, 'password_validator_common_passwords': True, 'password_validator_not_numeric': True, 'feature_license_management': True, 'license_import_crontab_minute': 30, 'license_import_crontab_hour': 1, 'feature_automatic_osv_scanning': True, 'feature_exploit_information': True, 'exploit_information_max_age_years': 10}"
self._test_api(APITest("db_admin", "get", "/api/settings/1/", None, 200, expected_data))

Expand Down
2 changes: 2 additions & 0 deletions docker/backend/unittests/django/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ RUN poetry install --extras "unittests" --no-root && rm -rf $POETRY_CACHE_DIR
# Python 'run' stage
FROM python-base AS python-run-stage

ENV SO_UNITTESTS=true

ARG BUILD_ENVIRONMENT=prod
ARG APP_HOME=/app
ARG VERSION=unittest_version
Expand Down

0 comments on commit 9f99c07

Please sign in to comment.