Exemplo n.º 1
0
    def test_nameless_step(self):
        """ should convert float index to integer """

        support.create_project(self, 'minneapolis')
        project = cauldron.project.get_internal_project()
        project.naming_scheme = None

        r = Response()
        step_actions.create_step(r, project, '', '', 'This is my step')

        self.assertFalse(r.failed)
Exemplo n.º 2
0
    def test_sync_failure(self, synchronize_step_names: MagicMock):
        """ should fail synchronizing step names fails """

        failedResponse = Response().fail('Fake-Fail', 'FAKE_FAIL').response
        synchronize_step_names.return_value = failedResponse

        support.create_project(self, 'st-paul')
        project = cauldron.project.internal_project

        r = Response()
        step_actions.create_step(r, project, '', '', 'This is my step')

        self.assertTrue(r.failed)
        self.assertEqual(r.errors[0], failedResponse.errors[0])

        support.run_command('close')
Exemplo n.º 3
0
def execute(
        context: cli.CommandContext,
        action: str = None,
        step_name: str = None,
        position: str = None,
        title: str = None,
        new_name: str = None,
        keep: bool = False,
        project: 'projects.Project' = None
) -> Response:
    """

    :return:
    """

    response = context.response

    project = (
        project
        if project else
        cauldron.project.internal_project
    )

    if not project:
        return response.fail(
            code='NO_OPEN_PROJECT',
            message='No project is open. Step commands require an open project'
        ).console(
            whitespace=1
        ).response

    if not action or action == 'list':
        actions.echo_steps(response, project)
        return response

    if action == 'add' and not step_name:
            step_name = ''
    elif not step_name:
        return response.fail(
            code='NO_STEP_NAME',
            message='A step name is required for this command'
        ).console(
            whitespace=1
        ).response

    step_name = step_name.strip('"')

    if action == 'add':
        return actions.create_step(
            response=response,
            project=project,
            name=step_name,
            position=position,
            title=title.strip('"') if title else title
        )

    if action == 'modify':
        actions.modify_step(
            response=response,
            project=project,
            name=step_name,
            new_name=new_name,
            title=title,
            position=position
        )
        return response

    if action == 'remove':
        return removal.remove_step(
            response=response,
            project=project,
            name=step_name,
            keep_file=keep
        )

    if action == 'unmute':
        actions.toggle_muting(
            response=response,
            project=project,
            step_name=step_name,
            value=False
        )
        return response

    if action == 'mute':
        actions.toggle_muting(
            response=response,
            project=project,
            step_name=step_name,
            value=True
        )
        return response
Exemplo n.º 4
0
def execute(context: cli.CommandContext,
            action: str = None,
            step_name: str = None,
            position: str = None,
            title: str = None,
            new_name: str = None,
            keep: bool = False,
            project: 'projects.Project' = None) -> Response:
    """

    :return:
    """

    response = context.response

    project = (project if project else cauldron.project.internal_project)

    if not project:
        return response.fail(
            code='NO_OPEN_PROJECT',
            message='No project is open. Step commands require an open project'
        ).console(whitespace=1).response

    if not action or action == 'list':
        actions.echo_steps(response, project)
        return response

    if action == 'add' and not step_name:
        step_name = ''
    elif not step_name:
        return response.fail(
            code='NO_STEP_NAME',
            message='A step name is required for this command').console(
                whitespace=1).response

    step_name = step_name.strip('"')

    if action == 'add':
        return actions.create_step(response=response,
                                   project=project,
                                   name=step_name,
                                   position=position,
                                   title=title.strip('"') if title else title)

    if action == 'modify':
        actions.modify_step(response=response,
                            project=project,
                            name=step_name,
                            new_name=new_name,
                            title=title,
                            position=position)
        return response

    if action == 'remove':
        return removal.remove_step(response=response,
                                   project=project,
                                   name=step_name,
                                   keep_file=keep)

    if action == 'unmute':
        actions.toggle_muting(response=response,
                              project=project,
                              step_name=step_name,
                              value=False)
        return response

    if action == 'mute':
        actions.toggle_muting(response=response,
                              project=project,
                              step_name=step_name,
                              value=True)
        return response