def test_insert_image_to_yml():
    with patch.object(IntegrationScriptUnifier, "__init__", lambda a, b, c, d, e: None):
        unifier = IntegrationScriptUnifier('', None, None, None)
        unifier.package_path = f"{git_path()}/demisto_sdk/tests/test_files/VulnDB/"
        unifier.dir_name = "Integrations"
        unifier.is_script_package = False
        unifier.image_prefix = "data:image/png;base64,"
        with open(f"{git_path()}/demisto_sdk/tests/test_files/VulnDB/VulnDB_image.png", "rb") as image_file:
            image_data = image_file.read()
            image_data = unifier.image_prefix + base64.b64encode(image_data).decode('utf-8')
        with open(f"{git_path()}/demisto_sdk/tests/test_files/VulnDB/VulnDB.yml", mode="r", encoding="utf-8") \
                as yml_file:
            yml_unified_test = yaml.load(yml_file)
        with open(f"{git_path()}/demisto_sdk/tests/test_files/VulnDB/VulnDB.yml", "r") as yml:
            yml_data = yaml.load(yml)
        yml_unified, found_img_path = unifier.insert_image_to_yml(yml_data, yml_unified_test)
        yml_unified_test['image'] = image_data
        assert found_img_path == f"{git_path()}/demisto_sdk/tests/test_files/VulnDB/VulnDB_image.png"
        assert yml_unified == yml_unified_test
def test_insert_image_to_yml_without_image(tmp_path):
    """
    Given:
     - Integration without image png file

    When:
     - Inserting image to unified YAML

    Then:
     - Ensure the insertion does not crash
     - Verify no image path is returned
    """
    integration_dir = tmp_path / 'Integrations'
    integration_dir.mkdir()
    integration_yml = integration_dir / 'SomeIntegration.yml'
    integration_obj = {'id': 'SomeIntegration'}
    yaml.dump(integration_obj, integration_yml.open('w'))
    unifier = IntegrationScriptUnifier(str(integration_dir))
    yml_unified, found_img_path = unifier.insert_image_to_yml(integration_obj, integration_obj)
    assert yml_unified == integration_obj
    assert not found_img_path