File tree Expand file tree Collapse file tree 2 files changed +30
-8
lines changed
Expand file tree Collapse file tree 2 files changed +30
-8
lines changed Original file line number Diff line number Diff line change 11__author__ = 'jmeline'
22
3- from sqlalchemy import func
3+ from sqlalchemy import func , exc
44import pandas as pd
55
66from odm2api .ODM2 import serviceBase
@@ -938,17 +938,29 @@ def getSimulationByActionID(self, actionID):
938938 return None
939939
940940 def getRelatedModelsByID (self , modelid ):
941+ """
942+ queries the ODM2 for any models that have a relationship with the provided model id
943+ :param modelid: id of the model to search
944+ :return: all models related to the specified id
945+ """
941946 try :
942947 return self ._session .query (RelatedModels ).filter_by (RelatedModelID = modelid ).all ()
943- except :
944- return None
948+ except Exception , e :
949+ print e
950+ return None
945951
946952 def getRelatedModelsByCode (self , modelcode ):
953+ """
954+ queries the ODM2 for any models that have a relationship with the provided model id
955+ :param modelcode: the code of the model to search
956+ :return: all models related to the provided model code
957+ """
947958 try :
948- return self ._session .query (Relatedmodel ).join (Relatedmodel .ModelID == Model .ModelID ) \
949- .filter (Model .ModelCode == modelcode )
950- except :
951- return None
959+ return self ._session .query (RelatedModels ).join (Models , RelatedModels .RelatedModelID == Models .ModelID ) \
960+ .filter (Models .ModelCode == modelcode ).all ()
961+ except Exception , e :
962+ print e
963+ return None
952964
953965 def getResultsBySimulationID (self , simulationID ):
954966 try :
Original file line number Diff line number Diff line change @@ -145,7 +145,17 @@ def test_getRelatedModelsByCode(self):
145145 resapi = self .reader .getRelatedModelsByCode ('swmm' )
146146
147147 assert resapi is not None
148- assert resapi [0 ].RelatedModelObj .ModelCode == 'swat'
148+ assert len (resapi ) > 0
149+ assert resapi [0 ].ModelObj .ModelCode == 'swat'
150+
151+ # test model code that doesn't exist
152+ resapi = self .reader .getRelatedModelsByCode ('None' )
153+ assert resapi is not None
154+ assert len (resapi ) == 0
155+
156+ # test invalid argument
157+ resapi = self .reader .getRelatedModelsByCode (models .ActionBy )
158+ assert resapi is None
149159
150160
151161# ################################################################################
You can’t perform that action at this time.
0 commit comments