from django.db import models from . import ScenarioBuild import ast class StepBuild(models.Model): name = models.TextField() scenario_build = models.ForeignKey(ScenarioBuild, on_delete=models.CASCADE) json = models.TextField() def passed(self): return ast.literal_eval(self.json)["result"]["status"] == "passed" def duration(self): step_duration = 0 if "duration" in ast.literal_eval(self.json)["result"]: step_duration = ast.literal_eval(self.json)["result"]["duration"] / 1000000000 return round(step_duration, 3) def screenshot_present(self): return True if "mime_type" in ast.literal_eval(self.json) else False def screenshot(self): return ast.literal_eval(self.json)["data"] def error_message_present(self): return True if "error_message" in ast.literal_eval(self.json)["result"] else False def error_message(self): return ast.literal_eval(self.json)["result"]["error_message"]