예제 #1
0
def test_addon_theme(tmpdir, capsys, config):
    answers_init_path = os.path.join(tmpdir.strpath, "answers.ini")
    package_dir = os.path.abspath(tmpdir.strpath)
    template = """[variables]
package.description = Dummy package

author.name = The Plone Collective
author.email = [email protected]
author.github.user = collective
subtemplate_warning=False
package.git.init = True

plone.version = {version}
""".format(version=config.version)
    generate_answers_ini(package_dir, template)

    # generate template addon:
    config.template = "addon"
    config.package_name = "plonetheme.task"
    result = subprocess.call(
        [
            "mrbob",
            "-O",
            config.package_name,
            "bobtemplates.plone:" + config.template,
            "--config",
            answers_init_path,
            "--non-interactive",
        ],
        cwd=tmpdir.strpath,
    )
    assert result == 0

    wd = os.path.abspath(os.path.join(tmpdir.strpath, config.package_name))

    # generate subtemplate content_type:
    template = """[variables]
theme.name = Plone theme Blacksea
subtemplate_warning=False
"""
    generate_answers_ini(package_dir, template)

    config.template = "theme_barceloneta"
    result = subprocess.call(
        [
            "mrbob",
            "bobtemplates.plone:" + config.template,
            "--config",
            answers_init_path,
            "--non-interactive",
        ],
        cwd=wd,
    )
    assert result == 0

    assert file_exists(wd, "/src/plonetheme/task/theme/manifest.cfg")

    with capsys.disabled():
        run_skeleton_tox_env(wd, config)
예제 #2
0
def test_addon_theme(tmpdir, capsys, config):
    answers_init_path = os.path.join(tmpdir.strpath, 'answers.ini')
    package_dir = os.path.abspath(tmpdir.strpath, )
    template = """[variables]
package.description = Dummy package

author.name = The Plone Collective
author.email = [email protected]
author.github.user = collective
subtemplate_warning=False
package.git.init = True

plone.version = {version}
""".format(version=config.version, )
    generate_answers_ini(package_dir, template)

    # generate template addon:
    config.template = 'addon'
    config.package_name = 'plonetheme.task'
    result = subprocess.call(
        [
            'mrbob',
            '-O',
            config.package_name,
            'bobtemplates.plone:' + config.template,
            '--config',
            answers_init_path,
            '--non-interactive',
        ],
        cwd=tmpdir.strpath,
    )
    assert result == 0

    wd = os.path.abspath(os.path.join(tmpdir.strpath, config.package_name), )

    # generate subtemplate content_type:
    template = """[variables]
theme.name = Plone theme Blacksea
subtemplate_warning=False
"""
    generate_answers_ini(package_dir, template)

    config.template = 'theme'
    result = subprocess.call(
        [
            'mrbob',
            'bobtemplates.plone:' + config.template,
            '--config',
            answers_init_path,
            '--non-interactive',
        ],
        cwd=wd,
    )
    assert result == 0

    assert file_exists(wd, '/src/plonetheme/task/theme/manifest.cfg')

    with capsys.disabled():
        run_skeleton_tox_env(wd, config)
예제 #3
0
def test_addon(tmpdir, capsys, config):
    template = """[variables]
package.description = Dummy package
package.example = True
package.git.init = True

author.name = The Plone Collective
author.email = [email protected]
author.github.user = collective

plone.version = {version}
""".format(version=config.version, )
    generate_answers_ini(tmpdir.strpath, template)

    config.template = 'addon'
    config.package_name = 'collective.task'

    result = subprocess.call(
        [
            'mrbob',
            '-O',
            config.package_name,
            'bobtemplates.plone:' + config.template,
            '--config',
            'answers.ini',
            '--non-interactive',
        ],
        cwd=tmpdir.strpath,
    )
    assert result == 0

    generated_files = glob.glob(
        tmpdir.strpath + '/' + config.package_name + '/*', )
    length = len(tmpdir.strpath + '/' + config.package_name + '/')
    generated_files = [f[length:] for f in generated_files]
    required_files = base_files + addon_files
    assert required_files <= generated_files

    base_path = tmpdir.strpath + '/' + config.package_name

    assert file_exists(base_path, '/src/collective/task/configure.zcml')

    wd = os.path.abspath(os.path.join(tmpdir.strpath, config.package_name), )

    with capsys.disabled():
        run_skeleton_tox_env(wd, config)
def test_theme_package(tmpdir, capsys, config):
    template = """[variables]
package.description = Dummy package
theme.name = Black Sea theme
author.name = The Plone Collective
author.email = [email protected]
author.github.user = collective
subtemplate_warning=False
package.git.init = True

plone.version = {version}
""".format(version=config.version, )
    base.generate_answers_ini(tmpdir.strpath, template)

    config.template = 'theme_package'
    config.package_name = 'plonetheme.blacksea'

    result = subprocess.call(
        [
            'mrbob',
            '-O',
            config.package_name,
            'bobtemplates.plone:' + config.template,
            '--config',
            'answers.ini',
            '--non-interactive',
        ],
        cwd=tmpdir.strpath,
    )
    assert result == 0

    generated_files = glob.glob(
        tmpdir.strpath + '/' + config.package_name + '/*', )
    length = len(tmpdir.strpath + '/' + config.package_name + '/')
    generated_files = [f[length:] for f in generated_files]
    required_files = base_files + addon_files
    assert required_files <= generated_files

    base_path = tmpdir.strpath + '/' + config.package_name

    assert base.file_exists(
        base_path,
        '/src/plonetheme/blacksea/theme/manifest.cfg',
    )

    wd = os.path.abspath(os.path.join(tmpdir.strpath, config.package_name), )

    with capsys.disabled():
        returncode = run_skeleton_tox_env(wd, config)
        assert returncode == 0, u"The tests inside the generated package are failing, please check the output above!"
예제 #5
0
def test_addon_view(tmpdir, capsys, config):
    answers_init_path = os.path.join(tmpdir.strpath, 'answers.ini')
    package_dir = os.path.abspath(tmpdir.strpath, )
    template = """[variables]
package.description = Dummy package
package.example = True
package.git.init = True
author.name = The Plone Collective
author.email = [email protected]
author.github.user = collective
package.git.autocommit = True
plone.version = {version}
""".format(version=config.version, )
    generate_answers_ini(package_dir, template)

    # generate template addon:
    config.template = 'addon'
    config.package_name = 'collective.task'
    result = subprocess.call(
        [
            'mrbob',
            '-O',
            config.package_name,
            'bobtemplates.plone:' + config.template,
            '--config',
            answers_init_path,
            '--non-interactive',
        ],
        cwd=tmpdir.strpath,
    )
    assert result == 0

    wd = os.path.abspath(os.path.join(tmpdir.strpath, config.package_name), )

    # generate subtemplate view:
    template = """[variables]
view_python_class=True
view_python_class_name=MyView
view_name=my_view
view_template=True
view_template_name=pt_view
"""
    generate_answers_ini(package_dir, template)

    config.template = 'view'
    result = subprocess.call(
        [
            'mrbob',
            'bobtemplates.plone:' + config.template,
            '--config',
            answers_init_path,
            '--non-interactive',
        ],
        cwd=wd,
    )
    assert result == 0

    assert file_exists(wd, '/src/collective/task/configure.zcml')

    with capsys.disabled():
        run_skeleton_tox_env(wd, config)
예제 #6
0
def test_vocabulary(tmpdir, capsys, config):
    answers_init_path = os.path.join(tmpdir.strpath, 'answers.ini')
    package_dir = os.path.abspath(tmpdir.strpath, )
    template = """[variables]
package.description = Dummy package
package.example = True

author.name = The Plone Collective
author.email = [email protected]
author.github.user = collective
package.git.init = True

plone.version = {version}
""".format(version=config.version, )
    generate_answers_ini(package_dir, template)

    # generate template addon:
    config.template = 'addon'
    config.package_name = 'collective.task'
    result = subprocess.call(
        [
            'mrbob',
            '-O',
            config.package_name,
            'bobtemplates.plone:' + config.template,
            '--config',
            answers_init_path,
            '--non-interactive',
        ],
        cwd=tmpdir.strpath,
    )
    assert result == 0

    wd = os.path.abspath(os.path.join(tmpdir.strpath, config.package_name), )

    # generate subtemplate content_type:
    template = """[variables]
vocabulary_name = AvailableTasks
subtemplate_warning = Yes
"""
    generate_answers_ini(package_dir, template)

    config.template = 'vocabulary'
    result = subprocess.call(
        [
            'mrbob',
            'bobtemplates.plone:' + config.template,
            '--config',
            answers_init_path,
            '--non-interactive',
        ],
        cwd=wd,
    )
    assert result == 0

    assert file_exists(wd, '/src/collective/task/vocabularies/configure.zcml')
    assert file_exists(
        wd,
        '/src/collective/task/tests/test_vocab_available_tasks.py',
    )
    assert file_exists(
        wd,
        '/src/collective/task/vocabularies/available_tasks.py',
    )

    with capsys.disabled():
        run_skeleton_tox_env(wd, config)
def test_indexer(tmpdir, capsys, config):
    answers_init_path = os.path.join(tmpdir.strpath, "answers.ini")
    package_dir = os.path.abspath(tmpdir.strpath)
    template = """[variables]
package.description = Dummy package
package.example = True
package.git.init = True

author.name = The Plone Collective
author.email = [email protected]
author.github.user = collective

plone.version = {version}
""".format(version=config.version)
    generate_answers_ini(package_dir, template)

    # generate template addon:
    config.template = "addon"
    config.package_name = "collective.svelteapps"
    result = subprocess.call(
        [
            "mrbob",
            "-O",
            config.package_name,
            "bobtemplates.plone:" + config.template,
            "--config",
            answers_init_path,
            "--non-interactive",
        ],
        cwd=tmpdir.strpath,
    )
    assert result == 0

    wd = os.path.abspath(os.path.join(tmpdir.strpath, config.package_name))

    # generate subtemplate content_type:
    template = """[variables]
svelte_app_name = my_custom_svelte_element
svelte_app_custom_element = Yes
subtemplate_warning = Yes
"""
    generate_answers_ini(package_dir, template)

    config.template = "svelte_app"
    result = subprocess.call(
        [
            "mrbob",
            "bobtemplates.plone:" + config.template,
            "--config",
            answers_init_path,
            "--non-interactive",
        ],
        cwd=wd,
    )
    assert result == 0

    assert file_exists(wd, "/svelte_src/my_custom_svelte_element/README.md")
    assert file_exists(wd, "/src/collective/svelteapps/svelta_apps/README.md")

    with capsys.disabled():
        returncode = run_skeleton_tox_env(wd, config)
        assert returncode == 0, u"The tests inside the generated package are failing, please check the output above!"
def test_addon_viewlet(tmpdir, capsys, config):
    answers_init_path = os.path.join(tmpdir.strpath, 'answers.ini')
    package_dir = os.path.abspath(
        tmpdir.strpath,
    )
    template = """[variables]
package.description = Dummy package
package.example = True
package.git.init = True
author.name = The Plone Collective
author.email = [email protected]
author.github.user = collective
package.git.autocommit = True
plone.version = {version}
""".format(
        version=config.version,
    )
    generate_answers_ini(package_dir, template)

    # generate template addon:
    config.template = 'addon'
    config.package_name = 'collective.task'
    result = subprocess.call(
        [
            'mrbob',
            '-O', config.package_name,
            'bobtemplates.plone:' + config.template,
            '--config', answers_init_path,
            '--non-interactive',
        ],
        cwd=tmpdir.strpath,
    )
    assert result == 0

    wd = os.path.abspath(
        os.path.join(tmpdir.strpath, config.package_name),
    )

    # generate subtemplate viewlet:
    template = """[variables]
subtemplate_warning=True
viewlet_name=first_viewlet
viewlet_python_class_name=MyView
viewlet_template=True
viewlet_template_name=pt_viewlet
"""
    generate_answers_ini(package_dir, template)

    config.template = 'viewlet'
    result = subprocess.call(
        [
            'mrbob',
            'bobtemplates.plone:' + config.template,
            '--config', answers_init_path,
            '--non-interactive',
        ],
        cwd=wd,
    )
    assert result == 0

    # generate subtemplate viewlet:
    template = """[variables]
subtemplate_warning=True
viewlet_name=second_viewlet
viewlet_python_class_name=DemoView
viewlet_template=False
"""
    generate_answers_ini(wd, template)

    config.template = 'viewlet'
    result = subprocess.call(
        [
            'mrbob',
            'bobtemplates.plone:' + config.template,
            '--config', answers_init_path,
            '--non-interactive',
        ],
        cwd=wd,
    )
    assert result == 0

    assert file_exists(wd, '/src/collective/task/configure.zcml')

    with capsys.disabled():
        returncode = run_skeleton_tox_env(wd, config)
        assert returncode == 0, u"The tests inside the generated package are failing, please check the output above!"
def test_upgrade_step(tmpdir, capsys, config):
    answers_init_path = os.path.join(tmpdir.strpath, "answers.ini")
    package_dir = os.path.abspath(tmpdir.strpath)
    template = """[variables]
package.description = Dummy package
package.example = True
package.git.init = True

author.name = The Plone Collective
author.email = [email protected]
author.github.user = collective

plone.version = {version}
""".format(
        version=config.version
    )
    generate_answers_ini(package_dir, template)

    # generate template addon:
    config.template = "addon"
    config.package_name = "collective.task"
    result = subprocess.call(
        [
            "mrbob",
            "-O",
            config.package_name,
            "bobtemplates.plone:" + config.template,
            "--config",
            answers_init_path,
            "--non-interactive",
        ],
        cwd=tmpdir.strpath,
    )
    assert result == 0

    wd = os.path.abspath(os.path.join(tmpdir.strpath, config.package_name))

    # generate subtemplate content_type:
    template = """[variables]
upgrade_step_title = reindex the thing
upgrade_step_description = Upgrade the thing
subtemplate_warning = Yes
"""
    generate_answers_ini(package_dir, template)

    config.template = "upgrade_step"
    result = subprocess.call(
        [
            "mrbob",
            "bobtemplates.plone:" + config.template,
            "--config",
            answers_init_path,
            "--non-interactive",
        ],
        cwd=wd,
    )
    assert result == 0

    assert file_exists(wd, "/src/collective/task/upgrades/configure.zcml")
    assert file_exists(wd, "/src/collective/task/upgrades/1001.zcml")
    assert file_exists(wd, "/src/collective/task/upgrades/v1001.py")

    with capsys.disabled():
        returncode = run_skeleton_tox_env(wd, config)
        assert returncode == 0, u"The tests inside the generated package are failing, please check the output above!"
def test_addon_content_type(tmpdir, capsys, config):
    answers_init_path = os.path.join(tmpdir.strpath, 'answers.ini')
    package_dir = os.path.abspath(tmpdir.strpath, )
    template = """[variables]
package.description = Dummy package
package.example = True
package.git.init = True

author.name = The Plone Collective
author.email = [email protected]
author.github.user = collective

plone.version = {version}
""".format(version=config.version, )
    generate_answers_ini(package_dir, template)

    # generate template addon:
    config.template = 'addon'
    config.package_name = 'collective.task'
    try:
        result = subprocess.call(
            [
                'mrbob',
                '-O',
                config.package_name,
                'bobtemplates.plone:' + config.template,
                '--config',
                answers_init_path,
                '--non-interactive',
            ],
            cwd=tmpdir.strpath,
        )
    except Exception as e:
        print(e)
    assert result == 0

    wd = os.path.abspath(os.path.join(tmpdir.strpath, config.package_name), )

    # generate subtemplate content_type:
    template = """[variables]
dexterity_type_name=Tasks Container
dexterity_type_base_class=Container
dexterity_type_create_class=True
dexterity_type_global_allow=True
dexterity_type_filter_content_types=True
dexterity_type_desc=A tasks container for Plone
dexterity_type_supermodel=True
"""
    generate_answers_ini(package_dir, template)

    config.template = 'content_type'
    try:
        result = subprocess.call(
            [
                'mrbob',
                'bobtemplates.plone:' + config.template,
                '--config',
                answers_init_path,
                '--non-interactive',
            ],
            cwd=wd,
        )
    except Exception as e:
        print(e)
    assert result == 0

    # generate 2. subtemplate content_type with Item instead of Container:
    template = """[variables]
dexterity_type_name=Task Item
dexterity_type_desc=A task Task content type for Plone
dexterity_type_supermodel=True
dexterity_type_base_class=Item
dexterity_type_create_class=True
dexterity_type_global_allow=False
dexterity_parent_container_type_name=Tasks Container
dexterity_type_activate_default_behaviors=False
"""
    generate_answers_ini(package_dir, template)

    config.template = 'content_type'
    try:
        result = subprocess.call(
            [
                'mrbob',
                'bobtemplates.plone:' + config.template,
                '--config',
                answers_init_path,
                '--non-interactive',
            ],
            cwd=wd,
        )
    except Exception as e:
        print(e)
    assert result == 0

    assert file_exists(wd, '/src/collective/task/configure.zcml')

    with capsys.disabled():
        returncode = run_skeleton_tox_env(wd, config)
        assert returncode == 0, u"The tests inside the generated package are failing, please check the output above!"