def test_validate_fields_of_parsed_metadata(self): parsed_metadata = Pack._parse_pack_metadata( user_metadata=USER_PACK_METADATA, pack_content_items={}, pack_id='test_pack_id', integration_images=[], author_image="", dependencies_data={}) assert parsed_metadata['name'] == 'Test Pack Name' assert parsed_metadata['id'] == 'test_pack_id' assert parsed_metadata['description'] == 'Description of test pack' assert 'created' in parsed_metadata assert 'updated' in parsed_metadata assert parsed_metadata['legacy'] assert parsed_metadata['support'] == 'demisto' assert parsed_metadata['supportDetails']['url'] == 'https://test.com' assert parsed_metadata['supportDetails']['email'] == '*****@*****.**' assert 'authorImage' in parsed_metadata assert not parsed_metadata['beta'] assert not parsed_metadata['deprecated'] assert 'certification' in parsed_metadata assert parsed_metadata['price'] == 120 assert parsed_metadata['serverMinVersion'] == '5.5.0' assert 'serverLicense' in parsed_metadata assert parsed_metadata['currentVersion'] == '2.3.0' assert 'general' in parsed_metadata assert parsed_metadata['tags'] == ["tag1", "tag2"] assert parsed_metadata['categories'] == ["Messaging"] assert parsed_metadata['contentItems'] == {} assert 'integrations' in parsed_metadata assert parsed_metadata['useCases'] == ["usecase1"] assert parsed_metadata['keywords'] == ["keyword1", "keyword2"] assert 'dependencies' in parsed_metadata
def test_validate_all_fields_of_parsed_metadata(self, dummy_pack_metadata): """ Test function for existence of all fields in metadata. Important to maintain it according to #19786 issue. """ parsed_metadata = Pack._parse_pack_metadata(user_metadata=dummy_pack_metadata, pack_content_items={}, pack_id='test_pack_id', integration_images=[], author_image="", dependencies_data={}, server_min_version="5.5.0", build_number="dummy_build_number", commit_hash="dummy_commit", downloads_count=10) assert parsed_metadata['name'] == 'Test Pack Name' assert parsed_metadata['id'] == 'test_pack_id' assert parsed_metadata['description'] == 'Description of test pack' assert 'created' in parsed_metadata assert 'updated' in parsed_metadata assert parsed_metadata['legacy'] assert parsed_metadata['support'] == 'xsoar' assert parsed_metadata['supportDetails']['url'] == 'https://test.com' assert parsed_metadata['supportDetails']['email'] == '*****@*****.**' assert parsed_metadata['author'] == 'Cortex XSOAR' assert 'authorImage' in parsed_metadata assert 'certification' in parsed_metadata assert parsed_metadata['price'] == 0 assert parsed_metadata['serverMinVersion'] == '5.5.0' assert parsed_metadata['currentVersion'] == '2.3.0' assert parsed_metadata['versionInfo'] == "dummy_build_number" assert parsed_metadata['commit'] == "dummy_commit" assert parsed_metadata['tags'] == ["tag number one", "Tag number two"] assert parsed_metadata['categories'] == ["Messaging"] assert parsed_metadata['contentItems'] == {} assert 'integrations' in parsed_metadata assert parsed_metadata['useCases'] == ["Some Use Case"] assert parsed_metadata['keywords'] == ["dummy keyword", "Additional dummy keyword"] assert parsed_metadata['downloads'] == 10 assert 'dependencies' in parsed_metadata
def test_parsed_metadata_empty_input(self): """ Test for empty pack_metadata.json and validating that support, support details and author are set correctly to XSOAR defaults value of Metadata class. """ parsed_metadata = Pack._parse_pack_metadata( user_metadata={}, pack_content_items={}, pack_id='test_pack_id', integration_images=[], author_image="", dependencies_data={}, server_min_version="dummy_server_version", build_number="dummy_build_number") assert parsed_metadata['name'] == "test_pack_id" assert parsed_metadata['id'] == "test_pack_id" assert parsed_metadata['description'] == "test_pack_id" assert parsed_metadata['legacy'] assert parsed_metadata['support'] == Metadata.XSOAR_SUPPORT assert parsed_metadata['supportDetails'][ 'url'] == Metadata.XSOAR_SUPPORT_URL assert parsed_metadata['author'] == Metadata.XSOAR_AUTHOR assert parsed_metadata['certification'] == Metadata.CERTIFIED assert parsed_metadata['price'] == 0 assert parsed_metadata['serverMinVersion'] == "dummy_server_version"
def test_tim_tag_added_to_feed_pack(self, dummy_pack_metadata, is_feed_pack, tags): """ Test 'TIM' tag is added if is_feed_pack is True """ parsed_metadata = Pack._parse_pack_metadata(user_metadata=dummy_pack_metadata, pack_content_items={}, pack_id='test_pack_id', integration_images=[], author_image="", dependencies_data={}, server_min_version="5.5.0", build_number="dummy_build_number", commit_hash="dummy_commit", downloads_count=10, is_feed_pack=True) assert parsed_metadata['tags'] == ["tag number one", "Tag number two", 'TIM']
def test_parsed_metadata_with_price(self, pack_metadata_input, expected, mocker): """ Price field is not mandatory field and needs to be set to integer value. """ mocker.patch("Tests.Marketplace.marketplace_services.print_warning") parsed_metadata = Pack._parse_pack_metadata(user_metadata=pack_metadata_input, pack_content_items={}, pack_id="test_pack_id", integration_images=[], author_image="", dependencies_data={}, server_min_version="dummy_server_version") assert parsed_metadata['price'] == expected
def test_parsed_metadata_empty_input(self, empty_metadata): parsed_metadata = Pack._parse_pack_metadata( user_metadata=empty_metadata, pack_content_items={}, pack_id='test_pack_id', integration_images=[], author_image="", dependencies_data={}) assert parsed_metadata['name'] == "test_pack_id" assert parsed_metadata['id'] == "test_pack_id" assert parsed_metadata['description'] == "test_pack_id" assert parsed_metadata['supportDetails'] == {}