Saleor Core: the high performance, composable, headless commerce API.
This report presents the forensic synthetic code analysis of saleor/saleor, a Python project with 23,084 GitHub stars. SynthScan v2.0 examined 805,849 lines of code across 2998 source files, recording 17387 pattern matches distributed across 18 syntactic categories. The overall adjusted score of 20.4 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 17387 distinct pattern matches across 18 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | CONTRIBUTING.md | 279 | def test_apps_for_federation_query_count( | CODE |
| LOW | AGENTS.md | 136 | def my_model_qs_select_for_update() -> QuerySet[MyModel]: | CODE |
| LOW | CLAUDE.md | 136 | def my_model_qs_select_for_update() -> QuerySet[MyModel]: | CODE |
| LOW⚡ | …p/security/logging/exception-object-in-logger-extra.py | 74 | def test_log_exception_with_finally_block(): | CODE |
| LOW⚡ | …p/security/logging/exception-object-in-logger-extra.py | 84 | def test_log_exception_with_else_block(): | CODE |
| LOW⚡ | …p/security/logging/exception-object-in-logger-extra.py | 94 | def test_log_exception_with_finally_else_block(): | CODE |
| LOW⚡ | …p/security/logging/exception-object-in-logger-extra.py | 106 | def test_not_logging_exception(): | CODE |
| LOW⚡ | …p/security/logging/exception-object-in-logger-extra.py | 115 | def test_not_logging_exception(): | CODE |
| LOW | …p/security/logging/exception-object-in-logger-extra.py | 10 | def test_log_catch_multiple_exceptions(): | CODE |
| LOW | …p/security/logging/exception-object-in-logger-extra.py | 29 | def test_log_middle_of_statement(): | CODE |
| LOW⚡ | …elery/celery-migration-task-missing-dedicated-queue.py | 9 | def migration_task_without_queue_set(): | CODE |
| LOW⚡ | …elery/celery-migration-task-missing-dedicated-queue.py | 16 | def migration_task_without_queue_set_and_more_decorators(): | CODE |
| LOW⚡ | …elery/celery-migration-task-missing-dedicated-queue.py | 22 | def migration_task_with_no_args(): | CODE |
| LOW⚡ | …elery/celery-migration-task-missing-dedicated-queue.py | 34 | def migration_task_with_args_and_kwargs( | CODE |
| LOW⚡ | …elery/celery-migration-task-missing-dedicated-queue.py | 42 | def migration_task_with_queue_set_to_raw_value(): | CODE |
| LOW⚡ | …elery/celery-migration-task-missing-dedicated-queue.py | 48 | def migration_task_with_args_kwargs_and_queue_set_to_raw_value(self): | CODE |
| LOW⚡ | …elery/celery-migration-task-missing-dedicated-queue.py | 54 | def migration_task_with_queue_set(): | CODE |
| LOW⚡ | …elery/celery-migration-task-missing-dedicated-queue.py | 61 | def migration_task_with_queue_set_and_more_decorators(): | CODE |
| LOW⚡ | …elery/celery-migration-task-missing-dedicated-queue.py | 67 | def migration_task_with_kwargs_and_queue_set_first(self): | CODE |
| LOW⚡ | …elery/celery-migration-task-missing-dedicated-queue.py | 73 | def migration_task_with_kwargs_and_queue_set_last(self): | CODE |
| LOW⚡ | …elery/celery-migration-task-missing-dedicated-queue.py | 79 | def migration_task_with_kwargs_and_queue_set_in_the_middle(self): | CODE |
| LOW⚡ | …elery/celery-migration-task-missing-dedicated-queue.py | 85 | def migration_task_with_multiline_kwargs_and_queue(): | CODE |
| LOW⚡ | …mgrep/correctness/celery/task-logger-without-suffix.py | 10 | def same_name_with_celery_first(): | CODE |
| LOW⚡ | …mgrep/correctness/celery/task-logger-without-suffix.py | 17 | def different_name_get_task_logger(): | CODE |
| LOW⚡ | …mgrep/correctness/celery/task-logger-without-suffix.py | 22 | def different_name_logging_getlogger(): | CODE |
| LOW | …mgrep/correctness/celery/task-logger-without-suffix.py | 34 | def same_name_without_variables(): | CODE |
| LOW | …orrectness/django/django-migration-wrong-app-config.py | 24 | def wrong_app_config_multiline(apps, _schema_editor): | CODE |
| LOW | …orrectness/django/django-migration-wrong-app-config.py | 35 | def correct_app_config_multiline(apps, _schema_editor): | CODE |
| LOW⚡ | …orrectness/django/django-no-default-token-generator.py | 1 | def test_using_default_token_generator(): | CODE |
| LOW⚡ | …orrectness/django/django-no-default-token-generator.py | 6 | def test_using_token_generator_class(): | CODE |
| LOW⚡ | …orrectness/django/django-no-default-token-generator.py | 10 | def test_ok_not_using_django_builtin_default_token_generator(): | CODE |
| LOW | saleor/webhook/serializers.py | 20 | def serialize_variant_full_name( | CODE |
| LOW | saleor/webhook/serializers.py | 73 | def serialize_product_attributes(product: "Product") -> list[dict]: | CODE |
| LOW | saleor/webhook/serializers.py | 139 | def serialize_variant_attributes(variant: "ProductVariant") -> list[dict]: | CODE |
| LOW | saleor/webhook/utils.py | 27 | def get_filter_for_single_webhook_event( | CODE |
| LOW | saleor/webhook/utils.py | 94 | def get_webhooks_for_app_lifecycle_event( | CODE |
| LOW | saleor/webhook/utils.py | 129 | def get_webhooks_for_multiple_events( | CODE |
| LOW | saleor/webhook/utils.py | 162 | def calculate_webhooks_for_multiple_events( | CODE |
| LOW | saleor/webhook/utils.py | 202 | def filter_webhooks_for_channel( | CODE |
| LOW | saleor/webhook/payloads.py | 108 | def generate_metadata_updated_payload( | CODE |
| LOW | saleor/webhook/payloads.py | 128 | def prepare_order_lines_allocations_payload(line): | CODE |
| LOW | saleor/webhook/payloads.py | 143 | def generate_order_lines_payload(lines: Iterable[OrderLine]): | CODE |
| LOW | saleor/webhook/payloads.py | 195 | def _generate_collection_point_payload(warehouse: "Warehouse"): | CODE |
| LOW | saleor/webhook/payloads.py | 211 | def _generate_shipping_method_payload(shipping_method, channel): | CODE |
| LOW | saleor/webhook/payloads.py | 333 | def _generate_order_payment_payload(payments: Iterable["Payment"]): | CODE |
| LOW | saleor/webhook/payloads.py | 435 | def generate_sale_toggle_payload( | CODE |
| LOW | saleor/webhook/payloads.py | 478 | def _generate_order_payload_for_invoice(order: "Order"): | CODE |
| LOW | saleor/webhook/payloads.py | 499 | def generate_checkout_payload( | CODE |
| LOW | saleor/webhook/payloads.py | 595 | def generate_customer_payload( | CODE |
| LOW | saleor/webhook/payloads.py | 634 | def generate_collection_payload( | CODE |
| LOW | saleor/webhook/payloads.py | 672 | def serialize_product_channel_listing_payload(channel_listings): | CODE |
| LOW | saleor/webhook/payloads.py | 694 | def _get_charge_taxes_for_product(product: "Product") -> bool: | CODE |
| LOW | saleor/webhook/payloads.py | 752 | def generate_product_deleted_payload( | CODE |
| LOW | saleor/webhook/payloads.py | 783 | def generate_product_variant_listings_payload(variant_channel_listings): | CODE |
| LOW | saleor/webhook/payloads.py | 800 | def generate_product_variant_media_payload(product_variant): | CODE |
| LOW | saleor/webhook/payloads.py | 816 | def generate_product_variant_payload( | CODE |
| LOW | saleor/webhook/payloads.py | 855 | def generate_product_variant_stocks_payload(product_variant: "ProductVariant"): | CODE |
| LOW | saleor/webhook/payloads.py | 861 | def generate_fulfillment_lines_payload(fulfillment: Fulfillment): | CODE |
| LOW | saleor/webhook/payloads.py | 936 | def generate_fulfillment_payload( | CODE |
| LOW | saleor/webhook/payloads.py | 1014 | def _generate_refund_data_payload(data): | CODE |
| 13928 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | saleor/webhook/validators.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/webhook/tests/test_webhook_validators.py | 2 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/thumbnail/models.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/thumbnail/validators.py | 3 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/thumbnail/tests/test_validators.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/order/utils.py | 9 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/order/tests/test_calculations.py | 1272 | line.variant.product.tax_class.country_rates.update_or_create( | CODE |
| CRITICAL | saleor/order/tests/test_fulfillments_actions.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/core/notification/validation.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL⚡ | saleor/core/tests/test_notification.py | 2 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | …leor/core/management/commands/clean_editorjs_fields.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/core/utils/url.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/core/utils/promo_code.py | 3 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/core/editorjs/models.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/core/editorjs/cleaners.py | 6 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/core/editorjs/converters.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/app/tasks.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/app/manifest_validations.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/app/manifest_schema.py | 3 | from django.core.exceptions import ValidationError as DjangoValidationError | CODE |
| CRITICAL | saleor/app/tests/test_installation_utils.py | 8 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/app/tests/test_validators.py | 2 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/app/tests/test_manifest_validations.py | 2 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/app/management/commands/install_app.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/plugins/email_common.py | 17 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/plugins/avatax/plugin.py | 9 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/plugins/avatax/tests/test_avatax.py | 9 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/plugins/sendgrid/plugin.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/plugins/sendgrid/tests/test_plugin.py | 6 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/plugins/tests/test_email_common.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/plugins/openid_connect/utils.py | 13 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/plugins/openid_connect/plugin.py | 7 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/plugins/openid_connect/tests/test_utils.py | 12 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/plugins/openid_connect/tests/test_plugin.py | 8 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/plugins/admin_email/tests/test_plugin.py | 6 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/plugins/user_email/tests/test_plugin.py | 6 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/payment/gateways/braintree/tests/test_errors.py | 11 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/payment/gateways/stripe/plugin.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/payment/gateways/stripe/webhooks.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/payment/gateways/stripe/tests/test_plugin.py | 5 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/payment/gateways/stripe/tests/test_webhooks.py | 7 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/tax/tests/test_checkout_calculations.py | 193 | first_line.variant.product.tax_class.country_rates.update_or_create( | CODE |
| CRITICAL | saleor/tax/tests/test_checkout_calculations.py | 251 | first_line.variant.product.tax_class.country_rates.update_or_create( | CODE |
| CRITICAL | saleor/tax/tests/test_checkout_calculations.py | 310 | first_line.variant.product.tax_class.country_rates.update_or_create( | CODE |
| CRITICAL | saleor/checkout/tasks.py | 8 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/checkout/complete_checkout.py | 11 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/checkout/utils.py | 10 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/checkout/checkout_cleaner.py | 6 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/checkout/tests/test_checkout_complete.py | 6 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/checkout/tests/test_calculations.py | 335 | line.variant.product.tax_class.country_rates.update_or_create( | CODE |
| CRITICAL | saleor/checkout/tests/test_calculations.py | 444 | line.variant.product.tax_class.country_rates.update_or_create( | CODE |
| CRITICAL | saleor/checkout/tests/test_order_from_checkout.py | 6 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/graphql/error.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/graphql/webhook/mixins.py | 1 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/graphql/webhook/subscription_query.py | 4 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/graphql/webhook/mutations/webhook_delete.py | 2 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/graphql/webhook/mutations/webhook_create.py | 2 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/graphql/webhook/tests/test_subscription_query.py | 2 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/graphql/order/types.py | 8 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/graphql/order/utils.py | 8 | from django.core.exceptions import ValidationError | CODE |
| CRITICAL | saleor/graphql/order/filters.py | 6 | from django.core.exceptions import ValidationError | CODE |
| 248 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | .claude/skills/saleor-django-migration/SKILL.md | 25 | ### Step 1: Make model changes | COMMENT |
| LOW⚡ | .claude/skills/saleor-django-migration/SKILL.md | 29 | ### Step 2: Generate migration | COMMENT |
| LOW⚡ | .claude/skills/saleor-django-migration/SKILL.md | 37 | ### Step 3: Read and analyze the generated migration | COMMENT |
| LOW⚡ | .claude/skills/saleor-django-migration/SKILL.md | 44 | ### Step 4: Apply separation rules | COMMENT |
| LOW | .claude/skills/saleor-django-migration/SKILL.md | 63 | ### Step 5: Verify | COMMENT |
| LOW | .claude/skills/filter-benchmark/SKILL.md | 21 | ## Step 1: Identify what to benchmark | COMMENT |
| LOW | .claude/skills/filter-benchmark/SKILL.md | 31 | ## Step 2: Generate bulk data script | COMMENT |
| LOW | .claude/skills/filter-benchmark/SKILL.md | 108 | ## Step 3: Populate the database | COMMENT |
| LOW | .claude/skills/filter-benchmark/SKILL.md | 125 | ## Step 4: Extract the SQL query | COMMENT |
| LOW | .claude/skills/filter-benchmark/SKILL.md | 160 | ## Step 5: Analyze queries and generate report | COMMENT |
| LOW | .claude/skills/filter-benchmark/SKILL.md | 194 | ## Step 6: Wrap up | COMMENT |
| LOW⚡ | saleor/tests/e2e/gift_cards/test_gift_cards.py | 91 | # Step 1 - create gift card | COMMENT |
| LOW⚡ | saleor/tests/e2e/gift_cards/test_gift_cards.py | 95 | # Step 2 - prepare channel and product | COMMENT |
| LOW⚡ | saleor/tests/e2e/gift_cards/test_gift_cards.py | 100 | # Step 3 - create checkout | COMMENT |
| LOW⚡ | saleor/tests/e2e/gift_cards/test_gift_cards.py | 112 | # Step 4 - add gift card to checkout with addPromoCode | COMMENT |
| LOW⚡ | saleor/tests/e2e/gift_cards/test_gift_cards.py | 115 | # Step 5 - add gift card to checkout via transaction | COMMENT |
| LOW⚡ | saleor/tests/e2e/gift_cards/test_gift_cards.py | 123 | # Step 6 - complete checkout | COMMENT |
| LOW⚡ | saleor/tests/e2e/gift_cards/test_gift_cards.py | 126 | # Step 7 - check gift card funds | COMMENT |
| LOW⚡ | saleor/tests/e2e/gift_cards/test_gift_cards.py | 136 | # Step 8 - check order payment status and gift card transaction | COMMENT |
| LOW⚡ | saleor/tests/e2e/gift_cards/test_gift_cards.py | 162 | # Step 1 - create gift card | COMMENT |
| LOW⚡ | saleor/tests/e2e/gift_cards/test_gift_cards.py | 166 | # Step 2 - prepare channel and product | COMMENT |
| LOW⚡ | saleor/tests/e2e/gift_cards/test_gift_cards.py | 171 | # Step 3 - create checkout | COMMENT |
| LOW⚡ | saleor/tests/e2e/gift_cards/test_gift_cards.py | 183 | # Step 4 - add gift card to checkout via transaction | COMMENT |
| LOW⚡ | saleor/tests/e2e/gift_cards/test_gift_cards.py | 191 | # Step 5 - complete checkout | COMMENT |
| LOW⚡ | saleor/tests/e2e/gift_cards/test_gift_cards.py | 214 | # Step 6 - check gift card funds | COMMENT |
| LOW⚡ | saleor/tests/e2e/gift_cards/test_gift_cards.py | 222 | # Step 7 - check order payment status and gift card transaction | COMMENT |
| LOW⚡ | saleor/tests/e2e/gift_cards/test_gift_cards.py | 248 | # Step 1 - create gift card | COMMENT |
| LOW⚡ | saleor/tests/e2e/gift_cards/test_gift_cards.py | 252 | # Step 2 - prepare channel and product | COMMENT |
| LOW⚡ | saleor/tests/e2e/gift_cards/test_gift_cards.py | 257 | # Step 3 - create checkout | COMMENT |
| LOW⚡ | saleor/tests/e2e/gift_cards/test_gift_cards.py | 269 | # Step 4 - add gift card to checkout via transaction | COMMENT |
| LOW⚡ | saleor/tests/e2e/gift_cards/test_gift_cards.py | 277 | # Step 5 - complete checkout | COMMENT |
| LOW⚡ | saleor/tests/e2e/gift_cards/test_gift_cards.py | 300 | # Step 6 - check gift card funds | COMMENT |
| LOW⚡ | saleor/tests/e2e/gift_cards/test_gift_cards.py | 305 | # Step 7 - check order payment status and gift card transaction | COMMENT |
| LOW⚡ | saleor/tests/e2e/gift_cards/test_gift_cards.py | 331 | # Step 1 - create gift card | COMMENT |
| LOW⚡ | saleor/tests/e2e/gift_cards/test_gift_cards.py | 335 | # Step 2 - prepare channel and product | COMMENT |
| LOW⚡ | saleor/tests/e2e/gift_cards/test_gift_cards.py | 340 | # Step 3 - create checkout | COMMENT |
| LOW | saleor/tests/e2e/gift_cards/test_gift_cards.py | 352 | # Step 4 - add gift card to checkout with addPromoCode | COMMENT |
| LOW | saleor/tests/e2e/gift_cards/test_gift_cards.py | 355 | # Step 5 - create another checkout | COMMENT |
| LOW | saleor/tests/e2e/gift_cards/test_gift_cards.py | 367 | # Step 6 - add gift card to another checkout via transaction | COMMENT |
| LOW | saleor/tests/e2e/gift_cards/test_gift_cards.py | 375 | # Step 6 - complete checkout | COMMENT |
| LOW | saleor/tests/e2e/gift_cards/test_gift_cards.py | 388 | # Step 6 - check gift card funds | COMMENT |
| LOW | saleor/tests/e2e/gift_cards/test_gift_cards.py | 395 | # Step 7 - check order payment status and gift card transaction | COMMENT |
| LOW⚡ | saleor/tests/e2e/product/test_create_simple_product.py | 64 | # Step 1 - Create product with attribute | COMMENT |
| LOW⚡ | saleor/tests/e2e/product/test_create_simple_product.py | 73 | # Step 2 - Update product channel listing | COMMENT |
| LOW⚡ | saleor/tests/e2e/product/test_create_simple_product.py | 80 | # Step 3 - Create variant | COMMENT |
| LOW | saleor/tests/e2e/product/test_create_simple_product.py | 94 | # Step 4 - Update variant channel listing | COMMENT |
| LOW | saleor/tests/e2e/product/test_create_simple_product.py | 102 | # Step 5 - Check product and variant data | COMMENT |
| LOW | …create_product_with_restricted_reference_attributes.py | 45 | # Step 1 - Create reference attributes with reference types | COMMENT |
| LOW | …create_product_with_restricted_reference_attributes.py | 100 | # Step 2 - Create product type with the attributes | COMMENT |
| LOW | …create_product_with_restricted_reference_attributes.py | 113 | # Step 3 - Prepare references not valid for specified attributes | COMMENT |
| LOW | …create_product_with_restricted_reference_attributes.py | 137 | # Step 4 - Create product with a wrong attribute value and check for error | COMMENT |
| LOW | …create_product_with_restricted_reference_attributes.py | 155 | # Step 5 - Create product with a correct attribute values | COMMENT |
| LOW | …create_product_with_restricted_reference_attributes.py | 186 | # Step 6 - Update attributes and clear reference types | COMMENT |
| LOW | …create_product_with_restricted_reference_attributes.py | 202 | # Step 7 - Update product with a previously wrong attribute value | COMMENT |
| LOW | …oduct/test_create_product_with_all_attributes_types.py | 42 | # Step 1 - Bulk create attributes for each input type | COMMENT |
| LOW | …oduct/test_create_product_with_all_attributes_types.py | 60 | # Step 2 - Create product type with all attributes | COMMENT |
| LOW | …oduct/test_create_product_with_all_attributes_types.py | 83 | # Step 3 - Create product with all attributes | COMMENT |
| LOW⚡ | …ct_no_longer_on_promotion_when_promotion_is_removed.py | 77 | # Step 1 - Check product is on promotion | COMMENT |
| LOW⚡ | …ct_no_longer_on_promotion_when_promotion_is_removed.py | 86 | # Step 2 - Remove the promotion and check the product is not on promotion | COMMENT |
| LOW⚡ | …ct_no_longer_on_promotion_when_promotion_is_removed.py | 95 | # Step 3 - Check product in no longer on promotion | COMMENT |
| 801 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …orrectness/django/django-no-default-token-generator.py | 3 | CODE | |
| LOW | …orrectness/django/django-no-default-token-generator.py | 8 | CODE | |
| LOW | …orrectness/django/django-no-default-token-generator.py | 12 | CODE | |
| LOW | saleor/__init__.py | 1 | CODE | |
| LOW | saleor/webhook/serializers.py | 16 | CODE | |
| LOW | saleor/webhook/serializers.py | 17 | CODE | |
| LOW | saleor/webhook/payload_helpers.py | 11 | CODE | |
| LOW | saleor/webhook/utils.py | 14 | CODE | |
| LOW | saleor/webhook/payloads.py | 13 | CODE | |
| LOW | saleor/webhook/payloads.py | 31 | CODE | |
| LOW | saleor/webhook/payloads.py | 33 | CODE | |
| LOW | saleor/webhook/payloads.py | 50 | CODE | |
| LOW | saleor/webhook/payloads.py | 51 | CODE | |
| LOW | saleor/webhook/payloads.py | 52 | CODE | |
| LOW | saleor/webhook/payloads.py | 52 | CODE | |
| LOW | saleor/webhook/payloads.py | 52 | CODE | |
| LOW | saleor/webhook/payloads.py | 52 | CODE | |
| LOW | saleor/webhook/payloads.py | 58 | CODE | |
| LOW | saleor/webhook/payloads.py | 59 | CODE | |
| LOW | saleor/webhook/circuit_breaker/breaker_board.py | 21 | CODE | |
| LOW | saleor/webhook/transport/list_stored_payment_methods.py | 8 | CODE | |
| LOW | saleor/webhook/transport/payment.py | 4 | CODE | |
| LOW | saleor/webhook/transport/payment.py | 5 | CODE | |
| LOW | saleor/webhook/transport/asynchronous/transport.py | 65 | CODE | |
| LOW | saleor/webhook/transport/asynchronous/__init__.py | 1 | CODE | |
| LOW | saleor/webhook/transport/asynchronous/__init__.py | 1 | CODE | |
| LOW | saleor/webhook/transport/asynchronous/__init__.py | 1 | CODE | |
| LOW | saleor/webhook/transport/synchronous/transport.py | 28 | CODE | |
| LOW | saleor/webhook/transport/synchronous/transport.py | 59 | CODE | |
| LOW | saleor/webhook/transport/synchronous/transport.py | 60 | CODE | |
| LOW | saleor/webhook/transport/synchronous/transport.py | 61 | CODE | |
| LOW | saleor/webhook/observability/obfuscation.py | 26 | CODE | |
| LOW | saleor/webhook/observability/obfuscation.py | 28 | CODE | |
| LOW | saleor/webhook/observability/__init__.py | 1 | CODE | |
| LOW | saleor/webhook/observability/__init__.py | 2 | CODE | |
| LOW | saleor/webhook/observability/__init__.py | 3 | CODE | |
| LOW | saleor/webhook/observability/__init__.py | 3 | CODE | |
| LOW | saleor/webhook/observability/__init__.py | 4 | CODE | |
| LOW | saleor/webhook/observability/__init__.py | 5 | CODE | |
| LOW | saleor/webhook/observability/__init__.py | 5 | CODE | |
| LOW | saleor/webhook/observability/__init__.py | 5 | CODE | |
| LOW | saleor/webhook/observability/__init__.py | 5 | CODE | |
| LOW | saleor/webhook/observability/__init__.py | 5 | CODE | |
| LOW | saleor/webhook/observability/__init__.py | 5 | CODE | |
| LOW | saleor/webhook/observability/__init__.py | 5 | CODE | |
| LOW | saleor/webhook/observability/__init__.py | 5 | CODE | |
| LOW | saleor/webhook/observability/__init__.py | 5 | CODE | |
| LOW | saleor/webhook/observability/utils.py | 27 | CODE | |
| LOW | saleor/webhook/observability/utils.py | 28 | CODE | |
| LOW | saleor/webhook/observability/utils.py | 30 | CODE | |
| LOW | saleor/webhook/observability/payloads.py | 43 | CODE | |
| LOW | saleor/webhook/observability/payloads.py | 44 | CODE | |
| LOW | saleor/thumbnail/utils.py | 26 | CODE | |
| LOW | saleor/order/fetch.py | 8 | CODE | |
| LOW | saleor/order/fetch.py | 14 | CODE | |
| LOW | saleor/order/fetch.py | 19 | CODE | |
| LOW | saleor/order/fetch.py | 26 | CODE | |
| LOW | saleor/order/fetch.py | 31 | CODE | |
| LOW | saleor/order/delivery_context.py | 9 | CODE | |
| LOW | saleor/order/delivery_context.py | 21 | CODE | |
| 1292 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …nous/tests/test_create_deliveries_for_subscriptions.py | 0 | subscription { event { issuedat ... on productvariantupdated { productvariant { name } } } } | STRING |
| HIGH | …eor/graphql/webhook/tests/test_subscription_payload.py | 0 | subscription { event { issuedat ... on productvariantupdated { productvariant { name } } } } | STRING |
| HIGH | …ct/tests/mutations/test_product_variant_bulk_update.py | 0 | subscription { event { issuedat ... on productvariantupdated { productvariant { name } } } } | STRING |
| HIGH | …_create_deliveries_for_transaction_refund_requested.py | 0 | subscription { event { ... on transactionchargerequested { transaction { ...transactionfragment } action { actiontype am | STRING |
| HIGH | …te_deliveries_for_transaction_cancelation_requested.py | 0 | subscription { event { ... on transactionchargerequested { transaction { ...transactionfragment } action { actiontype am | STRING |
| HIGH | …_create_deliveries_for_transaction_charge_requested.py | 0 | subscription { event { ... on transactionchargerequested { transaction { ...transactionfragment } action { actiontype am | STRING |
| HIGH | …ok/tests/subscription_webhooks/subscription_queries.py | 0 | subscription{ event{ ...on productupdated{ product{ id name } } } } | STRING |
| HIGH | saleor/graphql/webhook/tests/test_subscription_query.py | 0 | subscription{ event{ ...on productupdated{ product{ id name } } } } | STRING |
| HIGH | saleor/webhook/observability/tests/test_obfuscation.py | 0 | subscription{ event{ ...on productupdated{ product{ id name } } } } | STRING |
| HIGH | saleor/plugins/avatax/plugin.py | 0 | deprecated. this plugin is deprecated and will be removed in future version. | STRING |
| HIGH | saleor/plugins/sendgrid/plugin.py | 0 | deprecated. this plugin is deprecated and will be removed in future version. | STRING |
| HIGH | saleor/payment/gateways/braintree/plugin.py | 0 | deprecated. this plugin is deprecated and will be removed in future version. | STRING |
| HIGH | saleor/payment/gateways/dummy/plugin.py | 0 | deprecated. this plugin is deprecated and will be removed in future version. | STRING |
| HIGH | saleor/payment/gateways/dummy_credit_card/plugin.py | 0 | deprecated. this plugin is deprecated and will be removed in future version. | STRING |
| HIGH | saleor/payment/gateways/razorpay/plugin.py | 0 | deprecated. this plugin is deprecated and will be removed in future version. | STRING |
| HIGH | saleor/plugins/sendgrid/tasks.py | 0 | send an invoice to user of related order with url to download it. | STRING |
| HIGH | saleor/plugins/user_email/tasks.py | 0 | send an invoice to user of related order with url to download it. | STRING |
| HIGH | saleor/invoice/notifications.py | 0 | send an invoice to user of related order with url to download it. | STRING |
| HIGH | saleor/tests/e2e/account/utils/fragments.py | 0 | fragment address on address { id firstname lastname companyname streetaddress1 streetaddress2 city postalcode country { | STRING |
| HIGH | saleor/graphql/tests/queries/fragments.py | 0 | fragment address on address { id firstname lastname companyname streetaddress1 streetaddress2 city postalcode country { | STRING |
| HIGH | …ql/checkout/tests/benchmark/test_checkout_mutations.py | 0 | fragment address on address { id firstname lastname companyname streetaddress1 streetaddress2 city postalcode country { | STRING |
| HIGH | saleor/graphql/order/mutations/order_line_update.py | 0 | retrieve the instance channel id for channel permission accessible check. | STRING |
| HIGH | saleor/graphql/core/mutations.py | 0 | retrieve the instance channel id for channel permission accessible check. | STRING |
| HIGH | saleor/graphql/translations/mutations/utils.py | 0 | retrieve the instance channel id for channel permission accessible check. | STRING |
| HIGH | …or/graphql/order/tests/benchmark/test_order_fulfill.py | 0 | mutation fulfillorder( $order: id, $input: orderfulfillinput! ) { orderfulfill( order: $order, input: $input ) { fulfill | STRING |
| HIGH | saleor/graphql/order/tests/deprecated/test_order.py | 0 | mutation fulfillorder( $order: id, $input: orderfulfillinput! ) { orderfulfill( order: $order, input: $input ) { fulfill | STRING |
| HIGH | …or/graphql/order/tests/mutations/test_order_fulfill.py | 0 | mutation fulfillorder( $order: id, $input: orderfulfillinput! ) { orderfulfill( order: $order, input: $input ) { fulfill | STRING |
| HIGH | …nchmark/test_fulfillment_refund_and_return_products.py | 0 | mutation orderfulfillmentrefundproducts( $order: id!, $input: orderrefundproductsinput! ) { orderfulfillmentrefundproduc | STRING |
| HIGH | …er/tests/mutations/test_fulfillment_refund_products.py | 0 | mutation orderfulfillmentrefundproducts( $order: id!, $input: orderrefundproductsinput! ) { orderfulfillmentrefundproduc | STRING |
| HIGH | saleor/graphql/order/tests/deprecated/test_order.py | 0 | mutation orderfulfillmentrefundproducts( $order: id!, $input: orderrefundproductsinput! ) { orderfulfillmentrefundproduc | STRING |
| HIGH | …nchmark/test_fulfillment_refund_and_return_products.py | 0 | mutation orderfulfillmentreturnproducts( $order: id!, $input: orderreturnproductsinput! ) { orderfulfillmentreturnproduc | STRING |
| HIGH | …er/tests/mutations/test_fulfillment_return_products.py | 0 | mutation orderfulfillmentreturnproducts( $order: id!, $input: orderreturnproductsinput! ) { orderfulfillmentreturnproduc | STRING |
| HIGH | saleor/graphql/order/tests/deprecated/test_order.py | 0 | mutation orderfulfillmentreturnproducts( $order: id!, $input: orderreturnproductsinput! ) { orderfulfillmentreturnproduc | STRING |
| HIGH | …eor/graphql/order/tests/integration/test_bulk_order.py | 0 | query ($filter: orderfilterinput!, ) { orders(first: 5, filter:$filter) { totalcount edges { node { id lines{ productsku | STRING |
| HIGH | saleor/graphql/core/tests/test_scalars.py | 0 | query ($filter: orderfilterinput!, ) { orders(first: 5, filter:$filter) { totalcount edges { node { id lines{ productsku | STRING |
| HIGH | …/graphql/order/tests/queries/test_order_with_filter.py | 0 | query ($filter: orderfilterinput!, ) { orders(first: 5, filter:$filter) { totalcount edges { node { id lines{ productsku | STRING |
| HIGH | …hql/order/tests/mutations/test_draft_order_complete.py | 0 | check if checkout can be completed with invalid address. after introducing `addressinput.skip_validation`, saleor may ha | STRING |
| HIGH | …/mutations/test_checkout_complete_with_transactions.py | 0 | check if checkout can be completed with invalid address. after introducing `addressinput.skip_validation`, saleor may ha | STRING |
| HIGH | …tests/mutations/test_checkout_complete_with_payment.py | 0 | check if checkout can be completed with invalid address. after introducing `addressinput.skip_validation`, saleor may ha | STRING |
| HIGH | saleor/graphql/order/bulk_mutations/draft_orders.py | 0 | get the instances channel ids for channel permission accessible check. | STRING |
| HIGH | …leor/graphql/order/bulk_mutations/order_bulk_cancel.py | 0 | get the instances channel ids for channel permission accessible check. | STRING |
| HIGH | saleor/graphql/core/mutations.py | 0 | get the instances channel ids for channel permission accessible check. | STRING |
| HIGH | saleor/graphql/order/bulk_mutations/draft_orders.py | 0 | perform a mutation that deletes a list of model instances. | STRING |
| HIGH | saleor/graphql/core/mutations.py | 0 | perform a mutation that deletes a list of model instances. | STRING |
| HIGH | saleor/graphql/discount/mutations/bulk_mutations.py | 0 | perform a mutation that deletes a list of model instances. | STRING |
| HIGH | saleor/graphql/page/filters.py | 0 | build an expression to filter variants based on their references to collections. - if `contains_all` is provided, only v | STRING |
| HIGH | saleor/graphql/product/filters/product_variant.py | 0 | build an expression to filter variants based on their references to collections. - if `contains_all` is provided, only v | STRING |
| HIGH | saleor/graphql/product/filters/product_attributes.py | 0 | build an expression to filter variants based on their references to collections. - if `contains_all` is provided, only v | STRING |
| HIGH | saleor/graphql/page/tests/benchmark/test_page_type.py | 0 | query getappinfederation($representations: [_any!]!) { _entities(representations: $representations) { __typename ... on | STRING |
| HIGH | saleor/graphql/page/tests/queries/test_page_type.py | 0 | query getappinfederation($representations: [_any!]!) { _entities(representations: $representations) { __typename ... on | STRING |
| HIGH | saleor/graphql/app/tests/queries/test_apps.py | 0 | query getappinfederation($representations: [_any!]!) { _entities(representations: $representations) { __typename ... on | STRING |
| HIGH | saleor/graphql/app/tests/benchmarks/test_apps.py | 0 | query getappinfederation($representations: [_any!]!) { _entities(representations: $representations) { __typename ... on | STRING |
| HIGH | saleor/graphql/core/tests/test_query_cost_validation.py | 0 | query variantavailability($id: id!, $channel: string) {{ {query_fields} }} | STRING |
| HIGH | saleor/graphql/tests/test_tracing.py | 0 | query variantavailability($id: id!, $channel: string) {{ {query_fields} }} | STRING |
| HIGH | saleor/graphql/tests/test_metrics.py | 0 | query variantavailability($id: id!, $channel: string) {{ {query_fields} }} | STRING |
| HIGH | …raphql/app/tests/mutations/test_app_problem_dismiss.py | 0 | mutation appproblemdismiss($input: appproblemdismissinput!) { appproblemdismiss(input: $input) { errors { field code mes | STRING |
| HIGH | …tations/test_app_problem_dismiss_by_staff_with_keys.py | 0 | mutation appproblemdismiss($input: appproblemdismissinput!) { appproblemdismiss(input: $input) { errors { field code mes | STRING |
| HIGH | …utations/test_app_problem_dismiss_by_staff_with_ids.py | 0 | mutation appproblemdismiss($input: appproblemdismissinput!) { appproblemdismiss(input: $input) { errors { field code mes | STRING |
| HIGH | …app/tests/mutations/test_app_problem_dismiss_by_app.py | 0 | mutation appproblemdismiss($input: appproblemdismissinput!) { appproblemdismiss(input: $input) { errors { field code mes | STRING |
| HIGH | …graphql/app/tests/mutations/test_app_problem_create.py | 0 | mutation appproblemcreate($input: appproblemcreateinput!) { appproblemcreate(input: $input) { appproblem { id message ke | STRING |
| 36 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | saleor/webhook/tests/test_payment_webhook_utils.py | 157 | "name": "John Doe", | CODE |
| LOW⚡ | saleor/core/cleaners/tests/test_urls.py | 82 | ("mailto:%22not%40me%22@example.org", None), | CODE |
| LOW⚡ | saleor/core/cleaners/tests/test_urls.py | 83 | ("mailto:%22oh%5C%5Cno%22@example.org", None), | CODE |
| LOW⚡ | saleor/core/cleaners/tests/test_urls.py | 85 | "mailto:%22%5C%5C%5C%22it's%5C%20ugly%5C%5C%5C%22%22@example.org", | CODE |
| LOW⚡ | saleor/core/cleaners/tests/test_urls.py | 87 | "mailto:%22%5C%5C%5C%22it%27s%5C%20ugly%5C%5C%5C%22%22@example.org", | CODE |
| LOW | saleor/core/cleaners/tests/test_urls.py | 114 | "mailto:" + ",".join(["user@example.com"] * 11), | CODE |
| LOW⚡ | saleor/core/tests/test_search.py | 90 | assert parse_search_query("user@example.com") == "user@example.com:*" | CODE |
| LOW | saleor/core/tests/test_core.py | 73 | "email": "admin@example.com", | CODE |
| LOW | saleor/core/management/commands/populatedb.py | 86 | superuser_email = "admin@example.com" | CODE |
| LOW⚡ | saleor/core/utils/anonymization.py | 40 | fake_user = create_fake_user(user_password=None, save=False, generate_id=True) | CODE |
| LOW⚡ | saleor/core/utils/anonymization.py | 42 | fake_user.save = _fake_save | CODE |
| LOW⚡ | saleor/core/utils/anonymization.py | 43 | return fake_user | CODE |
| LOW⚡ | saleor/core/utils/anonymization.py | 59 | fake_user = generate_fake_user() | CODE |
| LOW⚡ | saleor/core/utils/anonymization.py | 60 | anonymized_order.user = fake_user | CODE |
| LOW⚡ | saleor/core/utils/anonymization.py | 61 | anonymized_order.user_email = fake_user.email | CODE |
| LOW⚡ | saleor/core/utils/anonymization.py | 78 | fake_user = generate_fake_user() | CODE |
| LOW⚡ | saleor/core/utils/anonymization.py | 79 | anonymized_checkout.user = fake_user | CODE |
| LOW⚡ | saleor/core/utils/anonymization.py | 80 | anonymized_checkout.email = fake_user.email | CODE |
| LOW | saleor/app/tests/test_installation_utils.py | 163 | app_manifest["author"] = "Acme Ltd" | CODE |
| LOW | saleor/app/tests/test_manifest_validations.py | 118 | assert schema.author == "Acme Ltd" | CODE |
| LOW | …app/tests/cassettes/test_sends_data_to_target_url.yaml | 18 | : \"Lorem ipsum\",\n \"data_privacy\": \"Lorem ipsum\",\n \"data_privacy_url\"\ | CODE |
| LOW | …t_app_tasks/test_install_app_task_request_timeout.yaml | 18 | : \"Lorem ipsum\",\n \"dataPrivacy\": \"Lorem ipsum\",\n \"dataPrivacyUrl\"\ | CODE |
| LOW | …ts/cassettes/test_app_tasks/test_install_app_task.yaml | 18 | : \"Lorem ipsum\",\n \"dataPrivacy\": \"Lorem ipsum\",\n \"dataPrivacyUrl\"\ | CODE |
| LOW | …install_app_task_wrong_format_of_target_token_url.yaml | 18 | : \"Lorem ipsum\",\n \"dataPrivacy\": \"Lorem ipsum\",\n \"dataPrivacyUrl\"\ | CODE |
| LOW | …pp_from_manifest_app_has_all_required_permissions.yaml | 18 | : \"Lorem ipsum\",\n \"dataPrivacy\": \"Lorem ipsum\",\n \"dataPrivacyUrl\"\ | CODE |
| LOW | …pp_from_manifest_app_has_all_required_permissions.yaml | 69 | : \"Lorem ipsum\",\n \"dataPrivacy\": \"Lorem ipsum\",\n \"dataPrivacyUrl\"\ | CODE |
| LOW | …est_creates_app_from_manifest_installation_failed.yaml | 18 | : \"Lorem ipsum\",\n \"dataPrivacy\": \"Lorem ipsum\",\n \"dataPrivacyUrl\"\ | CODE |
| LOW | …est_creates_app_from_manifest_installation_failed.yaml | 67 | : \"Lorem ipsum\",\n \"dataPrivacy\": \"Lorem ipsum\",\n \"dataPrivacyUrl\"\ | CODE |
| LOW | …/test_app_commands/test_creates_app_from_manifest.yaml | 18 | : \"Lorem ipsum\",\n \"dataPrivacy\": \"Lorem ipsum\",\n \"dataPrivacyUrl\"\ | CODE |
| LOW | …/test_app_commands/test_creates_app_from_manifest.yaml | 69 | : \"Lorem ipsum\",\n \"dataPrivacy\": \"Lorem ipsum\",\n \"dataPrivacyUrl\"\ | CODE |
| LOW | …mands/test_creates_app_from_manifest_activate_app.yaml | 18 | : \"Lorem ipsum\",\n \"dataPrivacy\": \"Lorem ipsum\",\n \"dataPrivacyUrl\"\ | CODE |
| LOW | …mands/test_creates_app_from_manifest_activate_app.yaml | 69 | : \"Lorem ipsum\",\n \"dataPrivacy\": \"Lorem ipsum\",\n \"dataPrivacyUrl\"\ | CODE |
| LOW⚡ | saleor/plugins/sendgrid/tests/test_tasks.py | 154 | recipient_email = "user@example.com" | CODE |
| LOW⚡ | saleor/plugins/sendgrid/tests/test_tasks.py | 161 | "new_email": "user@example.com", | CODE |
| LOW | saleor/plugins/sendgrid/tests/test_tasks.py | 45 | "recipient_email": "user@example.com", | CODE |
| LOW | saleor/plugins/sendgrid/tests/test_tasks.py | 89 | recipient_email = "admin@example.com" | CODE |
| LOW | saleor/plugins/sendgrid/tests/test_tasks.py | 118 | recipient_email = "admin@example.com" | CODE |
| LOW | saleor/plugins/sendgrid/tests/test_tasks.py | 195 | recipient_email = "user@example.com" | CODE |
| LOW | saleor/plugins/sendgrid/tests/test_tasks.py | 234 | recipient_email = "user@example.com" | CODE |
| LOW | saleor/plugins/sendgrid/tests/test_tasks.py | 267 | recipient_email = "user@example.com" | CODE |
| LOW | saleor/plugins/sendgrid/tests/test_tasks.py | 301 | recipient_email = "user@example.com" | CODE |
| LOW | saleor/plugins/sendgrid/tests/test_tasks.py | 348 | recipient_email = "user@example.com" | CODE |
| LOW | saleor/plugins/sendgrid/tests/test_tasks.py | 394 | recipient_email = "user@example.com" | CODE |
| LOW | saleor/plugins/sendgrid/tests/test_tasks.py | 525 | recipient_email = "user@example.com" | CODE |
| LOW | saleor/plugins/sendgrid/tests/test_tasks.py | 570 | recipient_email = "user@example.com" | CODE |
| LOW | saleor/plugins/sendgrid/tests/test_tasks.py | 611 | recipient_email = "user@example.com" | CODE |
| LOW | saleor/plugins/sendgrid/tests/test_tasks.py | 652 | recipient_email = "user@example.com" | CODE |
| LOW | saleor/plugins/sendgrid/tests/test_tasks.py | 695 | recipient_email = "user@example.com" | CODE |
| LOW | saleor/plugins/sendgrid/tests/test_tasks.py | 737 | recipient_email = "user@example.com" | CODE |
| LOW | saleor/plugins/sendgrid/tests/test_tasks.py | 782 | recipient_email = "user@example.com" | CODE |
| LOW | saleor/plugins/sendgrid/tests/test_tasks.py | 828 | recipient_email = "user@example.com" | CODE |
| LOW | saleor/plugins/sendgrid/tests/test_tasks.py | 873 | recipient_email = "user@example.com" | CODE |
| LOW | saleor/plugins/sendgrid/tests/test_tasks.py | 916 | recipient_email = "user@example.com" | CODE |
| LOW⚡ | saleor/plugins/openid_connect/tests/test_utils.py | 787 | access_token="fake-token", | CODE |
| LOW⚡ | saleor/plugins/openid_connect/tests/test_utils.py | 795 | assert user.email == "test@example.org" | CODE |
| LOW | saleor/plugins/openid_connect/tests/test_utils.py | 771 | "email": "test@example.org", | CODE |
| LOW | saleor/plugins/openid_connect/tests/test_utils.py | 835 | access_token="fake-token", | CODE |
| LOW | saleor/plugins/openid_connect/tests/test_utils.py | 880 | access_token="fake-token", | CODE |
| LOW | saleor/plugins/openid_connect/tests/test_utils.py | 924 | access_token="fake-token", | CODE |
| LOW | saleor/plugins/openid_connect/tests/test_utils.py | 977 | access_token="fake-token", | CODE |
| 129 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | saleor/__init__.py | 3 | __all__ = ["celery_app"] | CODE |
| LOW | saleor/webhook/circuit_breaker/storage.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/webhook/transport/list_stored_payment_methods.py | 34 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/webhook/transport/utils.py | 55 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/webhook/transport/asynchronous/transport.py | 68 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/webhook/transport/asynchronous/__init__.py | 7 | __all__ = [ | CODE |
| LOW | saleor/webhook/transport/synchronous/transport.py | 66 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/webhook/response_schemas/transaction.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/webhook/response_schemas/shipping.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/webhook/response_schemas/utils/annotations.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/webhook/response_schemas/utils/annotations.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/webhook/observability/__init__.py | 17 | __all__ = [ | CODE |
| LOW | saleor/webhook/observability/utils.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/thumbnail/views.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/order/delivery_context.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/order/tasks.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/order/actions.py | 82 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/order/calculations.py | 67 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/order/utils.py | 79 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/order/webhooks/exclude_shipping.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/order/webhooks/order_calculate_taxes.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/asgi/usage_telemetry.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/core/search_tasks.py | 33 | def set_user_search_document_values(updated_count: int = 0) -> None: | CODE |
| LOW | saleor/core/search_tasks.py | 123 | def set_product_search_document_values(updated_count: int = 0) -> None: | CODE |
| LOW | saleor/core/jwt_manager.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/core/postgres.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/core/middleware.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/core/views.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/core/utils/anonymization.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/core/editorjs/converters.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/core/db/connection.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/core/telemetry/trace.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/core/telemetry/__init__.py | 64 | __all__ = [ | CODE |
| LOW | saleor/core/telemetry/metric.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/core/telemetry/utils.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/app/tasks.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/app/manifest_validations.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/app/actions.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | saleor/app/installation_utils.py | 35 | logger = logging.getLogger(__name__) | CODE |
| LOW | …bute/management/commands/update_attribute_file_urls.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/attribute/models/__init__.py | 15 | __all__ = [ | CODE |
| LOW | saleor/plugins/email_common.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/plugins/webhook/plugin.py | 155 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/plugins/avatax/__init__.py | 39 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | saleor/plugins/avatax/plugin.py | 66 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/plugins/avatax/plugin.py | 817 | def _set_order_tax_error(self, order: "Order", tax_error: str) -> None: | CODE |
| LOW | saleor/plugins/sendgrid/tasks.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/plugins/sendgrid/plugin.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/plugins/openid_connect/utils.py | 60 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/plugins/openid_connect/plugin.py | 49 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/plugins/admin_email/plugin.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/plugins/user_email/plugin.py | 47 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/payment/gateway.py | 50 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/payment/tasks.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/payment/utils.py | 91 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/payment/gateways/razorpay/__init__.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/payment/gateways/stripe/stripe_api.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/payment/gateways/stripe/plugin.py | 53 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/payment/gateways/stripe/webhooks.py | 47 | logger = logging.getLogger(__name__) | CODE |
| LOW | saleor/tests/e2e/shipping_zone/utils/__init__.py | 6 | __all__ = [ | CODE |
| 96 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .claude/skills/filter-benchmark/analyze_query.py | 67 | CODE | |
| LOW | saleor/webhook/utils.py | 162 | CODE | |
| LOW | saleor/webhook/payloads.py | 1082 | CODE | |
| LOW | saleor/webhook/payloads.py | 1116 | CODE | |
| LOW | saleor/webhook/transport/asynchronous/transport.py | 85 | CODE | |
| LOW | saleor/webhook/transport/asynchronous/transport.py | 332 | CODE | |
| LOW | saleor/webhook/transport/asynchronous/transport.py | 852 | CODE | |
| LOW | saleor/webhook/transport/asynchronous/transport.py | 947 | CODE | |
| LOW | saleor/webhook/transport/asynchronous/transport.py | 1008 | CODE | |
| LOW | saleor/webhook/transport/asynchronous/transport.py | 1020 | CODE | |
| LOW | saleor/webhook/transport/asynchronous/transport.py | 150 | CODE | |
| LOW | saleor/webhook/observability/utils.py | 59 | CODE | |
| LOW | saleor/thumbnail/utils.py | 163 | CODE | |
| LOW | saleor/order/actions.py | 864 | CODE | |
| LOW | saleor/order/actions.py | 1451 | CODE | |
| LOW | saleor/order/utils.py | 127 | CODE | |
| LOW | saleor/order/utils.py | 210 | CODE | |
| LOW | saleor/order/base_calculations.py | 85 | CODE | |
| LOW | saleor/order/base_calculations.py | 215 | CODE | |
| LOW | saleor/asgi/cors_handler.py | 15 | CODE | |
| LOW | saleor/asgi/cors_handler.py | 16 | CODE | |
| LOW | saleor/asgi/cors_handler.py | 69 | CODE | |
| LOW | saleor/asgi/gzip_compression.py | 32 | CODE | |
| LOW | saleor/asgi/gzip_compression.py | 35 | CODE | |
| LOW | saleor/asgi/gzip_compression.py | 59 | CODE | |
| LOW | saleor/core/sqs.py | 13 | CODE | |
| LOW | saleor/core/search.py | 89 | CODE | |
| LOW | …leor/core/management/commands/clean_editorjs_fields.py | 162 | CODE | |
| LOW | saleor/core/management/commands/remove_invalid_files.py | 136 | CODE | |
| LOW | saleor/core/editorjs/models.py | 243 | CODE | |
| LOW | saleor/attribute/search.py | 11 | CODE | |
| LOW | saleor/attribute/models/base.py | 290 | CODE | |
| LOW | saleor/attribute/models/base.py | 530 | CODE | |
| LOW | saleor/plugins/manager.py | 151 | CODE | |
| LOW | saleor/plugins/manager.py | 2629 | CODE | |
| LOW | saleor/plugins/admin_email/plugin.py | 206 | CODE | |
| LOW | saleor/plugins/admin_email/plugin.py | 213 | CODE | |
| LOW | saleor/plugins/user_email/plugin.py | 359 | CODE | |
| LOW | saleor/plugins/user_email/plugin.py | 366 | CODE | |
| LOW | saleor/payment/tasks.py | 89 | CODE | |
| LOW | saleor/payment/utils.py | 587 | CODE | |
| LOW | saleor/payment/transaction_item_calculations.py | 235 | CODE | |
| LOW | saleor/payment/transaction_item_calculations.py | 265 | CODE | |
| LOW | saleor/payment/gateways/stripe/plugin.py | 160 | CODE | |
| LOW | saleor/tests/utils.py | 91 | CODE | |
| LOW | saleor/tests/e2e/shop/utils/preparing_shop.py | 51 | CODE | |
| LOW | saleor/checkout/delivery_context.py | 771 | CODE | |
| LOW | saleor/checkout/complete_checkout.py | 1561 | CODE | |
| LOW | saleor/checkout/utils.py | 179 | CODE | |
| LOW | saleor/checkout/payment_utils.py | 16 | CODE | |
| LOW | saleor/checkout/payment_utils.py | 42 | CODE | |
| LOW | saleor/checkout/base_calculations.py | 264 | CODE | |
| LOW | saleor/discount/utils/voucher.py | 512 | CODE | |
| LOW | saleor/graphql/schema_printer.py | 375 | CODE | |
| LOW | saleor/graphql/views.py | 339 | CODE | |
| LOW | saleor/graphql/webhook/mutations/webhook_trigger.py | 159 | CODE | |
| LOW | saleor/graphql/order/utils.py | 95 | CODE | |
| LOW | saleor/graphql/order/utils.py | 173 | CODE | |
| LOW | saleor/graphql/order/mutations/order_lines_create.py | 71 | CODE | |
| LOW | saleor/graphql/order/mutations/draft_order_complete.py | 118 | CODE | |
| 60 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .claude/skills/filter-benchmark/analyze_query.py | 191 | except Exception as e: | CODE |
| MEDIUM | …p/security/logging/exception-object-in-logger-extra.py | 2 | def test_log_info_exception(): | CODE |
| MEDIUM | …p/security/logging/exception-object-in-logger-extra.py | 10 | def test_log_catch_multiple_exceptions(): | CODE |
| MEDIUM | …p/security/logging/exception-object-in-logger-extra.py | 39 | def test_log_info_exception(): | CODE |
| MEDIUM | …p/security/logging/exception-object-in-logger-extra.py | 55 | def test_log_exception_trailing_arguments_case1(): | CODE |
| MEDIUM | …p/security/logging/exception-object-in-logger-extra.py | 65 | def test_log_exception_trailing_arguments_case2(): | CODE |
| MEDIUM | …p/security/logging/exception-object-in-logger-extra.py | 74 | def test_log_exception_with_finally_block(): | CODE |
| MEDIUM | …p/security/logging/exception-object-in-logger-extra.py | 84 | def test_log_exception_with_else_block(): | CODE |
| MEDIUM | …p/security/logging/exception-object-in-logger-extra.py | 94 | def test_log_exception_with_finally_else_block(): | CODE |
| MEDIUM | …p/security/logging/exception-object-in-logger-extra.py | 106 | def test_not_logging_exception(): | CODE |
| MEDIUM | …p/security/logging/exception-object-in-logger-extra.py | 115 | def test_not_logging_exception(): | CODE |
| LOW⚡ | …p/security/logging/exception-object-in-logger-extra.py | 50 | except Exception as exc: | CODE |
| LOW⚡ | …p/security/logging/exception-object-in-logger-extra.py | 58 | except Exception as exc: | CODE |
| LOW⚡ | …p/security/logging/exception-object-in-logger-extra.py | 68 | except Exception as exc: | CODE |
| LOW⚡ | …p/security/logging/exception-object-in-logger-extra.py | 77 | except Exception as exc: | CODE |
| LOW⚡ | …p/security/logging/exception-object-in-logger-extra.py | 87 | except Exception as exc: | CODE |
| LOW⚡ | …p/security/logging/exception-object-in-logger-extra.py | 97 | except Exception as exc: | CODE |
| LOW⚡ | …p/security/logging/exception-object-in-logger-extra.py | 109 | except Exception as exc: | CODE |
| LOW⚡ | …p/security/logging/exception-object-in-logger-extra.py | 118 | except Exception as exc: | CODE |
| LOW | …p/security/logging/exception-object-in-logger-extra.py | 5 | except Exception as exc: | CODE |
| LOW | …p/security/logging/exception-object-in-logger-extra.py | 32 | except Exception as exc: | CODE |
| LOW⚡ | saleor/webhook/observability/utils.py | 101 | except Exception: | CODE |
| LOW⚡ | saleor/webhook/observability/utils.py | 111 | except Exception: | CODE |
| LOW | saleor/asgi/usage_telemetry.py | 39 | except Exception: | CODE |
| LOW | saleor/asgi/usage_telemetry.py | 224 | except Exception: | CODE |
| LOW | saleor/core/transactions.py | 17 | except Exception as e: | CODE |
| LOW | saleor/core/jwt_manager.py | 219 | except Exception as e: | CODE |
| LOW⚡ | saleor/core/management/commands/remove_invalid_files.py | 165 | except Exception: | CODE |
| LOW⚡ | saleor/core/management/commands/remove_invalid_files.py | 167 | except Exception as e: | CODE |
| LOW | saleor/core/management/commands/remove_invalid_files.py | 196 | except Exception as e: | CODE |
| LOW | saleor/core/utils/lazyobjects.py | 29 | except Exception as exc: | CODE |
| LOW⚡ | saleor/core/db/tests/test_connection.py | 35 | except Exception: | CODE |
| LOW | saleor/core/telemetry/tests/test_utils.py | 222 | except Exception as e: | CODE |
| LOW | saleor/app/tasks.py | 58 | except Exception as e: | CODE |
| MEDIUM | saleor/app/tasks.py | 23 | def install_app_task(job_id, activate=False): | CODE |
| LOW | saleor/app/manifest_validations.py | 292 | except Exception as e: | CODE |
| MEDIUM | saleor/app/manifest_validations.py | 75 | def clean_manifest_url(manifest_url): | CODE |
| LOW | saleor/app/actions.py | 69 | except Exception: | CODE |
| LOW⚡ | saleor/app/installation_utils.py | 49 | except Exception: | CODE |
| LOW | saleor/app/management/commands/install_app.py | 73 | except Exception as e: | CODE |
| LOW | saleor/plugins/email_common.py | 324 | except Exception as e: | CODE |
| LOW | saleor/plugins/openid_connect/utils.py | 599 | except Exception: | CODE |
| MEDIUM | saleor/plugins/openid_connect/utils.py | 125 | def get_user_info(user_info_url, access_token) -> dict | None: | CODE |
| LOW | saleor/checkout/search/indexing.py | 45 | except Exception: | CODE |
| LOW | saleor/graphql/context.py | 58 | except Exception: | CODE |
| LOW | saleor/graphql/views.py | 506 | except Exception as e: | CODE |
| MEDIUM | saleor/graphql/order/filters.py | 108 | def get_payment_id_from_query(value): | CODE |
| LOW | saleor/graphql/order/filters.py | 111 | except Exception: | CODE |
| LOW | …leor/graphql/order/bulk_mutations/order_bulk_create.py | 1102 | except Exception: | CODE |
| LOW | …leor/graphql/order/bulk_mutations/order_bulk_create.py | 1132 | except Exception: | CODE |
| LOW | saleor/graphql/core/validators/query_cost.py | 88 | except Exception as e: | CODE |
| LOW | saleor/graphql/utils/__init__.py | 74 | except Exception: | CODE |
| LOW⚡ | saleor/graphql/checkout/filters.py | 42 | except Exception: | CODE |
| LOW⚡ | saleor/graphql/checkout/filters.py | 49 | except Exception: | CODE |
| MEDIUM | saleor/graphql/checkout/filters.py | 30 | def get_checkout_token_from_query(value): | CODE |
| MEDIUM | saleor/graphql/checkout/filters.py | 46 | def get_checkout_id_from_query(value): | CODE |
| LOW | …leor/graphql/account/mutations/authentication/utils.py | 25 | except Exception: | CODE |
| MEDIUM | …leor/graphql/account/mutations/authentication/utils.py | 22 | def get_user(payload): | CODE |
| LOW | …graphql/account/bulk_mutations/customer_bulk_update.py | 167 | except Exception: | CODE |
| LOW | …/graphql/warehouse/bulk_mutations/stock_bulk_update.py | 141 | except Exception: | CODE |
| 1 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | saleor/core/tests/test_sqs.py | 28 | # Create a mock connection object with all required attributes | COMMENT |
| MEDIUM | saleor/core/tests/test_sqs.py | 62 | # Create a mock connection object with all required attributes | COMMENT |
| MEDIUM | saleor/core/tests/test_view.py | 16 | # Create a dummy empty image file | COMMENT |
| MEDIUM⚡ | saleor/core/utils/__init__.py | 164 | # Create a BytesIO object to store the file content | COMMENT |
| MEDIUM⚡ | saleor/core/utils/__init__.py | 170 | # Create a Django File object from the BytesIO object | COMMENT |
| MEDIUM | saleor/graphql/views.py | 86 | # This class is our implementation of `graphene_django.views.GraphQLView`, | COMMENT |
| MEDIUM | saleor/graphql/order/mutations/order_lines_create.py | 211 | # Create the products added event | COMMENT |
| MEDIUM | saleor/graphql/order/mutations/order_line_delete.py | 96 | # Create the removal event | COMMENT |
| MEDIUM | saleor/graphql/order/tests/queries/test_order_events.py | 325 | # Create the test event | STRING |
| MEDIUM | saleor/graphql/order/tests/queries/test_order_events.py | 364 | # Create the test event | STRING |
| MEDIUM | …leor/graphql/order/bulk_mutations/order_bulk_create.py | 2257 | # Create a copy of stocks. If full iteration over order lines | COMMENT |
| MEDIUM | saleor/graphql/core/connection.py | 463 | # This function handles pagination for list-based data (e.g., from dataloaders). | COMMENT |
| MEDIUM | saleor/graphql/core/connection.py | 721 | # Create the edge type using the new EdgeBase. | COMMENT |
| MEDIUM | …r/graphql/core/tests/garbage_collection/test_django.py | 23 | # Create a copy of the Django connection object and close it to free resources. | COMMENT |
| MEDIUM | saleor/graphql/core/utils/reordering.py | 140 | # Create the bulk update to run | COMMENT |
| MEDIUM | …raphql/attribute/tests/queries/test_attributes_sort.py | 77 | # Create a dummy attribute with a higher ID | STRING |
| MEDIUM | …raphql/attribute/tests/queries/test_attributes_sort.py | 136 | # Create a dummy attribute with a higher ID | STRING |
| MEDIUM | …aphql/attribute/tests/queries/test_attribute_filter.py | 1078 | # Create a second product type that shares the same attribute | STRING |
| MEDIUM | …aphql/attribute/tests/queries/test_attribute_filter.py | 1152 | # Create a second product type that shares the same attribute | STRING |
| MEDIUM | …raphql/attribute/tests/queries/test_attribute_where.py | 1497 | # Create a second product type that shares the same attribute | STRING |
| MEDIUM | …raphql/attribute/tests/queries/test_attribute_where.py | 1571 | # Create a second product type that shares the same attribute | STRING |
| MEDIUM⚡ | …aphql/product/tests/test_product_sorting_attributes.py | 582 | # Create a product with a value | COMMENT |
| MEDIUM⚡ | …aphql/product/tests/test_product_sorting_attributes.py | 591 | # Create a product having the same product type but no attribute data | COMMENT |
| MEDIUM⚡ | …aphql/product/tests/test_product_sorting_attributes.py | 596 | # Create a new product having a name that would be ordered first in ascending | COMMENT |
| MEDIUM | saleor/graphql/product/tests/test_attributes.py | 415 | # Create a value for each dummy attribute to ensure they are not returned | COMMENT |
| MEDIUM | saleor/graphql/checkout/mutations/checkout_create.py | 472 | # Create the checkout object | COMMENT |
| MEDIUM | …tests/mutations/test_checkout_complete_with_payment.py | 5535 | # Create a dummy payment to charge | COMMENT |
| MEDIUM | saleor/account/models.py | 304 | # This method is overridden to accept perm as BasePermissionEnum | COMMENT |
| MEDIUM | saleor/account/models.py | 315 | # This method is overridden to accept perm as BasePermissionEnum | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | saleor/webhook/payloads.py | 629 | CODE | |
| LOW | saleor/webhook/payloads.py | 656 | CODE | |
| LOW | saleor/core/telemetry/trace.py | 70 | CODE | |
| LOW | saleor/core/telemetry/trace.py | 117 | CODE | |
| LOW | saleor/core/telemetry/trace.py | 194 | CODE | |
| LOW | saleor/core/telemetry/trace.py | 225 | CODE | |
| LOW | saleor/plugins/manager.py | 2425 | CODE | |
| LOW | saleor/plugins/manager.py | 2445 | CODE | |
| LOW | saleor/plugins/manager.py | 2465 | CODE | |
| LOW | saleor/plugins/manager.py | 2486 | CODE | |
| LOW | saleor/plugins/avatax/__init__.py | 531 | CODE | |
| LOW | saleor/plugins/avatax/__init__.py | 691 | CODE | |
| LOW | saleor/plugins/avatax/tests/conftest.py | 23 | CODE | |
| LOW | saleor/plugins/sendgrid/tests/conftest.py | 9 | CODE | |
| LOW | saleor/plugins/openid_connect/tests/conftest.py | 10 | CODE | |
| LOW | saleor/plugins/openid_connect/tests/conftest.py | 50 | CODE | |
| LOW | saleor/plugins/admin_email/tests/conftest.py | 43 | CODE | |
| LOW | saleor/plugins/user_email/tests/conftest.py | 69 | CODE | |
| LOW | saleor/payment/utils.py | 353 | CODE | |
| LOW | …or/payment/tests/test_transaction_item_calculations.py | 12 | CODE | |
| LOW | saleor/payment/gateways/stripe/stripe_api.py | 121 | CODE | |
| LOW | saleor/tests/e2e/sales/utils/sale_channel_listing.py | 71 | CODE | |
| LOW | saleor/tests/e2e/sales/utils/sale_catalogues_add.py | 72 | CODE | |
| LOW | saleor/tests/e2e/gift_cards/utils/gift_cards_query.py | 34 | CODE | |
| LOW | saleor/tests/e2e/shop/utils/shop_update_settings.py | 41 | CODE | |
| LOW | saleor/tests/e2e/product/utils/product_variant.py | 53 | CODE | |
| LOW | …ests/e2e/product/utils/product_variant_stock_update.py | 45 | CODE | |
| LOW | …eor/tests/e2e/product/utils/product_channel_listing.py | 69 | CODE | |
| LOW | saleor/tests/e2e/product/utils/product_type.py | 34 | CODE | |
| LOW | …leor/tests/e2e/checkout/utils/checkout_email_update.py | 36 | CODE | |
| LOW | saleor/tests/e2e/channel/utils/channel_create.py | 53 | CODE | |
| LOW | saleor/tests/e2e/attributes/utils/create_attribute.py | 43 | CODE | |
| LOW | …or/tests/e2e/attributes/utils/attribute_bulk_create.py | 61 | CODE | |
| LOW | …eor/tests/e2e/transactions/utils/transaction_create.py | 32 | CODE | |
| LOW | …tests/e2e/transactions/utils/transaction_initialize.py | 113 | CODE | |
| LOW | …tests/e2e/transactions/utils/transaction_initialize.py | 139 | CODE | |
| LOW | saleor/tests/e2e/promotions/utils/promotion_query.py | 27 | CODE | |
| LOW | saleor/tests/e2e/promotions/utils/promotions_query.py | 65 | CODE | |
| LOW | …or/tests/e2e/promotions/utils/promotion_rule_update.py | 60 | CODE | |
| LOW | …ts/e2e/taxes/utils/tax_country_configuration_update.py | 57 | CODE | |
| LOW | saleor/tests/e2e/vouchers/utils/voucher_update.py | 49 | CODE | |
| LOW | …or/tests/e2e/vouchers/utils/voucher_channel_listing.py | 63 | CODE | |
| LOW | …eor/tests/e2e/vouchers/utils/voucher_catalogues_add.py | 58 | CODE | |
| LOW | saleor/tests/e2e/orders/utils/draft_order_update.py | 152 | CODE | |
| LOW | saleor/tests/e2e/orders/utils/order_update.py | 49 | CODE | |
| LOW | saleor/tests/e2e/orders/utils/order_bulk_create.py | 203 | CODE | |
| LOW | …r/tests/e2e/orders/utils/order_fulfill_add_tracking.py | 50 | CODE | |
| LOW | saleor/tests/e2e/orders/utils/draft_order_complete.py | 123 | CODE | |
| LOW | …leor/tests/e2e/orders/utils/draft_order_bulk_delete.py | 28 | CODE | |
| LOW | saleor/tests/e2e/account/utils/customer_bulk_update.py | 54 | CODE | |
| LOW | saleor/tests/e2e/account/utils/staff_create.py | 42 | CODE | |
| LOW | saleor/tests/e2e/account/utils/staff_update.py | 45 | CODE | |
| LOW | saleor/tests/e2e/translations/utils.py | 65 | CODE | |
| LOW | saleor/graphql/core/mutations.py | 160 | CODE | |
| LOW | …ment/mutations/transaction/transaction_event_report.py | 299 | CODE | |
| LOW | …payment/tests/mutations/test_transaction_initialize.py | 116 | CODE | |
| LOW | …ql/payment/tests/mutations/test_transaction_process.py | 152 | CODE | |
| LOW | …l/meta/tests/mutations/test_delete_private_metadata.py | 61 | CODE | |
| LOW | …l/meta/tests/mutations/test_delete_private_metadata.py | 78 | CODE | |
| LOW | …r/graphql/meta/tests/mutations/test_update_metadata.py | 61 | CODE | |
| 12 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .claude/skills/filter-benchmark/analyze_query.py | 172 | # Check if the planner uses different scan with seqscan off | COMMENT |
| LOW | saleor/settings.py | 831 | # Set this to `True` if you want to create default channel, warehouse, product type and | COMMENT |
| LOW | saleor/settings.py | 1060 | # Set None to route to the default queue, or a string value to use a separate one | COMMENT |
| LOW | saleor/order/actions.py | 1365 | # Check if line for order_line_id and stock_id does not exist in DB. | COMMENT |
| LOW | saleor/order/tests/test_calculations.py | 1929 | # Check if order was deleted | COMMENT |
| LOW | saleor/order/tests/test_calculations.py | 1933 | # Check if prices are recalculated and returned in objects | COMMENT |
| LOW | saleor/order/tests/test_calculations.py | 1980 | # Check if prices are recalculated and returned in objects | COMMENT |
| LOW | saleor/order/tests/test_calculations.py | 1993 | # Check if database contains updated order by other requests | COMMENT |
| LOW | saleor/core/tests/test_metadata_manager.py | 148 | # Check if the key with the same value was overwritten | COMMENT |
| LOW | saleor/core/db/connection.py | 44 | # Check if we are already in an allow_writer block. If so we don't need to do | COMMENT |
| LOW | saleor/plugins/avatax/tests/test_avatax.py | 6789 | # Set SKU to the same as the lines from the: | COMMENT |
| LOW | saleor/plugins/openid_connect/plugin.py | 550 | # Check if the token is created by this plugin | COMMENT |
| LOW | saleor/tests/e2e/utils.py | 29 | # Check if all key-value pairs in body1 are present in body2 | COMMENT |
| LOW | saleor/tests/e2e/utils.py | 37 | # Check if there are any extra key-value pairs in body2 | COMMENT |
| LOW | saleor/checkout/tests/test_calculations.py | 1439 | # Check if checkout was deleted. | COMMENT |
| LOW | saleor/checkout/tests/test_calculations.py | 1443 | # Check if prices are recalculated and returned in info objects. | COMMENT |
| LOW | saleor/checkout/tests/test_calculations.py | 1491 | # Check if prices are recalculated and returned in info objects. | COMMENT |
| LOW | saleor/checkout/tests/test_calculations.py | 1502 | # Check if database contains updated checkout by other requests. | COMMENT |
| LOW | saleor/checkout/tests/test_calculations.py | 1538 | # Check if checkout was deleted. | COMMENT |
| LOW | saleor/checkout/webhooks/exclude_shipping.py | 55 | # Set cache to None as Checkout doesn't use cache flow anymore | COMMENT |
| LOW | …raphql/app/tests/test_app_by_token_loader_use_cache.py | 185 | # Check if the token was removed from the cache | COMMENT |
| LOW | …raphql/app/tests/test_app_by_token_loader_use_cache.py | 219 | # Check if the token was removed from the cache | COMMENT |
| LOW⚡ | …hql/attribute/tests/mutations/test_attribute_create.py | 112 | # Check if the attribute was correctly created | STRING |
| LOW⚡ | …hql/attribute/tests/mutations/test_attribute_create.py | 122 | # Check if the attribute values were correctly created | STRING |
| LOW⚡ | …hql/attribute/tests/mutations/test_attribute_create.py | 648 | # Check if the attribute was correctly created | STRING |
| LOW⚡ | …hql/attribute/tests/mutations/test_attribute_create.py | 657 | # Check if the attribute values were correctly created | STRING |
| LOW⚡ | …hql/attribute/tests/mutations/test_attribute_create.py | 745 | # Check if the attribute was correctly created | STRING |
| LOW⚡ | …hql/attribute/tests/mutations/test_attribute_create.py | 754 | # Check if the attribute values were correctly created | STRING |
| LOW⚡ | …hql/attribute/tests/mutations/test_attribute_create.py | 833 | # Check if the attribute was correctly created | STRING |
| LOW⚡ | …hql/attribute/tests/mutations/test_attribute_create.py | 842 | # Check if the attribute values were correctly created | STRING |
| LOW⚡ | …hql/attribute/tests/mutations/test_attribute_create.py | 977 | # Check if the attribute was correctly created | STRING |
| LOW⚡ | …hql/attribute/tests/mutations/test_attribute_create.py | 986 | # Check if the attribute values were correctly created | STRING |
| LOW | …hql/attribute/tests/mutations/test_attribute_create.py | 316 | # Check if the attribute was correctly created | STRING |
| LOW | …hql/attribute/tests/mutations/test_attribute_create.py | 325 | # Check if the attribute values were correctly created | STRING |
| LOW | …hql/attribute/tests/mutations/test_attribute_create.py | 379 | # Check if the attribute was correctly created | STRING |
| LOW | …hql/attribute/tests/mutations/test_attribute_create.py | 388 | # Check if the attribute values were correctly created | STRING |
| LOW | …hql/attribute/tests/mutations/test_attribute_create.py | 443 | # Check if the attribute was correctly created | STRING |
| LOW | …hql/attribute/tests/mutations/test_attribute_create.py | 452 | # Check if the attribute values were correctly created | STRING |
| LOW | …hql/attribute/tests/mutations/test_attribute_create.py | 590 | # Check if the attribute was correctly created | STRING |
| LOW | …hql/attribute/tests/mutations/test_attribute_create.py | 599 | # Check if the attribute values were correctly created | STRING |
| LOW | …hql/attribute/tests/mutations/test_attribute_create.py | 881 | # Check if the attribute was correctly created | STRING |
| LOW | …hql/attribute/tests/mutations/test_attribute_create.py | 894 | # Check if the attribute values were correctly created | STRING |
| LOW | …hql/attribute/tests/mutations/test_attribute_create.py | 1507 | # Check if the attribute was correctly created | STRING |
| LOW | …hql/attribute/tests/mutations/test_attribute_create.py | 1569 | # Check if the attribute was correctly created | STRING |
| LOW | …hql/attribute/tests/mutations/test_attribute_create.py | 1631 | # Check if the attribute was correctly created | STRING |
| LOW | …raphql/attribute/tests/queries/test_attributes_sort.py | 92 | # Assign attributes to the product | STRING |
| LOW | …raphql/attribute/tests/queries/test_attributes_sort.py | 151 | # Assign attributes to the product | STRING |
| LOW | …phql/tax/mutations/tax_country_configuration_update.py | 78 | # Check if only one default rate is provided (only one item without the tax | COMMENT |
| LOW | …/product/tests/mutations/test_product_media_reorder.py | 49 | # Check if order has been changed | STRING |
| LOW | …/product/tests/mutations/test_product_media_reorder.py | 79 | # Check if order has not been changed | STRING |
| LOW | saleor/graphql/checkout/tests/test_checkout.py | 570 | # Check if webhook was called with correct payload | STRING |
| LOW | saleor/graphql/checkout/tests/test_checkout.py | 585 | # Check if shipping methods are correct | STRING |
| LOW | …eor/graphql/account/mutations/staff/customer_create.py | 80 | # Verify if object already exists in DB. | COMMENT |
| LOW | saleor/warehouse/models.py | 238 | # Check if the ordered line quantities can be fulfilled using stock from | COMMENT |
| LOW | .github/workflows/check-migration-tasks.yml | 32 | # Check if any new python file was added in a *migrations/tasks/ directory | COMMENT |
| LOW | .github/workflows/check-migration-tasks.yml | 39 | # Check if celeryconf.py is in the list of all changed files | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | saleor/settings.py | 901 | GRAPHQL_QUERY_MAX_COMPLEXITY = int( | COMMENT |
| LOW | saleor/patch_local.py | 21 | # just the plain thread local (i.e, "global within | COMMENT |
| LOW | saleor/order/tests/test_tasks.py | 681 | # 4. create draft order and associate it with the code-123 | COMMENT |
| LOW | saleor/asgi/asgi_handler.py | 121 | # Tasks need to be cleared to prevent cycles is memory. Task `self.listen_for_disconnect(receive)` always | COMMENT |
| LOW | saleor/core/cleaners/html.py | 21 | COMMENT | |
| LOW | saleor/auth/__init__.py | 1 | # This module was created to be able to handle the migration process after we move | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 161 | # | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 181 | # set password is requested. | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 201 | # Note: this method is deprecated and will be removed in a future release. | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 221 | address_created: Callable[["Address", None], None] | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 241 | # Overwrite this method if you need to trigger specific logic after an app is | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 261 | # | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 281 | # Webhook-related functionality will be moved from the plugin to core modules. | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 301 | COMMENT | |
| LOW | saleor/plugins/base_plugin.py | 321 | # | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 441 | # Overwrite this method if you need to trigger specific logic after a category is | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 461 | # | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 481 | # Webhook-related functionality will be moved from the plugin to core modules. | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 501 | COMMENT | |
| LOW | saleor/plugins/base_plugin.py | 521 | checkout_created: Callable[["Checkout", Any, None], Any] | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 541 | # Trigger when checkout is fully authorized with transactions. | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 561 | # Overwrite this method if you need to trigger specific logic after a collection is | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 581 | # | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 601 | # | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 621 | # Webhook-related functionality will be moved from the plugin to core modules. | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 661 | external_verify: Callable[ | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 681 | # Webhook-related functionality will be moved from the plugin to core modules. | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 761 | # Overwrite this method if you need to trigger specific logic after a gift card is | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 781 | # | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 801 | # Webhook-related functionality will be moved from the plugin to core modules. | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 821 | COMMENT | |
| LOW | saleor/plugins/base_plugin.py | 841 | [dict, InitializedPaymentResponse | None], InitializedPaymentResponse | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 921 | # Webhook-related functionality will be moved from the plugin to core modules. | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 941 | COMMENT | |
| LOW | saleor/plugins/base_plugin.py | 961 | # | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 981 | order_cancelled: Callable[["Order", Any, None], Any] | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 1001 | # created. | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 1021 | # Note: This method is deprecated and will be removed in a future release. | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 1041 | order_refunded: Callable[["Order", Any, None], Any] | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 1061 | # Trigger when order metadata is updated. | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 1081 | # Overwrite this method if you need to trigger specific logic when a page is | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 1101 | # | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 1121 | # Webhook-related functionality will be moved from the plugin to core modules. | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 1141 | COMMENT | |
| LOW | saleor/plugins/base_plugin.py | 1221 | # | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 1241 | # created. | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 1261 | # Note: This method is deprecated and will be removed in a future release. | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 1281 | product_type_deleted: Callable[["ProductType", Any, None], Any] | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 1301 | # Trigger when product media is updated. | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 1321 | # Overwrite this method if you need to trigger specific logic after a product | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 1341 | # | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 1361 | # Trigger when product variant metadata is updated. | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 1381 | # Trigger when sale is created. | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 1401 | # a sale is updated. | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 1421 | # a promotion is deleted. | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 1441 | # Note: This method is deprecated and will be removed in a future release. | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 1461 | promotion_rule_created: Callable[["PromotionRule", Any], Any] | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 1481 | # Trigger when shipping price is created. | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 1501 | # Overwrite this method if you need to trigger specific logic after a shipping | COMMENT |
| LOW | saleor/plugins/base_plugin.py | 1521 | # | COMMENT |
| 16 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | saleor/app/tests/test_validators.py | 37 | ("3.8 - 3.9 || ~3.10.2 || 3.11.* || 3.12.x", "3.12.1", True), | CODE |
| HIGH⚡ | saleor/tax/utils.py | 331 | # the name is non-null). This is a valid case when recalculating shipping price | COMMENT |
| HIGH⚡ | saleor/tax/utils.py | 332 | # and the tax class is null, because it was removed from the system. | COMMENT |
| HIGH | saleor/product/managers.py | 188 | # then consider the concatenated values as empty (non-null). | COMMENT |
| HIGH | saleor/graphql/shop/filters.py | 9 | "If the argument is not provided (null), return all countries." | CODE |
| HIGH | saleor/graphql/tax/types.py | 195 | "Tax rate for a country. When tax class is null, it represents the default " | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | saleor/core/telemetry/trace.py | 84 | Start a new span and set it as the current span in the context. Args: name: The name of the span | STRING |
| HIGH | saleor/core/telemetry/trace.py | 130 | Create a new span without setting it as current in the context. Args: name: The name of the span | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …/e2e/account/account/test_staff_login_disabled_mode.py | 37 | # Step 1: Assign permissions and prepare product type and category | STRING |
| LOW | …/e2e/account/account/test_staff_login_disabled_mode.py | 59 | # Step 2: Login with ENABLED mode and create a product, fetch orders — should succeed | STRING |
| LOW⚡ | …/e2e/account/account/test_staff_login_disabled_mode.py | 79 | # Step 3: Switch to DISABLED mode | STRING |
| LOW⚡ | …/e2e/account/account/test_staff_login_disabled_mode.py | 83 | # Step 4: Try to create a product and fetch orders — should fail (user is not authenticated) | STRING |
| LOW | …/e2e/account/account/test_staff_login_disabled_mode.py | 98 | # Step 5: Switch back to ENABLED mode — should succeed again | STRING |
| LOW⚡ | …ccount/account/test_staff_login_customers_only_mode.py | 37 | # Step 1: Assign permissions and prepare product type and category | STRING |
| LOW | …ccount/account/test_staff_login_customers_only_mode.py | 59 | # Step 2: Login with ENABLED mode and create a product, fetch orders — should succeed | STRING |
| LOW⚡ | …ccount/account/test_staff_login_customers_only_mode.py | 79 | # Step 3: Switch to CUSTOMERS_ONLY mode | STRING |
| LOW⚡ | …ccount/account/test_staff_login_customers_only_mode.py | 83 | # Step 4: Try to create a product and fetch orders — should fail | STRING |
| LOW | …ccount/account/test_staff_login_customers_only_mode.py | 94 | # Step 5: Switch back to ENABLED mode — should succeed again | STRING |
| LOW | saleor/checkout/complete_checkout.py | 1903 | # As payment processing might take a while, we need to check if the payment | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | saleor/graphql/app/types.py | 212 | # Resolve if app from context is the same as requested app | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | saleor/order/fetch.py | 115 | """Fetch the necessary order lines info in order to recalculate its prices. | STRING |
| LOW | saleor/core/tests/test_view.py | 81 | # When DEBUG=False, it should just return HTTP 404 | COMMENT |
| MEDIUM | saleor/static/populatedb_data.json | 9630 | "text": "3 We enable developers to <a href=\"https://docs.saleor.io/developer/extending/apps/overview\">ex | CODE |