#!/usr/bin/python # -*- coding: utf-8 -*- # --------------------------------------------------------------------------------------------------------- # Author : Ulrich Carmesin # Source : gitea.ucarmesin.de # --------------------------------------------------------------------------------------------------------- import basic.toolHandling import utils.data_const as D import basic.constants as B import basic.entity class Testcase(basic.entity.Entity): name = "" description = "" application = "" usecase = [] story = [] tables = {} steps = [] def __init__(self, job): """ to be initialized by readSpec :param job: """ self.job = job def getSchema(self): dbtype = self.job.conf[B.TOPIC_NODE_DB][B.ATTR_TYPE] dbi = basic.toolHandling.getDbTool(self.job, None, dbtype) sql = dbi.getCreateTable("testcase") sql += dbi.getSchemaAttribut("tcid", "id")+"," sql += dbi.getSchemaAttribut("name", D.TYPE_STR)+"," sql += dbi.getSchemaAttribut("description", D.TYPE_TEXT)+"," sql += dbi.getSchemaAttribut("project", D.TYPE_STR)+"," sql += dbi.getSchemaAttribut("usecase", D.TYPE_STR)+"," sql += dbi.getSchemaAttribut("attributes", D.TYPE_TEXT)+"," sql += self.getHistoryFields() sql += ");\n" sql += self.getHistoryIndex("testcase") for attr in ["application", "story"]: sql += dbi.getSchemaSubtable("tc", [{"attr":attr, "atype": D.TYPE_STR}])+"\n" sql += dbi.getSchemaIndex(dbi.getIndexName("tc", attr), dbi.getSubTableId(dbi.getSubTableName("tc", attr), attr))+"\n" for attr in ["dtable", "step"]: sql += dbi.getSchemaSubtable("tc", [{"attr":attr, "atype": D.TYPE_STR}, {"attr":"attributes", "atype": D.TYPE_TEXT}])+"\n" sql += dbi.getSchemaIndex(dbi.getSubTableName("tc", attr), dbi.getSubTableId(dbi.getSubTableName("tc", attr), attr))+"\n" return sql