Exemplo n.º 1
0
    def apply(self):

        failed = False
        for expr in self.evals:
            result = None
            if issubclass(type(expr), Lookup):
                result = expr.evaluate(self.resource)
            elif type(expr) == str:
                result = Template.native_eval(expr, self.resource)
            else:
                result = expr
            self.echo("%s => %s" % (expr, result))
            if not result:
                failed = True
        
        variables = self.resource.get_variables()
        for (k,v) in self.variable_checks.items():
            if k not in variables:
                self.echo("%s is not defined" % k)
                failed = True
            else:
                actual = variables[k]
                if (v != actual):
                    self.echo("%s is %s (type:%s), should be %s (type:%s)" % (k, v, type(v), actual, type(actual)))
                    failed = True
                else:
                    self.echo("%s is %s" % (k, v))

        if not failed:
            return self.ok()
        else:
            return self.fatal("assertions failed")
Exemplo n.º 2
0
 def evaluate(self, resource):
     return Template.native_eval(self.expr, resource)