def test_no_escape_chars_dump(self, tmpdir, slash_count: int): """Check that a dumped json has no escape chars""" file_ = tmpdir / 'file.json' slashes = '/' * slash_count url = f'https:{slashes}xsoar.com' JSON_Handler().dump({'url': url}, file_.open('w+')) assert url in file_.open().read()
def test_dump_with_price(mocker): def mock_json_dump(file_content, metadata_file, indent): assert file_content['premium'] is not None assert file_content['vendorId'] assert file_content['vendorName'] import builtins from demisto_sdk.commands.common.handlers import JSON_Handler json = JSON_Handler() obj = PackMetaData(PACK_METADATA) obj.price = 1 obj.premium = True obj.vendor_id = 'id' obj.vendor_name = 'name' mocker.patch.object(builtins, 'open', autospec=True) mocker.patch.object(json, 'dump', side_effect=mock_json_dump) obj.dump_metadata_file('metadata_file')
INTEGRATION_TARGET, INVALID_DASHBOARD_PATH, INVALID_INTEGRATION_ID_PATH, INVALID_INTEGRATION_YML_1, INVALID_INTEGRATION_YML_2, INVALID_INTEGRATION_YML_3, INVALID_INTEGRATION_YML_4, INVALID_LAYOUT_CONTAINER_PATH, INVALID_LAYOUT_PATH, INVALID_PLAYBOOK_PATH, INVALID_REPUTATION_FILE, INVALID_WIDGET_PATH, LAYOUT_TARGET, LAYOUTS_CONTAINER_TARGET, PLAYBOOK_PACK_TARGET, PLAYBOOK_TARGET, VALID_DASHBOARD_PATH, VALID_INTEGRATION_ID_PATH, VALID_INTEGRATION_TEST_PATH, VALID_LAYOUT_CONTAINER_PATH, VALID_LAYOUT_PATH, VALID_PLAYBOOK_ARCSIGHT_ADD_DOMAIN_PATH, VALID_PLAYBOOK_ID_PATH, VALID_REPUTATION_FILE, VALID_TEST_PLAYBOOK_PATH, VALID_WIDGET_PATH, WIDGET_TARGET) from TestSuite.json_based import JSONBased from TestSuite.pack import Pack from TestSuite.test_tools import ChangeCWD json = JSON_Handler() yaml = YAML_Handler() class TestStructureValidator: INPUTS_TARGETS = [ LAYOUTS_CONTAINER_TARGET, LAYOUT_TARGET, DASHBOARD_TARGET, WIDGET_TARGET, PLAYBOOK_TARGET, INTEGRATION_TARGET, INCIDENT_FIELD_TARGET, PLAYBOOK_PACK_TARGET, ] CREATED_DIRS = list() # type: List
def test_no_escape_chars_dumps(self, slash_count: int): """Check that a dumped json has no escape chars""" slashes = '/' * slash_count url = f'https:{slashes}xsoar.com' dumped = JSON_Handler().dumps({'url': url}) assert url in dumped, 'Could not find the url in the dumped file. Maybe escaped char?'
from demisto_sdk.commands.common.constants import ( CONTEXT_OUTPUT_README_TABLE_HEADER, DOCS_COMMAND_SECTION_REGEX) from demisto_sdk.commands.common.default_additional_info_loader import \ load_default_additional_info_dict from demisto_sdk.commands.common.handlers import JSON_Handler from demisto_sdk.commands.common.tools import (LOG_COLORS, get_yaml, print_color, print_error, print_warning) from demisto_sdk.commands.generate_docs.common import ( add_lines, build_example_dict, generate_numbered_section, generate_section, generate_table_section, save_output, string_escape_md) from demisto_sdk.commands.integration_diff.integration_diff_detector import \ IntegrationDiffDetector json = JSON_Handler() CREDENTIALS = 9 def append_or_replace_command_in_docs(old_docs: str, new_doc_section: str, command_name: str) -> Tuple[str, list]: """ Replacing a command in a README.md file with a new string. Args: old_docs: the old docs string new_doc_section: the new string to replace command_name: the command name itself Returns: str: The whole documentation.
import shutil import pytest import requests from click.testing import CliRunner from mock import patch from demisto_sdk.__main__ import main from demisto_sdk.commands.common.handlers import JSON_Handler, YAML_Handler from demisto_sdk.commands.common.legacy_git_tools import git_path from demisto_sdk.commands.common.tools import get_yaml from demisto_sdk.commands.unify.integration_script_unifier import \ IntegrationScriptUnifier from TestSuite.test_tools import ChangeCWD json = JSON_Handler() yaml = YAML_Handler() TEST_VALID_CODE = '''import demistomock as demisto from CommonServerPython import * def main(): return_error('Not implemented.') if __name__ in ('builtins', '__builtin__', '__main__'): main() ''' TEST_VALID_DETAILED_DESCRIPTION = '''first line second line
from pathlib import Path from typing import Optional import pytest from demisto_sdk.commands.common.handlers import JSON_Handler from demisto_sdk.commands.common.tools import run_command from demisto_sdk.commands.generate_outputs.json_to_outputs.json_to_outputs import ( determine_type, json_to_outputs, parse_json) json = JSON_Handler() DUMMY_FIELD_DESCRIPTION = "dummy field description" TEST_PATH = Path('demisto_sdk/commands/generate_outputs/json_to_outputs/tests') def git_path() -> str: path = run_command('git rev-parse --show-toplevel') return path.replace('\n', '') def test_json_to_outputs__json_from_file(): """ Given - valid json file: {"aaa":100,"bbb":"foo"} - prefix: XDR.Incident - command: xdr-get-incidents When - passed to json_to_outputs Then - ensure outputs generated in the following format