Skip to content

Code quality

ALN** occurrences by order of importance

NOQA Number of occurrences
ALN069: You can't import models from other components, see: https://www.notion.so/alaninsurance/Modular-monolith-a9d84f1318d34115bbd08b3648e5a587 ⧉", 15
ALN043: You can only import things from a Component public module, see: https://www.notion.so/alaninsurance/Modular-monolith-a9d84f1318d34115bbd08b3648e5a587 ⧉", 27
ALN039: The module public cannot import other components (or from apps/), it's meant to be the public interface of the component #{self.component_name}, see: https://www.notion.so/alaninsurance/Modular-monolith-a9d84f1318d34115bbd08b3648e5a587 ⧉", 22
ALN027: This class checks that no protected attribute access is used. 17
ALN079: Check for direct instantiation of AlanBaseFactory or its derived classes. Always use the .create() class method instead of direct instantiation. 13
ALN080: The Model.query.get(...) method is considered legacy as of the 1.x series of SQLAlchemy and will be removed. Use " current_session.get(Model, ...) instead. 2
ALN085: Enforces SQLAlchemy 2.0 query style by detecting deprecated patterns that will be removed in SQLAlchemy 2.0. This linter checks for: 1. Usage of session.query() which is deprecated in favor of session.scalar(), session.scalars(), or session.execute() Note: Other SQLAlchemy 2.0 deprecation warnings are already being turned into errors at runtime by the _turn_sql_alchemy_warning_into_errors function in backend/shared/models/orm/sqlalchemy.py. 164

Listing of files of the most critical ALN**

ALN069 occurs 15 times

File:line Content
components/employment/internal/commands/stale_invitations.py:21 ⧉ from components.fr.internal.models.enums.bot_users import ( # noqa: ALN069
components/employment/internal/business_logic/queries/tests/test_blocked_movements.py:3 ⧉ from components.be.internal.models.tests.factories import ( # noqa: ALN069
components/employment/internal/business_logic/queries/tests/test_blocked_movements.py:10 ⧉ from components.es.internal.models.tests.factories import ( # noqa: ALN069
components/employment/public/tests/blocked_movements_utils.py:33 ⧉ from components.fr.internal.models.company import ( # noqa: ALN039,ALN069
components/employment/public/tests/test_sources_configuration.py:46 ⧉ from components.fr.internal.models.enums.employee_termination_type import ( # noqa: ALN039,ALN069
components/employment/public/tests/test_boomerang_event_integration.py:14 ⧉ from components.be.internal.models.tests.factories import ( # noqa: ALN039, ALN069
components/employment/public/tests/test_boomerang_event_integration.py:17 ⧉ from components.be.internal.models.tests.use_case_factories.active_health_contract_factory import ( # noqa: ALN039, ALN069
components/employment/public/tests/test_boomerang_event_integration.py:26 ⧉ from components.ca.internal.offer.models.health_plan import ( # noqa: ALN039, ALN069
components/employment/public/tests/test_boomerang_event_integration.py:35 ⧉ from components.contracting.subcomponents.subscription.internal.models.subscription_version import ( # noqa: ALN039, ALN069
components/employment/public/tests/test_boomerang_event_integration.py:47 ⧉ from components.es.internal.models.tests.configurator_test_environment import ( # noqa: ALN039, ALN069
components/employment/public/tests/test_boomerang_event_integration.py:50 ⧉ from components.fr.internal.models.enums.professional_category import ( # noqa: ALN039, ALN069
components/employment/public/business_logic/admin_resolvers/resolvers/tests/test_external_employee_id_conflict_resolver.py:7 ⧉ from components.employment.internal.models.model_brokers import ( # NOQA: ALN039 ALN069
components/employment/public/business_logic/admin_resolvers/resolvers/tests/test_external_employee_id_conflict_resolver.py:10 ⧉ from components.employment.internal.models.tests.factories import ( # NOQA: ALN039 ALN069
components/employment/public/business_logic/admin_resolvers/resolvers/tests/test_missing_required_external_employee_id_resolver.py:8 ⧉ from components.employment.internal.models.tests.blocked_movement import ( # NOQA: ALN039 ALN069
components/employment/public/business_logic/admin_resolvers/resolvers/tests/test_missing_required_external_employee_id_resolver.py:23 ⧉ from components.employment.public.tests.factories import ( # NOQA: ALN039 ALN069

ALN043 occurs 27 times

File:line Content
components/employment/internal/controllers/tests/test_stale_invitation_controller.py:19 ⧉ from components.fr.internal.business_logic.company.actions.admin import ( # noqa: ALN043
components/employment/internal/controllers/tests/test_stale_invitation_controller.py:22 ⧉ from components.fr.internal.tests.factories.company import ( # noqa: ALN043
components/employment/internal/controllers/tests/test_blocked_movement_controller.py:23 ⧉ from components.fr.internal.tests.factories.account import ( # noqa: ALN043
components/employment/internal/controllers/tests/test_blocked_movement_controller.py:26 ⧉ from components.fr.internal.tests.factories.company import ( # noqa: ALN043
components/employment/internal/tests/test_blocked_movement_creator.py:31 ⧉ from components.fr.internal.tests.factories.employment import ( # noqa: ALN043
components/employment/internal/commands/stale_invitations.py:18 ⧉ from components.fr.internal.commands.helpers.authenticate_bot import ( # noqa: ALN043 # this is shared tooling
components/employment/internal/commands/stale_invitations.py:105 ⧉ from components.fr.internal.services.customerio import ( # noqa: ALN043
components/employment/internal/commands/tests/test_stale_invitations.py:3 ⧉ from components.contracting.external.tests_imports import ( # noqa: ALN043
components/employment/internal/commands/tests/test_stale_invitations.py:28 ⧉ from components.fr.internal.tests.factories.company import ( # noqa: ALN043
components/employment/internal/commands/tests/test_stale_invitations.py:31 ⧉ from components.fr.internal.tests.factories.email_log import ( # noqa: ALN043
components/employment/internal/commands/tests/test_stale_invitations.py:34 ⧉ from components.fr.internal.tests.factories.user import UserFactory # noqa: ALN043
components/employment/internal/commands/tests/test_send_blocked_movements_to_fragment.py:16 ⧉ from components.fr.internal.tests.factories.company import ( # noqa: ALN043
components/employment/internal/business_logic/queries/blocked_movements.py:299 ⧉ from components.fr.internal.business_logic.company.queries.company import ( # noqa: ALN043
components/employment/internal/business_logic/queries/tests/test_blocked_movements.py:14 ⧉ from components.fr.internal.tests.factories.account import ( # noqa: ALN043
components/employment/internal/business_logic/queries/tests/test_blocked_movements.py:17 ⧉ from components.fr.internal.tests.factories.company import ( # noqa: ALN043
components/employment/internal/business_logic/actions/blocked_movement.py:236 ⧉ from components.fr.internal.fr_employment_data_sources.business_logic.global_affiliation_transition.ingest_employment_declaration import ( # noqa: ALN043
components/employment/internal/business_logic/actions/tests/test_blocked_movement.py:67 ⧉ from components.fr.internal.tests.factories.employment import ( # noqa: ALN043
components/employment/public/tests/blocked_movements_utils.py:134 ⧉ from components.fr.internal.tests.factories.user import ( # noqa: ALN039,ALN043
components/employment/public/tests/test_sources_configuration.py:49 ⧉ from components.fr.internal.tests.factories.policy import ( # noqa: ALN039,ALN043
components/employment/public/tests/test_boomerang_event_integration.py:20 ⧉ from components.ca.internal.contracting.actions.add_health_contract_versions import ( # noqa: ALN039, ALN043
components/employment/public/tests/test_boomerang_event_integration.py:23 ⧉ from components.ca.internal.contracting.actions.initialize_subscription import ( # noqa: ALN039, ALN043
components/employment/public/tests/test_boomerang_event_integration.py:29 ⧉ from components.ca.internal.tests.factories.factories import ( # noqa: ALN039, ALN043
components/employment/public/tests/test_boomerang_event_integration.py:53 ⧉ from components.fr.internal.tests.factories.contract import ( # noqa: ALN039, ALN043
components/employment/public/business_logic/admin_resolvers/resolvers/tests/test_stale_invitation_resolver.py:24 ⧉ from components.fr.internal.tests.factories.company import ( # noqa: ALN039,ALN043
components/employment/public/business_logic/actions/delete_user.py:28 ⧉ from components.fr.internal.business_logic.helpers.delete import ( # noqa: ALN039,ALN043 # typing
components/employment/public/business_logic/actions/tests/test_delete_user.py:15 ⧉ from components.fr.internal.business_logic.helpers.delete import ( # noqa: ALN039,ALN043 # test setup
components/employment/public/business_logic/actions/tests/test_delete_user.py:18 ⧉ from components.fr.internal.tests.factories.user import ( # noqa: ALN039,ALN043 # test setup

ALN039 occurs 22 times

File:line Content
components/employment/public/tests/blocked_movements_utils.py:33 ⧉ from components.fr.internal.models.company import ( # noqa: ALN039,ALN069
components/employment/public/tests/blocked_movements_utils.py:134 ⧉ from components.fr.internal.tests.factories.user import ( # noqa: ALN039,ALN043
components/employment/public/tests/test_sources_configuration.py:46 ⧉ from components.fr.internal.models.enums.employee_termination_type import ( # noqa: ALN039,ALN069
components/employment/public/tests/test_sources_configuration.py:49 ⧉ from components.fr.internal.tests.factories.policy import ( # noqa: ALN039,ALN043
components/employment/public/tests/test_boomerang_event_integration.py:14 ⧉ from components.be.internal.models.tests.factories import ( # noqa: ALN039, ALN069
components/employment/public/tests/test_boomerang_event_integration.py:17 ⧉ from components.be.internal.models.tests.use_case_factories.active_health_contract_factory import ( # noqa: ALN039, ALN069
components/employment/public/tests/test_boomerang_event_integration.py:20 ⧉ from components.ca.internal.contracting.actions.add_health_contract_versions import ( # noqa: ALN039, ALN043
components/employment/public/tests/test_boomerang_event_integration.py:23 ⧉ from components.ca.internal.contracting.actions.initialize_subscription import ( # noqa: ALN039, ALN043
components/employment/public/tests/test_boomerang_event_integration.py:26 ⧉ from components.ca.internal.offer.models.health_plan import ( # noqa: ALN039, ALN069
components/employment/public/tests/test_boomerang_event_integration.py:29 ⧉ from components.ca.internal.tests.factories.factories import ( # noqa: ALN039, ALN043
components/employment/public/tests/test_boomerang_event_integration.py:35 ⧉ from components.contracting.subcomponents.subscription.internal.models.subscription_version import ( # noqa: ALN039, ALN069
components/employment/public/tests/test_boomerang_event_integration.py:47 ⧉ from components.es.internal.models.tests.configurator_test_environment import ( # noqa: ALN039, ALN069
components/employment/public/tests/test_boomerang_event_integration.py:50 ⧉ from components.fr.internal.models.enums.professional_category import ( # noqa: ALN039, ALN069
components/employment/public/tests/test_boomerang_event_integration.py:53 ⧉ from components.fr.internal.tests.factories.contract import ( # noqa: ALN039, ALN043
components/employment/public/business_logic/admin_resolvers/resolvers/tests/test_stale_invitation_resolver.py:24 ⧉ from components.fr.internal.tests.factories.company import ( # noqa: ALN039,ALN043
components/employment/public/business_logic/admin_resolvers/resolvers/tests/test_external_employee_id_conflict_resolver.py:7 ⧉ from components.employment.internal.models.model_brokers import ( # NOQA: ALN039 ALN069
components/employment/public/business_logic/admin_resolvers/resolvers/tests/test_external_employee_id_conflict_resolver.py:10 ⧉ from components.employment.internal.models.tests.factories import ( # NOQA: ALN039 ALN069
components/employment/public/business_logic/admin_resolvers/resolvers/tests/test_missing_required_external_employee_id_resolver.py:8 ⧉ from components.employment.internal.models.tests.blocked_movement import ( # NOQA: ALN039 ALN069
components/employment/public/business_logic/admin_resolvers/resolvers/tests/test_missing_required_external_employee_id_resolver.py:23 ⧉ from components.employment.public.tests.factories import ( # NOQA: ALN039 ALN069
components/employment/public/business_logic/actions/delete_user.py:28 ⧉ from components.fr.internal.business_logic.helpers.delete import ( # noqa: ALN039,ALN043 # typing
components/employment/public/business_logic/actions/tests/test_delete_user.py:15 ⧉ from components.fr.internal.business_logic.helpers.delete import ( # noqa: ALN039,ALN043 # test setup
components/employment/public/business_logic/actions/tests/test_delete_user.py:18 ⧉ from components.fr.internal.tests.factories.user import ( # noqa: ALN039,ALN043 # test setup