Skip to content

Commit 5d32e11

Browse files
author
Stephanie Reeder
committed
fix typo error
1 parent 70c56f1 commit 5d32e11

File tree

4 files changed

+136
-66
lines changed

4 files changed

+136
-66
lines changed

odm2api/ODM2/services/readService.py

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,7 @@ def getResults(self, ids=None, uuids= None, actionid=None, simulationid = None)
440440
if simulationid: query = query.join(FeatureActions)\
441441
.join(Actions)\
442442
.join(Simulations)\
443-
.filter(Simulations.SimulationID == simulationid)
443+
.filter_by(SimulationID = simulationid)
444444
if ids: query = query.filter(Results.ResultID.in_(ids))
445445
if uuids: query =query.filter(Results.ResultUUID.in_(uuids))
446446

@@ -786,10 +786,21 @@ def getRelatedModels(self, id=None, code=None):
786786
:return:
787787
:rtype:
788788
"""
789+
# cdoe from master
790+
#+ # note this was RelatedModels.RelatedModelID == Models.ModelID which would return all Parent models of RelatedModelID
791+
# + self._session.query(RelatedModels).filter_by(ModelID=modelid).all()
792+
# + self._session.query(RelatedModels).join(Models, RelatedModels.ModelID == Models.ModelID).filter(Models.ModelCode == modelcode).all()
789793

790-
m = self._session.query(Models).select_from(RelatedModels).join(RelatedModels.RelatedModelObj)
794+
m = self._session.query(Models).select_from(RelatedModels).join(RelatedModels.ModelObj)
791795
if id: m = m.filter(RelatedModels.ModelID == id)
792-
if code: m = m.filter(RelatedModels.ModelCode == code)
796+
if code: m = m.filter(Models.ModelCode == code)
797+
798+
#previous version of code
799+
# m = self._session.query(Models).select_from(RelatedModels).join(RelatedModels.RelatedModelObj)
800+
# if id: m = m.filter(RelatedModels.ModelID == id)
801+
# if code: m = m.filter(RelatedModels.ModelCode == code)
802+
803+
793804

794805
try:
795806
return m.all()

tests/test_odm2/data/populated.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -340,8 +340,8 @@ CREATE TABLE SamplingFeatures (
340340
FOREIGN KEY (SamplingFeatureTypeCV) REFERENCES CV_SamplingFeatureType (Name)
341341
ON UPDATE NO ACTION ON DELETE NO ACTION
342342
);
343-
INSERT INTO "SamplingFeatures" VALUES(1,'1fe94bae-4524-11e5-b966-7831c1d1cf54','Site','LR_WaterLab_AA','Logan River at the Utah Water Research Laboratory west bridge',NULL,'Point','POINT (41.739034 -111.795742)',1414.0,'EGM96');
344-
INSERT INTO "SamplingFeatures" VALUES(2,'19b067c7-6a74-475d-8b7f-826b133cd91e','outlet','logan_river_outlet','logan watershed outlet','the outlet of the logan river watershed','point1d',X'0001000000006BD3D85E0BF25B40CF84268925DF44406BD3D85E0BF25B40CF84268925DF44407C010000006BD3D85E0BF25B40CF84268925DF4440FE',4680.0,'epsg:5702');
343+
INSERT INTO "SamplingFeatures" VALUES(1,'1fe94bae-4524-11e5-b966-7831c1d1cf54','Site','LR_WaterLab_AA','Logan River at the Utah Water Research Laboratory west bridge',NULL,'Point','POINT (41.739034 -111.795742)',NULL, 1414.0,'EGM96');
344+
INSERT INTO "SamplingFeatures" VALUES(2,'19b067c7-6a74-475d-8b7f-826b133cd91e','outlet','logan_river_outlet','logan watershed outlet','the outlet of the logan river watershed','point1d',X'0001000000006BD3D85E0BF25B40CF84268925DF44406BD3D85E0BF25B40CF84268925DF44407C010000006BD3D85E0BF25B40CF84268925DF4440FE',NULL, 4680.0,'epsg:5702');
345345
CREATE TABLE TaxonomicClassifiers (
346346
TaxonomicClassifierID INTEGER NOT NULL PRIMARY KEY,
347347
TaxonomicClassifierTypeCV VARCHAR (255) NOT NULL,

tests/test_odm2/test_createservice.py

Lines changed: 54 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -186,79 +186,72 @@ def test_createActionBy(self):
186186
def test_createFeatureAction(self):
187187
pass
188188

189-
def test_createResult(self):
190-
191-
# assert that there are no results
192-
res = self.engine.execute('SELECT * FROM Results')
193-
assert(len(res.fetchall()) == 0)
194-
195-
# create a result record
196-
# self.writer.createResult(featureactionid = 1,
197-
# variableid = 1,
198-
# unitid = 1,
199-
# processinglevelid = 1,
200-
# valuecount = 0,
201-
# sampledmedium = 'unknown',
202-
# resulttypecv = 'time series',
203-
# taxonomicclass=None, resultdatetime=None, resultdatetimeutcoffset=None,
204-
# validdatetime=None, validdatetimeutcoffset=None, statuscv=None)
205-
206-
r = models.Results(FeatureActionID = 1,
207-
VariableID=1,
208-
UnitsID =1,
209-
ProcessingLevelID = 1,
210-
ValueCount = 0,
211-
SampledMediumCV = 'unknown',
212-
ResultTypeCV = 'time series',
213-
TaxonomicClassifierID = None,
214-
ResultDateTime = None,
215-
ResultDateTimeUTCOffset = None,
216-
ValidDateTime=None,
217-
ValidDateTimeUTCOffset = None,
218-
StatusCV = None,
219-
ResultUUID = uuid.uuid4().hex
220-
221-
)
222-
self.writer.createResult(r)
223-
224-
225-
# assert that there are results
226-
res = self.engine.execute('SELECT * FROM Results')
227-
assert(len(res.fetchall()) == 1)
189+
# def test_createResult(self):
190+
#
191+
# # assert that there are no results
192+
# res = self.engine.execute('SELECT * FROM Results')
193+
# assert(len(res.fetchall()) == 0)
194+
#
195+
# # create a result record
196+
# # self.writer.createResult(featureactionid = 1,
197+
# # variableid = 1,
198+
# # unitid = 1,
199+
# # processinglevelid = 1,
200+
# # valuecount = 0,
201+
# # sampledmedium = 'unknown',
202+
# # resulttypecv = 'time series',
203+
# # taxonomicclass=None, resultdatetime=None, resultdatetimeutcoffset=None,
204+
# # validdatetime=None, validdatetimeutcoffset=None, statuscv=None)
205+
#
206+
# r = models.Results(FeatureActionID = 1,
207+
# VariableID=1,
208+
# UnitsID =1,
209+
# ProcessingLevelID = 1,
210+
# ValueCount = 0,
211+
# SampledMediumCV = 'unknown',
212+
# ResultTypeCV = 'time series',
213+
# TaxonomicClassifierID = None,
214+
# ResultDateTime = None,
215+
# ResultDateTimeUTCOffset = None,
216+
# ValidDateTime=None,
217+
# ValidDateTimeUTCOffset = None,
218+
# StatusCV = None,
219+
# ResultUUID = uuid.uuid4().hex
220+
#
221+
# )
222+
# self.writer.createResult(r)
223+
#
224+
#
225+
# # assert that there are results
226+
# res = self.engine.execute('SELECT * FROM Results')
227+
# assert(len(res.fetchall()) == 1)
228228

229229
def test_createTimeSeriesResult(self):
230230

231231
# assert that there are no time series results in the database
232232
res = self.engine.execute('SELECT * FROM TimeSeriesResults').first()
233233
assert(res is None)
234234

235-
# create a result record if it doesnt exist (required to test foriegn key relationship)
236-
result = self.engine.execute('SELECT * FROM Results').first()
237-
if result is None:
238-
# create a basic result record
239-
# self.writer.createResult(featureactionid = 1,variableid = 1,unitid = 1,processinglevelid = 1,
240-
# valuecount = 0,sampledmedium = 'unknown',resulttypecv = 'time series')
241235

242-
r = models.Results(FeatureActionID = 1,
243-
VariableID=1,
244-
UnitsID =1,
245-
ProcessingLevelID = 1,
246-
ValueCount = 0,
247-
SampledMediumCV = 'unknown',
248-
ResultTypeCV = 'time series',
249-
ResultUUID = uuid.uuid4().hex
236+
# create most basic time series result record possible
237+
r = models.TimeSeriesResults(FeatureActionID = 1,
238+
VariableID=1,
239+
UnitsID =1,
240+
ProcessingLevelID = 1,
241+
ValueCount = 0,
242+
SampledMediumCV = 'unknown',
243+
ResultTypeCV = 'time series',
244+
ResultUUID = uuid.uuid4().hex,
245+
AggregationStatisticCV = 'unknown'
246+
250247

251248

252-
)
253-
self.writer.createResult(r)
254-
result = self.engine.execute('SELECT * FROM Results').first()
255-
assert(result is not None)
249+
)
250+
self.writer.createResult(r)
251+
result = self.engine.execute('SELECT * FROM Results').first()
252+
assert(result is not None)
256253

257254

258-
# create most basic time series result record possible
259-
# tsr = self.writer.createTimeSeriesResult(result=result, aggregationstatistic='unknown')
260-
# t = models.TimeSeriesResults(ResultID = result.ResultID, AggregationStatisticCV = 'unknown')
261-
# tsr= self.writer.createResult(t)
262255
# assert that this basic tsr exists in the database
263256
res = self.engine.execute('SELECT * FROM TimeSeriesResults').first()
264257
assert(res is not None)

tests/test_odm2/test_readservice.py

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,30 @@ def setup(self):
7676
self.db = globals['db']
7777

7878

79+
# ################################################################################
80+
# Sampling Features
81+
# ################################################################################
82+
83+
def test_getAllSamplingFeatures(self):
84+
85+
# get all models from the database
86+
res = self.engine.execute('SELECT * FROM SamplingFeatures').fetchall()
87+
88+
# get all simulations using the api
89+
resapi = self.reader.getSamplingFeatures()
7990

91+
assert len(res) == len(resapi)
92+
93+
def test_getSamplingFeatureByID(self):
94+
95+
# get all models from the database
96+
res = self.engine.execute('SELECT * FROM SamplingFeatures').fetchone()
97+
sfid=res[0]
98+
99+
# get all simulations using the api
100+
resapi = self.reader.getSamplingFeatures(ids = [sfid])
101+
102+
assert resapi is not None
80103

81104
# ################################################################################
82105
# Models
@@ -163,6 +186,49 @@ def test_getRelatedModelsByCode(self):
163186
assert resapi is None
164187

165188

189+
# ################################################################################
190+
# Results
191+
# ################################################################################
192+
"""
193+
TABLE Results (
194+
ResultID INTEGER NOT NULL PRIMARY KEY,
195+
ResultUUID VARCHAR(36) NOT NULL,
196+
FeatureActionID INTEGER NOT NULL,
197+
ResultTypeCV VARCHAR (255) NOT NULL,
198+
VariableID INTEGER NOT NULL,
199+
UnitsID INTEGER NOT NULL,
200+
TaxonomicClassifierID INTEGER NULL,
201+
ProcessingLevelID INTEGER NOT NULL,
202+
ResultDateTime DATETIME NULL,
203+
ResultDateTimeUTCOffset INTEGER NULL,
204+
ValidDateTime DATETIME NULL,
205+
ValidDateTimeUTCOffset INTEGER NULL,
206+
StatusCV VARCHAR (255) NULL,
207+
SampledMediumCV VARCHAR (255) NOT NULL,
208+
ValueCount INTEGER NOT NULL
209+
"""
210+
def test_getAllResults(self):
211+
212+
# get all results from the database
213+
res = self.engine.execute('SELECT * FROM Results').fetchall()
214+
print res
215+
# get all results using the api
216+
resapi = self.reader.getResults()
217+
218+
assert len(res) == len(resapi)
219+
220+
def test_getResultsByID(self):
221+
222+
# get a result from the database
223+
res = self.engine.execute('SELECT * FROM Results').fetchone()
224+
resultid = res[1]
225+
226+
227+
# get the result using the api
228+
resapi = self.reader.getResults(ids=[resultid])
229+
230+
assert resapi is not None
231+
166232
# ################################################################################
167233
# Simulations
168234
# ################################################################################

0 commit comments

Comments
 (0)