X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=vstf%2Fvstf%2Fcontroller%2Fdatabase%2Fdbinterface.py;fp=vstf%2Fvstf%2Fcontroller%2Fdatabase%2Fdbinterface.py;h=d0996c30bc89f4abcba13cd59f16a0ca7023bab1;hb=6d9521fff519412e66d585d8f980824414a218eb;hp=ae34c8615180bd600225ed3479c2f9704040aaad;hpb=9bd22008562f748f82a3053f53a969027876a852;p=bottlenecks.git diff --git a/vstf/vstf/controller/database/dbinterface.py b/vstf/vstf/controller/database/dbinterface.py index ae34c861..d0996c30 100755 --- a/vstf/vstf/controller/database/dbinterface.py +++ b/vstf/vstf/controller/database/dbinterface.py @@ -1,8 +1,12 @@ -#!/usr/bin/python -# -*- coding: utf8 -*- -# author: wly -# date: 2015-07-29 -# see license for license details +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + __version__ = ''' ''' import os import logging @@ -10,7 +14,8 @@ import logging from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from sqlalchemy import and_ -from vstf.controller.database.tables import * +import vstf.controller.database.tables as table +from vstf.controller.database import constants as const LOG = logging.getLogger(__name__) @@ -38,7 +43,7 @@ class DbManage(object): except Exception as e: raise e - # if the db is new , cleate all tables and init static tables + # if the db is new , create all tables and init static tables if not db_exists: self.create_tables() self.init_tables() @@ -47,11 +52,11 @@ class DbManage(object): self._engine.close_all() def create_tables(self): - Base.metadata.create_all(self._engine) + table.Base.metadata.create_all(self._engine) self._session.commit() def drop_tables(self): - Base.metadata.drop_all(self._engine) + table.Base.metadata.drop_all(self._engine) self._session.commit() def init_tables(self): @@ -62,9 +67,9 @@ class DbManage(object): def init_scenario_table(self): items = [] for values in const.SCENARIO_INFO_LIST: - item = TblScenarioInfo(ScenarioName=values[0], - FigurePath=values[1], - Description=values[2]) + item = table.TblScenarioInfo(ScenarioName=values[0], + FigurePath=values[1], + Description=values[2]) items.append(item) self._session.add_all(items) @@ -72,53 +77,53 @@ class DbManage(object): def init_casetable(self): items = [] for values in const.CASE_INFO_LIST: - item = TblCaseInfo(CaseTag=values[0], - ScenarioName=values[1], - CaseName=values[2], - FigurePath=values[3], - Description=values[4], - Direction=values[5], - Directiontag=values[6], - Configure=values[7]) + item = table.TblCaseInfo(CaseTag=values[0], + ScenarioName=values[1], + CaseName=values[2], + FigurePath=values[3], + Description=values[4], + Direction=values[5], + Directiontag=values[6], + Configure=values[7]) items.append(item) self._session.add_all(items) def query_caseinfo(self): - query = self._session.query(TblCaseInfo.ScenarioName, - TblCaseInfo.CaseTag, - TblCaseInfo.CaseName, - TblCaseInfo.Direction, - TblCaseInfo.Configure) + query = self._session.query(table.TblCaseInfo.ScenarioName, + table.TblCaseInfo.CaseTag, + table.TblCaseInfo.CaseName, + table.TblCaseInfo.Direction, + table.TblCaseInfo.Configure) return query.all() def query_case(self, casetag): - query = self._session.query(TblCaseInfo.ScenarioName, - TblCaseInfo.Directiontag) + query = self._session.query(table.TblCaseInfo.ScenarioName, + table.TblCaseInfo.Directiontag) return query.first() # Single TblTaskList API def get_last_taskid(self): - query = self._session.query(TblTaskList.TaskID) + query = self._session.query(table.TblTaskList.TaskID) if query: return query.all()[-1][0] else: return 0 def query_tasklist(self): - query = self._session.query(TblTaskList) + query = self._session.query(table.TblTaskList) return query.all() def query_taskdate(self, taskid): - query = self._session.query(TblTaskList.Date).filter(and_( - TblTaskList.TaskID == taskid)) + query = self._session.query(table.TblTaskList.Date).filter(and_( + table.TblTaskList.TaskID == taskid)) result = "" if query: result += query.first()[0] return result def query_taskname(self, taskid): - query = self._session.query(TblTaskList.TaskName).filter(and_( - TblTaskList.TaskID == taskid)) + query = self._session.query(table.TblTaskList.TaskName).filter(and_( + table.TblTaskList.TaskID == taskid)) result = "" if query: result += query.first()[0] @@ -126,7 +131,7 @@ class DbManage(object): def create_task(self, name, date, desc): try: - item = TblTaskList(name, date, desc) + item = table.TblTaskList(name, date, desc) self._session.add(item) self._session.commit() except Exception: @@ -137,32 +142,33 @@ class DbManage(object): # Single TblHostInfo API def add_host_2task(self, taskid, name, machine, cpu, men, nic, os): """All var except task must be string""" - item = TblHostInfo(taskid, name, machine, cpu, men, nic, os) + item = table.TblHostInfo(taskid, name, machine, cpu, men, nic, os) self._session.add(item) self._session.commit() def query_task_host_list(self, taskid): - query = self._session.query(TblHostInfo.HostName, - TblHostInfo.Server, - TblHostInfo.CPU, - TblHostInfo.MEM, - TblHostInfo.NIC, - TblHostInfo.OS).filter( - TblHostInfo.TaskID == taskid) + query = self._session.query(table.TblHostInfo.HostName, + table.TblHostInfo.Server, + table.TblHostInfo.CPU, + table.TblHostInfo.MEM, + table.TblHostInfo.NIC, + table.TblHostInfo.OS).filter( + table.TblHostInfo.TaskID == taskid) return query.all() # Single TblTestList API def get_last_testid(self): - query = self._session.query(TblTestList.TestID) + query = self._session.query(table.TblTestList.TestID) + print query.all() if query: return query.all()[-1][0] else: return 0 - def add_test_2task(self, task, case, protocol, provider, typ, tool): + def add_test_2task(self, task, case, protocol, typ, switch, provider, tool): try: - item = TblTestList(task, case, protocol, provider, typ, tool) + item = table.TblTestList(task, case, protocol, typ, switch, provider, tool) self._session.add(item) self._session.commit() except Exception: @@ -171,12 +177,12 @@ class DbManage(object): return self.get_last_testid() def get_test_type(self, testid): - query = self._session.query(TblTestList.Type).filter( - TblTestList.TestID == testid) + query = self._session.query(table.TblTestList.Type).filter( + table.TblTestList.TestID == testid) return query.first() def add_extent_2task(self, task, name, content, description): - item = TblEXTInfo(task, name, content, description) + item = table.TblEXTInfo(task, name, content, description) self._session.add(item) self._session.commit() @@ -199,9 +205,9 @@ class DbManage(object): """ ptype = self.get_test_type(testid) instance_map = { - 'throughput': TblThroughput, - 'frameloss': TblFrameloss, - 'latency': TblLatency + 'throughput': table.TblThroughput, + 'frameloss': table.TblFrameloss, + 'latency': table.TblLatency } if ptype and ptype[0] not in instance_map: @@ -228,37 +234,37 @@ class DbManage(object): def query_tasks(self): result = [] - ret = self._session.query(TblTaskList) + ret = self._session.query(table.TblTaskList) if ret: for tmp in ret.all(): result.append([tmp.TaskID, tmp.TaskName, tmp.Date, tmp.EXTInfo]) return result def query_all_task_id(self): - query = self._session.query(TblTaskList.TaskID) + query = self._session.query(table.TblTaskList.TaskID) if query: return query.all() else: return [] def get_caseinfo(self): - query = self._session.query(TblCaseInfo.ScenarioName, - TblCaseInfo.CaseTag, - TblCaseInfo.CaseName, - TblCaseInfo.Direction, - TblCaseInfo.Configure) + query = self._session.query(table.TblCaseInfo.ScenarioName, + table.TblCaseInfo.CaseTag, + table.TblCaseInfo.CaseName, + table.TblCaseInfo.Direction, + table.TblCaseInfo.Configure) return query.all() def query_scenario(self, casetag): - query = self._session.query(TblCaseInfo.ScenarioName).filter(TblCaseInfo.CaseTag == casetag) + query = self._session.query(table.TblCaseInfo.ScenarioName).filter(table.TblCaseInfo.CaseTag == casetag) ret = "" if query and query.first(): ret = query.first()[0] return ret def query_casefigure(self, casetag, tools): - query = self._session.query(TblCaseInfo.FigurePath).filter(and_( - TblCaseInfo.CaseTag == casetag)) + query = self._session.query(table.TblCaseInfo.FigurePath).filter(and_( + table.TblCaseInfo.CaseTag == casetag)) result = "" if query: result += query.first()[0] @@ -267,167 +273,183 @@ class DbManage(object): return result def query_casename(self, casetag): - query = self._session.query(TblCaseInfo.CaseName).filter(and_( - TblCaseInfo.CaseTag == casetag)) + query = self._session.query(table.TblCaseInfo.CaseName).filter(and_( + table.TblCaseInfo.CaseTag == casetag)) result = "" if query: result += query.first()[0] return result - # Single TblScenarioInfo API + # Single TblTestList API def query_caselist(self, taskid, scenario): - query = self._session.query(TblTestList.CaseTag).filter(and_( - TblTestList.CaseTag == TblCaseInfo.CaseTag, - TblCaseInfo.ScenarioName == scenario, - TblTestList.TaskID == taskid)).group_by(TblCaseInfo.CaseTag) + query = self._session.query(table.TblTestList.CaseTag).filter(and_( + table.TblTestList.CaseTag == table.TblCaseInfo.CaseTag, + table.TblCaseInfo.ScenarioName == scenario, + table.TblTestList.TaskID == taskid)).group_by(table.TblCaseInfo.CaseTag) + return query.all() + + def query_testlist(self, taskid, scenario): + """ + + :rtype : object + """ + query = self._session.query(table.TblTestList).filter(and_( + table.TblTestList.CaseTag == table.TblCaseInfo.CaseTag, + table.TblCaseInfo.ScenarioName == scenario, + table.TblTestList.TaskID == taskid)) return query.all() def query_casetool(self, taskid, casetag, provider, ptype): - query = self._session.query(TblTestList.Tools).filter(and_( - TblTestList.TaskID == taskid, - TblTestList.CaseTag == casetag, - TblTestList.Provider == provider, - TblTestList.Type == ptype)) + query = self._session.query(table.TblTestList.Tools).filter(and_( + table.TblTestList.TaskID == taskid, + table.TblTestList.CaseTag == casetag, + table.TblTestList.Provider == provider, + table.TblTestList.Type == ptype)) return query.all() def query_casetools(self, taskid, casetag): - query = self._session.query(TblTestList.Tools).filter(and_( - TblTestList.CaseTag == casetag, - TblTestList.TaskID == taskid)).group_by(TblTestList.Tools) + query = self._session.query(table.TblTestList.Tools).filter(and_( + table.TblTestList.CaseTag == casetag, + table.TblTestList.TaskID == taskid)).group_by(table.TblTestList.Tools) return query.all() def query_scenariolist(self, taskid): - query = self._session.query(TblCaseInfo.ScenarioName).filter(and_( - TblTestList.CaseTag == TblCaseInfo.CaseTag, - TblTestList.TaskID == taskid)).group_by(TblCaseInfo.ScenarioName) + query = self._session.query(table.TblCaseInfo.ScenarioName).filter(and_( + table.TblTestList.CaseTag == table.TblCaseInfo.CaseTag, + table.TblTestList.TaskID == taskid)).group_by(table.TblCaseInfo.ScenarioName) return query.all() def query_throughput_load(self, taskid, casetag, provider): ptype = 'throughput' - query = self._session.query(TblThroughput.AvgFrameSize, TblThroughput.OfferedLoad).filter(and_( - TblTestList.TaskID == taskid, - TblTestList.CaseTag == casetag, - TblTestList.Provider == provider, TblTestList.Type == ptype, - TblTestList.TestID == TblThroughput.TestID)) + query = self._session.query(table.TblThroughput.AvgFrameSize, table.TblThroughput.OfferedLoad).filter(and_( + table.TblTestList.TaskID == taskid, + table.TblTestList.CaseTag == casetag, + table.TblTestList.Provider == provider, table.TblTestList.Type == ptype, + table.TblTestList.TestID == table.TblThroughput.TestID)) return query.all() def query_throughput_bandwidth(self, taskid, casetag, provider): ptype = 'throughput' - query = self._session.query(TblThroughput.AvgFrameSize, TblThroughput.Bandwidth).filter(and_( - TblTestList.TaskID == taskid, - TblTestList.CaseTag == casetag, - TblTestList.Provider == provider, TblTestList.Type == ptype, - TblTestList.TestID == TblThroughput.TestID)) + query = self._session.query(table.TblThroughput.AvgFrameSize, table.TblThroughput.Bandwidth).filter(and_( + table.TblTestList.TaskID == taskid, + table.TblTestList.CaseTag == casetag, + table.TblTestList.Provider == provider, table.TblTestList.Type == ptype, + table.TblTestList.TestID == table.TblThroughput.TestID)) return query.all() def query_throughput_table(self, taskid, casetag, provider): ptype = 'throughput' - query = self._session.query(TblThroughput.AvgFrameSize, - TblThroughput.Bandwidth, - TblThroughput.OfferedLoad, - TblThroughput.CPU, - TblThroughput.MppspGhz, - TblThroughput.MinimumLatency, - TblThroughput.MaximumLatency, - TblThroughput.AverageLatency, + query = self._session.query(table.TblThroughput.AvgFrameSize, + table.TblThroughput.Bandwidth, + table.TblThroughput.OfferedLoad, + table.TblThroughput.CPU, + table.TblThroughput.MppspGhz, + table.TblThroughput.MinimumLatency, + table.TblThroughput.MaximumLatency, + table.TblThroughput.AverageLatency, ).filter(and_( - TblTestList.TaskID == taskid, - TblTestList.CaseTag == casetag, - TblTestList.Provider == provider, TblTestList.Type == ptype, - TblTestList.TestID == TblThroughput.TestID)) + table.TblTestList.TaskID == taskid, + table.TblTestList.CaseTag == casetag, + table.TblTestList.Provider == provider, table.TblTestList.Type == ptype, + table.TblTestList.TestID == table.TblThroughput.TestID)) return query.all() def query_throughput_simpletable(self, taskid, casetag, provider): ptype = 'throughput' - query = self._session.query(TblThroughput.AvgFrameSize, - TblThroughput.Bandwidth, - TblThroughput.OfferedLoad, - TblThroughput.CPU, - TblThroughput.MppspGhz, - TblThroughput.AverageLatency, + query = self._session.query(table.TblThroughput.AvgFrameSize, + table.TblThroughput.Bandwidth, + table.TblThroughput.OfferedLoad, + table.TblThroughput.CPU, + table.TblThroughput.MppspGhz, + table.TblThroughput.AverageLatency, ).filter(and_( - TblTestList.TaskID == taskid, - TblTestList.CaseTag == casetag, - TblTestList.Provider == provider, TblTestList.Type == ptype, - TblTestList.TestID == TblThroughput.TestID)) + table.TblTestList.TaskID == taskid, + table.TblTestList.CaseTag == casetag, + table.TblTestList.Provider == provider, table.TblTestList.Type == ptype, + table.TblTestList.TestID == table.TblThroughput.TestID)) + return query.all() + + def query_testdata(self, testid, ptype): + obj = getattr(table, "Tbl%s" % (ptype.title())) + query = self._session.query(obj).filter(obj.TestID == testid) return query.all() def query_throughput_avg(self, taskid, casetag, provider): ptype = 'throughput' - query = self._session.query(TblThroughput.AvgFrameSize, TblThroughput.AverageLatency).filter(and_( - TblTestList.TaskID == taskid, - TblTestList.CaseTag == casetag, - TblTestList.Provider == provider, TblTestList.Type == ptype, - TblTestList.TestID == TblThroughput.TestID)) + query = self._session.query(table.TblThroughput.AvgFrameSize, table.TblThroughput.AverageLatency).filter(and_( + table.TblTestList.TaskID == taskid, + table.TblTestList.CaseTag == casetag, + table.TblTestList.Provider == provider, table.TblTestList.Type == ptype, + table.TblTestList.TestID == table.TblThroughput.TestID)) return query.all() def query_frameloss_bandwidth(self, taskid, casetag, provider): ptype = 'frameloss' - query = self._session.query(TblFrameloss.AvgFrameSize, TblFrameloss.Bandwidth).filter(and_( - TblTestList.TaskID == taskid, - TblTestList.CaseTag == casetag, - TblTestList.Provider == provider, TblTestList.Type == ptype, - TblTestList.TestID == TblFrameloss.TestID)) + query = self._session.query(table.TblFrameloss.AvgFrameSize, table.TblFrameloss.Bandwidth).filter(and_( + table.TblTestList.TaskID == taskid, + table.TblTestList.CaseTag == casetag, + table.TblTestList.Provider == provider, table.TblTestList.Type == ptype, + table.TblTestList.TestID == table.TblFrameloss.TestID)) return query.all() def query_frameloss_load(self, taskid, casetag, provider): ptype = 'frameloss' - query = self._session.query(TblFrameloss.AvgFrameSize, TblFrameloss.OfferedLoad).filter(and_( - TblTestList.TaskID == taskid, - TblTestList.CaseTag == casetag, - TblTestList.Provider == provider, TblTestList.Type == ptype, - TblTestList.TestID == TblFrameloss.TestID)) + query = self._session.query(table.TblFrameloss.AvgFrameSize, table.TblFrameloss.OfferedLoad).filter(and_( + table.TblTestList.TaskID == taskid, + table.TblTestList.CaseTag == casetag, + table.TblTestList.Provider == provider, table.TblTestList.Type == ptype, + table.TblTestList.TestID == table.TblFrameloss.TestID)) return query.all() def query_frameloss_table(self, taskid, casetag, provider): ptype = 'frameloss' - query = self._session.query(TblFrameloss.AvgFrameSize, - TblFrameloss.Bandwidth, - TblFrameloss.OfferedLoad, - TblFrameloss.CPU, - TblFrameloss.MppspGhz, - TblFrameloss.MinimumLatency, - TblFrameloss.MaximumLatency, - TblFrameloss.AverageLatency, + query = self._session.query(table.TblFrameloss.AvgFrameSize, + table.TblFrameloss.Bandwidth, + table.TblFrameloss.OfferedLoad, + table.TblFrameloss.CPU, + table.TblFrameloss.MppspGhz, + table.TblFrameloss.MinimumLatency, + table.TblFrameloss.MaximumLatency, + table.TblFrameloss.AverageLatency ).filter(and_( - TblTestList.TaskID == taskid, - TblTestList.CaseTag == casetag, - TblTestList.Provider == provider, TblTestList.Type == ptype, - TblTestList.TestID == TblFrameloss.TestID)) + table.TblTestList.TaskID == taskid, + table.TblTestList.CaseTag == casetag, + table.TblTestList.Provider == provider, table.TblTestList.Type == ptype, + table.TblTestList.TestID == table.TblFrameloss.TestID)) return query.all() def query_frameloss_simpletable(self, taskid, casetag, provider): ptype = 'frameloss' - query = self._session.query(TblFrameloss.AvgFrameSize, - TblFrameloss.Bandwidth, - TblFrameloss.OfferedLoad, - TblFrameloss.CPU, - TblFrameloss.MppspGhz, - TblFrameloss.AverageLatency, + query = self._session.query(table.TblFrameloss.AvgFrameSize, + table.TblFrameloss.Bandwidth, + table.TblFrameloss.OfferedLoad, + table.TblFrameloss.CPU, + table.TblFrameloss.MppspGhz, + table.TblFrameloss.AverageLatency ).filter(and_( - TblTestList.TaskID == taskid, - TblTestList.CaseTag == casetag, - TblTestList.Provider == provider, TblTestList.Type == ptype, - TblTestList.TestID == TblFrameloss.TestID)) + table.TblTestList.TaskID == taskid, + table.TblTestList.CaseTag == casetag, + table.TblTestList.Provider == provider, table.TblTestList.Type == ptype, + table.TblTestList.TestID == table.TblFrameloss.TestID)) return query.all() def query_frameloss_avg(self, taskid, casetag, provider): ptype = 'frameloss' - query = self._session.query(TblFrameloss.AvgFrameSize, TblFrameloss.AverageLatency).filter(and_( - TblTestList.TaskID == taskid, - TblTestList.CaseTag == casetag, - TblTestList.Provider == provider, TblTestList.Type == ptype, - TblTestList.TestID == TblFrameloss.TestID)) + query = self._session.query(table.TblFrameloss.AvgFrameSize, table.TblFrameloss.AverageLatency).filter(and_( + table.TblTestList.TaskID == taskid, + table.TblTestList.CaseTag == casetag, + table.TblTestList.Provider == provider, table.TblTestList.Type == ptype, + table.TblTestList.TestID == table.TblFrameloss.TestID)) return query.all() def query_latency_avg(self, taskid, casetag, provider): ptype = 'latency' - query = self._session.query(TblLatency.AvgFrameSize, TblLatency.AverageLatency).filter(and_( - TblTestList.TaskID == taskid, - TblTestList.CaseTag == casetag, - TblTestList.Provider == provider, TblTestList.Type == ptype, - TblTestList.TestID == TblLatency.TestID)) + query = self._session.query(table.TblLatency.AvgFrameSize, table.TblLatency.AverageLatency).filter(and_( + table.TblTestList.TaskID == taskid, + table.TblTestList.CaseTag == casetag, + table.TblTestList.Provider == provider, table.TblTestList.Type == ptype, + table.TblTestList.TestID == table.TblLatency.TestID)) return query.all() def query_summary_table(self, taskid, casetag, provider, ptype): @@ -461,50 +483,51 @@ class DbManage(object): return [] def query_throughput_provider(self, taskid, casetag, provider): - query = self._session.query(TblThroughput).filter(and_(TblTestList.CaseTag == casetag, - TblTestList.Provider == provider, - TblTestList.TaskID == taskid, - TblTestList.TestID == TblThroughput.TestID)) + query = self._session.query(table.TblThroughput).filter(and_(table.TblTestList.CaseTag == casetag, + table.TblTestList.Provider == provider, + table.TblTestList.TaskID == taskid, + table.TblTestList.TestID == table.TblThroughput.TestID)) return query.all() def query_frameloss_provider(self, taskid, casetag, provider): - query = self._session.query(TblFrameloss).filter(and_(TblTestList.CaseTag == casetag, - TblTestList.Provider == provider, - TblTestList.TaskID == taskid, - TblTestList.TestID == TblFrameloss.TestID)) + query = self._session.query(table.TblFrameloss).filter(and_(table.TblTestList.CaseTag == casetag, + table.TblTestList.Provider == provider, + table.TblTestList.TaskID == taskid, + table.TblTestList.TestID == table.TblFrameloss.TestID)) return query.all() def query_latency_provider(self, taskid, casetag, provider): - query = self._session.query(TblLatency).filter(and_(TblTestList.CaseTag == casetag, - TblTestList.Provider == provider, - TblTestList.TaskID == taskid, - TblTestList.TestID == TblLatency.TestID)) + query = self._session.query(table.TblLatency).filter(and_(table.TblTestList.CaseTag == casetag, + table.TblTestList.Provider == provider, + table.TblTestList.TaskID == taskid, + table.TblTestList.TestID == table.TblLatency.TestID)) return query.all() def query_case_type_count(self, taskid, casetag, ptype): - query = self._session.query(TblTestList).filter(and_(TblTestList.CaseTag == casetag, - TblTestList.Type == ptype, TblTestList.TaskID == taskid)) + query = self._session.query(table.TblTestList).filter(and_(table.TblTestList.CaseTag == casetag, + table.TblTestList.Type == ptype, + table.TblTestList.TaskID == taskid)) return query.count() def query_case_provider_count(self, taskid, casetag, provider): - query = self._session.query(TblTestList).filter(and_(TblTestList.CaseTag == casetag, - TblTestList.Provider == provider, - TblTestList.TaskID == taskid)) + query = self._session.query(table.TblTestList).filter(and_(table.TblTestList.CaseTag == casetag, + table.TblTestList.Provider == provider, + table.TblTestList.TaskID == taskid)) return query.count() def query_case_type_provider_count(self, taskid, casetag, provider, ptype): - query = self._session.query(TblTestList).filter(and_(TblTestList.CaseTag == casetag, - TblTestList.Type == ptype, - TblTestList.Provider == provider, - TblTestList.TaskID == taskid)) + query = self._session.query(table.TblTestList).filter(and_(table.TblTestList.CaseTag == casetag, + table.TblTestList.Type == ptype, + table.TblTestList.Provider == provider, + table.TblTestList.TaskID == taskid)) return query.count() def query_exten_info(self, taskid): - query = self._session.query(TblEXTInfo.EXTName, - TblEXTInfo.EXTContent, - TblEXTInfo.Description).filter(TblEXTInfo.TaskID == taskid) + query = self._session.query(table.TblEXTInfo.EXTName, + table.TblEXTInfo.EXTContent, + table.TblEXTInfo.Description).filter(table.TblEXTInfo.TaskID == taskid) return query.all() @@ -517,7 +540,7 @@ def unit_test(): dbase.add_extent_2task(taskid, "CETH", "driver", "version 2.0") dbase.add_extent_2task(taskid, "EVS", "switch", "version 3.0") - testid = dbase.add_test_2task(taskid, "Tn-1", 'udp', "rdp", "throughput", "netperf") + testid = dbase.add_test_2task(taskid, "Tn-1", 'udp', "throughput", "ovs", None, "netperf") data = { '64': { 'OfferedLoad': 2, @@ -535,7 +558,7 @@ def unit_test(): } dbase.add_data_2test(testid, data) - testid = dbase.add_test_2task(taskid, "Tn-1", 'udp', "rdp", "frameloss", "netperf") + testid = dbase.add_test_2task(taskid, "Tn-1", 'udp', "frameloss", "ovs", None, "netperf") data = { '64': { 'OfferedLoad': 2, @@ -553,7 +576,7 @@ def unit_test(): } dbase.add_data_2test(testid, data) - testid = dbase.add_test_2task(taskid, "Tn-1", 'udp', "rdp", "latency", "netperf") + testid = dbase.add_test_2task(taskid, "Tn-1", 'udp', "latency", "ovs", None, "netperf") data = { 64: {'MaximumLatency': 0.0, 'AverageLatency': 0.0, 'MinimumLatency': 0.0, 'OfferedLoad': 0.0}, 128: {'MaximumLatency': 0.0, 'AverageLatency': 0.0, 'MinimumLatency': 0.0, 'OfferedLoad': 0.0}, @@ -561,7 +584,12 @@ def unit_test(): 1024: {'MaximumLatency': 0.0, 'AverageLatency': 0.0, 'MinimumLatency': 0.0, 'OfferedLoad': 0.0} } dbase.add_data_2test(testid, data) + query = dbase.query_testlist(1, "Tn") + for item in query: + print item.Protocol + query = dbase.query_testdata(1, "throughput") + print query if __name__ == '__main__': unit_test()