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)
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)
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)