def new_status(entity, condition: V1StatusCondition, additional_fields: List[str] = None): previous_status = entity.status if condition.type == V1Statuses.CREATED: return previous_status if previous_status == V1Statuses.STOPPING and not LifeCycle.is_done( condition.type): return previous_status entity = set_entity_status(entity=entity, condition=condition) set_started_at(run=entity) set_finished_at(run=entity) additional_fields = additional_fields or [] entity.save(update_fields=additional_fields + [ "status_conditions", "status", "started_at", "updated_at", "finished_at", "wait_time", "duration", ]) return previous_status
def new_status(entity, condition: V1StatusCondition): previous_status = entity.status if condition.type == V1Statuses.CREATED: return previous_status if previous_status == V1Statuses.STOPPING and not LifeCycle.is_done(condition.type): return previous_status entity = set_entity_status(entity=entity, condition=condition) set_started_at(run=entity) set_finished_at(run=entity) entity.save( update_fields=[ "status_conditions", "status", "started_at", "updated_at", "finished_at", "duration", ] ) return previous_status
def test_start_at(self): assert self.run.started_at is None set_started_at(self.run) assert self.run.started_at is None self.run.status = V1Statuses.STARTING set_started_at(self.run) assert self.run.started_at is not None started_at = self.run.started_at self.run.status = V1Statuses.RUNNING assert self.run.started_at == started_at self.run.started_at = None set_started_at(self.run) assert self.run.started_at >= started_at self.run.started_at = None self.run.status = V1Statuses.WARNING set_started_at(self.run) assert self.run.started_at is None