Пример #1
0
    def testCreateAction(self, getStubMock):
        actionId = 'aaa-aaaa-aaa'
        stubMock = mock.Mock()
        stubMock.CreateAction.return_value = filter_pb2.FilterCreateActionResponse(
            action=filter_pb2.Action(id=actionId))
        getStubMock.return_value = stubMock

        actionType = filter_pb2.PAUSE_JOB
        value = 10
        filter = opencue.wrappers.filter.Filter(
            filter_pb2.Filter(name=TEST_FILTER_NAME))
        action = filter.createAction(actionType, value)
        actionData = opencue.wrappers.filter.ActionData(
            type=actionType,
            value_type=filter_pb2.INTEGER_TYPE,
            group_value=None,
            string_value=None,
            integer_value=value,
            float_value=0.0,
            boolean_value=False)

        stubMock.CreateAction.assert_called_with(
            filter_pb2.FilterCreateActionRequest(filter=filter.data,
                                                 data=actionData),
            timeout=mock.ANY)
        self.assertEqual(action.id(), actionId)
Пример #2
0
    def createAction(self, actionType, value):
        """Creates an action for the filter.

        :type  actionType: filter_pb2.ActionType.*
        :param actionType: the action to perform
        :type  value: opencue.wrapper.group.Group / str / int / bool
        :param value: value relevant to the type selected
        :rtype:  opencue.wrappers.filter.Action
        :return: the new action
        """
        action = ActionData(type=actionType,
                            group_value=None,
                            string_value=None,
                            integer_value=0,
                            float_value=0.0,
                            boolean_value=False)

        if isinstance(value, opencue.wrappers.group.Group):
            action.value_type = filter_pb2.GROUP_TYPE
            action.group_value = value.id()
        elif isinstance(value, str):
            action.value_type = filter_pb2.STRING_TYPE
            action.string_value = value
        elif isinstance(value, bool):
            action.value_type = filter_pb2.BOOLEAN_TYPE
            action.boolean_value = value
        elif isinstance(value, int):
            action.value_type = filter_pb2.INTEGER_TYPE
            action.integer_value = value
        elif isinstance(value, float):
            action.value_type = filter_pb2.FLOAT_TYPE
            action.float_value = value
        else:
            action.value_type = filter_pb2.NONE_TYPE

        return Action(
            self.stub.CreateAction(filter_pb2.FilterCreateActionRequest(
                filter=self.data, data=action),
                                   timeout=Cuebot.Timeout).action)
Пример #3
0
    def createAction(self, actionType, value):
        """Creates an action for this filter.
        @type  actionType: opencue.ActionType.*
        @param actionType: The action to perform
        @type  value: Group or str, or int or bool
        @param value: Value relevant to the type selected
        @rtype:  Action
        @return: The new Action object"""
        action = ActionData(
            type=actionType,
            group_value=None,
            string_value=None,
            integer_value=0,
            float_value=0.0,
            boolean_value=False
        )

        if isinstance(value, job_pb2.Group):
            action.value_type = filter_pb2.GROUP_TYPE
            action.group_value = value.id
        elif isinstance(value, str):
            action.value_type = filter_pb2.STRING_TYPE
            action.string_value = value
        elif isinstance(value, bool):
            action.value_type = filter_pb2.BOOLEAN_TYPE
            action.boolean_value = value
        elif isinstance(value, int):
            action.value_type = filter_pb2.INTEGER_TYPE
            action.integer_value = value
        elif isinstance(value, float):
            action.value_type = filter_pb2.FLOAT_TYPE
            action.float_value = value
        else:
            action.value_type = filter_pb2.NONE_TYPE

        return Action(self.stub.CreateAction(
            filter_pb2.FilterCreateActionRequest(filter=self.data, data=action),
            timeout=Cuebot.Timeout).action)