Repository navigation
refactor(edr): step 1: update current tests to describe changes that will occur to EDR (BDMS-1542 & BDMS-1500) - #1051
Open
jacob-a-brown wants to merge 2 commits into
Conversation
Contributor
CoverageNo coverage data was produced. |
jacob-a-brown
force-pushed
the
BDMS-1542-feat-ocotillo-implement-test-for-die-timeseries-summary-water-levels
branch
from
November 13, 2026 16:20
a2780da to
29979fe
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This work will be done in a series of stacked PRs and therefore I expect these tests to fail until all of the subsequent PRs get approved and merged into this one. Some of the tests may need to change depending on implementation, but this is what I foresee needing updates.
Why
This PR addresses the following problem / context:
ogc_waterlevelsview is going to change from a mix of manual and continuous measurements toogc_manual_waterlevelsand consist solely of manual measurementsobservation_value/observation_parameter_nameandqualifier_value/qualifier_parameter_name).WaterEDRProviderwasn't an appropriately descriptive class name since time series at a point won't necessarily be water-basedHow
Implementation summary: the following was changed / added / removed:
I updated the current tests to describe how the codebase is going to change. Future work will address new aspects of the changes and data contract, such as the shape of the data.
tests/features/edr-water-data.feature & tests/features/steps/edr_water_data.py
tests/test_edr_provider.py
WaterEDRProviderto the more generalPointSeriesEDRProvidersince that class can and will eventually be used for other point series data, such as air temperature at a meteorological station or heat flow datatests/test_migration_view_parity.py
ogc_waterlevels->ogc_manual_waterlevels, then the newer one won't be tested. This now tests against the database to ensure that internal and public views are made as needed.tests/test_ogc_field_descriptions.py
EDR_COLLECTIONSdictionary now needs to have aparameter_columnskey that evaluates to a list of dictionaries of thename_column,value_column, andunits_column(if applicable). This is what will tell the EDR Provider which columns to look in for the different parameter names, values, and units.nthelement correspond to thenthdatetime. This isn't an issue if parameter names don't differ from row-to-row, like water levels, but will need to be considered for water chemistry data where parameter names will differ.independent_axisfield to the provider definition (an EDR_COLLECTIONS dictionary) so that different collections can have different independent axes. This will enable us to use the samePointSeriesEDRProviderfor both time series and depth/height series. It seems like EDRs can be multi-dimensional, such as time and depth, but we don't have that data at the moment and it seems out of the scope of this work. I anticipate theindependent_axiskey in the EDR dictionary to kind of be like this (though won't be sure until it's implemented):then for height/depth
and that information be used to populate the CoverageJSON.
Author Checklist
Reviewer Checklist
Notes
Any special considerations, known limitations, risks, workarounds, or follow-up work to note?
test_ogc.pyin this branch. That test, however, has not disappeared. I just created a new testing suite specific to manual waterlevels and it has moved there. That test will be present in the next PR in this stack.