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
示例#3
0
    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']
示例#5
0
    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'] == {}