From 7ff8c22a05f850d88027eb69fce0a1af6dfc59ec Mon Sep 17 00:00:00 2001 From: Moshe Date: Sun, 2 Feb 2025 11:01:05 +0200 Subject: [PATCH] fixed bp130 pb131 --- .../PB_validators/PB130_is_silent_playbook.py | 3 +- .../PB131_is_silent_playbook_relationships.py | 43 +++++++++---------- 2 files changed, 21 insertions(+), 25 deletions(-) diff --git a/demisto_sdk/commands/validate/validators/PB_validators/PB130_is_silent_playbook.py b/demisto_sdk/commands/validate/validators/PB_validators/PB130_is_silent_playbook.py index 7c69dbc31a1..b89473f5f31 100644 --- a/demisto_sdk/commands/validate/validators/PB_validators/PB130_is_silent_playbook.py +++ b/demisto_sdk/commands/validate/validators/PB_validators/PB130_is_silent_playbook.py @@ -3,13 +3,12 @@ from typing import Iterable, List, Union from demisto_sdk.commands.content_graph.objects.playbook import Playbook -from demisto_sdk.commands.content_graph.objects.trigger import Trigger from demisto_sdk.commands.validate.validators.base_validator import ( BaseValidator, ValidationResult, ) -ContentTypes = Union[Playbook, Trigger] +ContentTypes = Union[Playbook] class IsSilentPlaybookValidator(BaseValidator[ContentTypes]): diff --git a/demisto_sdk/commands/validate/validators/PB_validators/PB131_is_silent_playbook_relationships.py b/demisto_sdk/commands/validate/validators/PB_validators/PB131_is_silent_playbook_relationships.py index cd748a9c058..0da70c96e74 100644 --- a/demisto_sdk/commands/validate/validators/PB_validators/PB131_is_silent_playbook_relationships.py +++ b/demisto_sdk/commands/validate/validators/PB_validators/PB131_is_silent_playbook_relationships.py @@ -39,31 +39,28 @@ def get_types_for_err_msg(c: ContentItem) -> tuple[ContentType, ContentType]: content_object=content_item, ) for content_item in content_items - if not is_valid_relationship(content_item) + if not self.is_valid_relationship(content_item) ] + def is_valid_relationship(self, content_item: ContentTypes) -> bool: + """ + Validates the relationship between a content item and its associated playbook/trigger. + """ + if not content_item.is_silent: + # If the content item is not marked as silent, it's automatically valid + return True -def is_valid_relationship(content_item: ContentTypes) -> bool: - """ - Validates the relationship between a content item and its associated playbook/trigger. - """ - if not content_item.is_silent: - # If the content item is not marked as silent, it's automatically valid - return True - - if content_item.content_type == ContentType.PLAYBOOK: - return any( - trigger.data.get("playbook_id") == content_item.data.get("id") - and trigger.is_silent - for trigger in content_item.pack.content_items.trigger - ) + if content_item.content_type == ContentType.PLAYBOOK: + return any( + trigger.data.get("playbook_id") == content_item.data.get("id") + for trigger in self.graph.search(content_type=ContentType.TRIGGER, is_silent=True) + ) - if content_item.content_type == ContentType.TRIGGER: - return any( - playbook.data.get("id") == content_item.data.get("playbook_id") - and playbook.is_silent - for playbook in content_item.pack.content_items.playbook - ) + if content_item.content_type == ContentType.TRIGGER: + return any( + playbook.data.get("id") == content_item.data.get("playbook_id") + for playbook in self.graph.search(content_type=ContentType.PLAYBOOK, is_silent=True) + ) - # Default case if content type is not PLAYBOOK or TRIGGER - return True + # Default case if content type is not PLAYBOOK or TRIGGER + return True