Пример #1
0
    def test_mute_no_such_step(self):
        """ should fail to mute a step that does not exist """

        support.create_project(self, 'lewis')
        project = cauldron.project.get_internal_project()

        r = Response()
        step_actions.toggle_muting(r, project, 'not-a-step')

        self.assertTrue(r.failed)
        self.assertEqual(r.errors[0].code, 'NO_SUCH_STEP')
Пример #2
0
    def test_mute_no_such_step(self):
        """ should fail to mute a step that does not exist """

        support.create_project(self, 'lewis')
        project = cauldron.project.get_internal_project()

        r = Response()
        step_actions.toggle_muting(r, project, 'not-a-step')

        self.assertTrue(r.failed)
        self.assertEqual(r.errors[0].code, 'NO_SUCH_STEP')
Пример #3
0
    def test_toggle_muting(self):
        """ should reverse the muted state of the step """

        support.create_project(self, 'carrol')
        support.add_step(self)

        project = cauldron.project.get_internal_project()
        step = project.steps[0]
        self.assertFalse(step.is_muted)

        r = Response()
        step_actions.toggle_muting(r, project, step.filename)
        self.assertTrue(step.is_muted)

        r = Response()
        step_actions.toggle_muting(r, project, step.filename)
        self.assertFalse(step.is_muted)
Пример #4
0
    def test_toggle_muting(self):
        """ should reverse the muted state of the step """

        support.create_project(self, 'carrol')
        support.add_step(self)

        project = cauldron.project.get_internal_project()
        step = project.steps[0]
        self.assertFalse(step.is_muted)

        r = Response()
        step_actions.toggle_muting(r, project, step.filename)
        self.assertTrue(step.is_muted)

        r = Response()
        step_actions.toggle_muting(r, project, step.filename)
        self.assertFalse(step.is_muted)
Пример #5
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
Пример #6
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