Пример #1
0
 def check_ignored(self):
     if self.ignore:
         if not isinstance(self.ignore, bool):
             self.ignore = Operator.find_operator(self.ignore).operation(
                 self.variables)
         if self.ignore:
             raise SkipException('Test ignored')
Пример #2
0
 def check_skip(self, variables: dict):
     if self.skip_if is None:
         return False
     from catcher.steps.check import Operator
     operator = Operator.find_operator(self.skip_if)
     if operator.operation(variables):
         raise SkipException('Skipped due to {}'.format(self.skip_if))
Пример #3
0
 def consume(self, topic, variables: dict) -> dict:
     from pykafka.common import OffsetType
     consumer = topic.get_simple_consumer(
         consumer_group=self.group_id.encode('utf-8'),
         auto_offset_reset=OffsetType.EARLIEST,
         reset_offset_on_start=False,
         consumer_timeout_ms=self.timeout * 1000)
     if self.where is not None:
         operator = Operator.find_operator(self.where)
     else:
         operator = None
     return Kafka.get_messages(consumer, operator, variables, self.timeout)
Пример #4
0
 def action(self, includes: dict, variables: dict) -> dict:
     output = variables
     if self.type == 'while':
         operator = Operator.find_operator(self.if_clause)
         while operator.operation(output):
             output = self.__run_actions(includes, output)
             if self.max_cycle is not None:
                 if self.max_cycle == 0:
                     break
                 self.max_cycle = self.max_cycle - 1
         return output
     elif self.type == 'foreach':
         loop_var = try_get_objects(
             fill_template_str(json.dumps(self.in_var), variables))
         if not isinstance(loop_var, collections.Iterable):
             raise ValueError(str(loop_var) + ' is not iterable')
         for entry in loop_var:
             output['ITEM'] = entry
             output = self.__run_actions(includes, output)
     return output
Пример #5
0
 def action(self, includes: dict, variables: dict) -> dict:
     operator = Operator.find_operator(self.end_if)
     if operator.operation(variables):
         raise StopException(str(self.end_if) + ' fired')
     else:
         return variables
Пример #6
0
 def check_message(where: Operator, message: str, variables: dict) -> bool:
     if where is None:
         return True
     variables = dict(variables)
     variables['MESSAGE'] = message
     return where.operation(variables)