Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ jobs:
- env: latest
image: "ghcr.io/hydrologicengineeringcenter/cwms-database/cwms/database-ready-ora-23.5:latest-dev"
- env: release
image: "ghcr.io/hydrologicengineeringcenter/cwms-database/cwms/database-ready-ora-23.5:25.07.01"
image: "ghcr.io/hydrologicengineeringcenter/cwms-database/cwms/database-ready-ora-23.5:26.02.17"
- env: next-release
image: "ghcr.io/hydrologicengineeringcenter/cwms-database/cwms/database-ready-ora-23.5:26.02.17-RC01"
# - env: previous
# image: "ghcr.io/hydrologicengineeringcenter/cwms-database/cwms/database-ready-ora-23.5:25.07.01"
image: "ghcr.io/hydrologicengineeringcenter/cwms-database/cwms/database-ready-ora-23.5:26.07.16-RC01"
- env: previous
image: "ghcr.io/hydrologicengineeringcenter/cwms-database/cwms/database-ready-ora-23.5:25.07.01"
name: build and test (jdk ${{matrix.jdk}}, schema ${{matrix.schema.env}})
runs-on: ubuntu-latest
outputs:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ public class DatabaseHelpers {

public enum SCHEMA_VERSION {
V2025_07_01(250701, "25.07.01"),
V2026_02_17(260217, "26.02.17"),
V2026_07_16(260216, "26.07.16"),
LATEST_DEV(LATEST_SCHEMA, "99.99.99"),
BYPASS(-1, "Bypass")
;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -329,36 +329,37 @@ private Lock storeLocLevelsAndBuildStorableLock(Lock lock) throws SQLException {
}

private List<LocationLevel> createLocationLevelList(Lock lock) {
var effectiveDate = ZonedDateTime.now().withSecond(0).withNano(0).toInstant();
List<LocationLevel> retVal = new ArrayList<>();
var lowLowerLevel = new ConstantLocationLevel.Builder(lock.getLowWaterLowerPoolLocationLevel().getLevelId(), ZonedDateTime.now().toInstant())
var lowLowerLevel = new ConstantLocationLevel.Builder(lock.getLowWaterLowerPoolLocationLevel().getLevelId(), effectiveDate)
.withLevelUnitsId(lock.getElevationUnits())
.withOfficeId(lock.getLowWaterLowerPoolLocationLevel().getOfficeId())
.withSpecifiedLevelId(lock.getLowWaterLowerPoolLocationLevel().getSpecifiedLevelId())
.withConstantValue(lock.getLowWaterLowerPoolLocationLevel().getLevelValue())
.build();
retVal.add(lowLowerLevel);
var lowUpperLevel = new ConstantLocationLevel.Builder(lock.getLowWaterUpperPoolLocationLevel().getLevelId(), ZonedDateTime.now().toInstant())
var lowUpperLevel = new ConstantLocationLevel.Builder(lock.getLowWaterUpperPoolLocationLevel().getLevelId(), effectiveDate)
.withLevelUnitsId(lock.getElevationUnits())
.withOfficeId(lock.getLowWaterUpperPoolLocationLevel().getOfficeId())
.withSpecifiedLevelId(lock.getLowWaterUpperPoolLocationLevel().getSpecifiedLevelId())
.withConstantValue(lock.getLowWaterUpperPoolLocationLevel().getLevelValue())
.build();
retVal.add(lowUpperLevel);
var highLowerLevel = new ConstantLocationLevel.Builder(lock.getHighWaterLowerPoolLocationLevel().getLevelId(), ZonedDateTime.now().toInstant())
var highLowerLevel = new ConstantLocationLevel.Builder(lock.getHighWaterLowerPoolLocationLevel().getLevelId(), effectiveDate)
.withLevelUnitsId(lock.getElevationUnits())
.withOfficeId(lock.getHighWaterLowerPoolLocationLevel().getOfficeId())
.withSpecifiedLevelId(lock.getHighWaterLowerPoolLocationLevel().getSpecifiedLevelId())
.withConstantValue(lock.getHighWaterLowerPoolLocationLevel().getLevelValue())
.build();
retVal.add(highLowerLevel);
var highUpperLevel = new ConstantLocationLevel.Builder(lock.getHighWaterUpperPoolLocationLevel().getLevelId(), ZonedDateTime.now().toInstant())
var highUpperLevel = new ConstantLocationLevel.Builder(lock.getHighWaterUpperPoolLocationLevel().getLevelId(), effectiveDate)
.withLevelUnitsId(lock.getElevationUnits())
.withOfficeId(lock.getHighWaterUpperPoolLocationLevel().getOfficeId())
.withSpecifiedLevelId(lock.getHighWaterUpperPoolLocationLevel().getSpecifiedLevelId())
.withConstantValue(lock.getHighWaterUpperPoolLocationLevel().getLevelValue())
.build();
retVal.add(highUpperLevel);
var warningBuffer = new ConstantLocationLevel.Builder(String.format("%s.Elev-Closure.Inst.0.Warning Buffer", lock.getLocation().getName()), ZonedDateTime.now().toInstant())
var warningBuffer = new ConstantLocationLevel.Builder(String.format("%s.Elev-Closure.Inst.0.Warning Buffer", lock.getLocation().getName()), effectiveDate)
.withLevelUnitsId(lock.getElevationUnits())
.withOfficeId(lock.getLocation().getOfficeId())
.withSpecifiedLevelId("Warning Buffer")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@
@AfterAll
static void tearDown() throws Exception {
CwmsDatabaseContainer<?> db = CwmsDataApiSetupCallback.getDatabaseLink();
db.connection(c -> {

Check failure on line 102 in cwms-data-api/src/test/java/cwms/cda/data/dao/watersupply/WaterContractDaoTestIT.java

View workflow job for this annotation

GitHub Actions / build and test (jdk 11, schema latest)

WaterContractDaoTestIT.executionError

org.jooq.exception.DataAccessException: SQL [{ call "CWMS_20"."CWMS_LOC"."DELETE_LOCATION" (?, ?, ?) }]; ORA-20056: CAN_NOT_DELETE_LOC_2: Can not delete location: "Test Location Name" because dependent data exists: location geometry=1 ORA-06512: at "CWMS_20.CWMS_ERR", line 80 ORA-06512: at "CWMS_20.CWMS_LOC", line 2713 ORA-06512: at line 1 https://docs.oracle.com/error-help/db/ora-20056/
DSLContext ctx = getDslContext(c, OFFICE_ID);
ProjectDao projectDao = new ProjectDao(ctx);
LookupTypeDao lookupTypeDao = new LookupTypeDao(ctx);
Expand Down Expand Up @@ -200,7 +200,7 @@
WaterUserContract contract = buildTestWaterContract("Test retrieve", false);
WaterUserContract contract2 = buildTestWaterContract("Test retrieve 2", false);
CwmsDatabaseContainer<?> db = CwmsDataApiSetupCallback.getDatabaseLink();
db.connection(c -> {

Check failure on line 203 in cwms-data-api/src/test/java/cwms/cda/data/dao/watersupply/WaterContractDaoTestIT.java

View workflow job for this annotation

GitHub Actions / build and test (jdk 11, schema previous)

WaterContractDaoTestIT.WaterContractDaoTestIT.testStoreAndRetrieveWaterContractList (schema: 25.07.01)

org.gradle.internal.exceptions.DefaultMultiCauseException: Multiple Failures (3 failures) org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.AssertionFailedError: expected: <Davis, CA> but was: <Davis> org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.AssertionFailedError: expected: <Davis, CA> but was: <Davis> org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.AssertionFailedError: expected: <Davis, CA> but was: <Davis>

Check failure on line 203 in cwms-data-api/src/test/java/cwms/cda/data/dao/watersupply/WaterContractDaoTestIT.java

View workflow job for this annotation

GitHub Actions / build and test (jdk 11, schema release)

WaterContractDaoTestIT.WaterContractDaoTestIT.testStoreAndRetrieveWaterContractList (schema: 26.02.17)

org.gradle.internal.exceptions.DefaultMultiCauseException: Multiple Failures (3 failures) org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.AssertionFailedError: expected: <Davis, CA> but was: <Davis> org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.AssertionFailedError: expected: <Davis, CA> but was: <Davis> org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.AssertionFailedError: expected: <Davis, CA> but was: <Davis>
DSLContext ctx = getDslContext(c, OFFICE_ID);
WaterContractDao dao = new WaterContractDao(ctx);
dao.storeWaterUser(contract.getWaterUser(), false);
Expand All @@ -215,6 +215,7 @@
WaterUserContract result = retrievedContract.get(0);
DTOMatch.assertMatch(contract, result);
result = retrievedContract.get(1);

DTOMatch.assertMatch(contract2, result);
}, CwmsDataApiSetupCallback.getWebUser());
}
Expand All @@ -223,7 +224,7 @@
void testStoreAndRetrieveWaterContract() throws Exception {
WaterUserContract contract = buildTestWaterContract("Test retrieve 1", false);
CwmsDatabaseContainer<?> db = CwmsDataApiSetupCallback.getDatabaseLink();
db.connection(c -> {

Check failure on line 227 in cwms-data-api/src/test/java/cwms/cda/data/dao/watersupply/WaterContractDaoTestIT.java

View workflow job for this annotation

GitHub Actions / build and test (jdk 11, schema previous)

WaterContractDaoTestIT.WaterContractDaoTestIT.testStoreAndRetrieveWaterContract (schema: 25.07.01)

org.gradle.internal.exceptions.DefaultMultiCauseException: Multiple Failures (3 failures) org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.AssertionFailedError: expected: <Davis, CA> but was: <Davis> org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.AssertionFailedError: expected: <Davis, CA> but was: <Davis> org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.AssertionFailedError: expected: <Davis, CA> but was: <Davis>

Check failure on line 227 in cwms-data-api/src/test/java/cwms/cda/data/dao/watersupply/WaterContractDaoTestIT.java

View workflow job for this annotation

GitHub Actions / build and test (jdk 11, schema release)

WaterContractDaoTestIT.WaterContractDaoTestIT.testStoreAndRetrieveWaterContract (schema: 26.02.17)

org.gradle.internal.exceptions.DefaultMultiCauseException: Multiple Failures (3 failures) org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.AssertionFailedError: expected: <Davis, CA> but was: <Davis> org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.AssertionFailedError: expected: <Davis, CA> but was: <Davis> org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.AssertionFailedError: expected: <Davis, CA> but was: <Davis>
DSLContext ctx = getDslContext(c, OFFICE_ID);
WaterContractDao dao = new WaterContractDao(ctx);
dao.storeWaterUser(contract.getWaterUser(), false);
Expand Down Expand Up @@ -297,7 +298,7 @@
WaterUserContract oldContract = buildTestWaterContract("Test contract", true);
WaterUserContract renamedContract = buildTestWaterContract("Test contract 2", true);
CwmsDatabaseContainer<?> db = CwmsDataApiSetupCallback.getDatabaseLink();
db.connection(c -> {

Check failure on line 301 in cwms-data-api/src/test/java/cwms/cda/data/dao/watersupply/WaterContractDaoTestIT.java

View workflow job for this annotation

GitHub Actions / build and test (jdk 11, schema previous)

WaterContractDaoTestIT.WaterContractDaoTestIT.testRenameWaterContract (schema: 25.07.01)

org.gradle.internal.exceptions.DefaultMultiCauseException: Multiple Failures (3 failures) org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.AssertionFailedError: expected: <Davis, CA> but was: <Davis> org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.AssertionFailedError: expected: <Davis, CA> but was: <Davis> org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.AssertionFailedError: expected: <Davis, CA> but was: <Davis>

Check failure on line 301 in cwms-data-api/src/test/java/cwms/cda/data/dao/watersupply/WaterContractDaoTestIT.java

View workflow job for this annotation

GitHub Actions / build and test (jdk 11, schema release)

WaterContractDaoTestIT.WaterContractDaoTestIT.testRenameWaterContract (schema: 26.02.17)

org.gradle.internal.exceptions.DefaultMultiCauseException: Multiple Failures (3 failures) org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.AssertionFailedError: expected: <Davis, CA> but was: <Davis> org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.AssertionFailedError: expected: <Davis, CA> but was: <Davis> org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.MultipleFailuresError: Multiple Failures (1 failure) org.opentest4j.AssertionFailedError: expected: <Davis, CA> but was: <Davis>
DSLContext ctx = getDslContext(c, OFFICE_ID);
WaterContractDao dao = new WaterContractDao(ctx);
dao.storeWaterUser(oldContract.getWaterUser(), false);
Expand Down Expand Up @@ -468,7 +469,8 @@
.withPublicName("Test Public Name")
.withLongName("Test Long Name")
.withDescription("Test Description")
.withNearestCity("Davis, California")
// Older Schemas will use as-is, newer schemas will force it to be this anyways
.withNearestCity("Davis, CA")
.withLatitude(38.55)
.withLongitude(-121.73)
.withPublishedLatitude(38.55)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@
@AfterAll
static void tearDown() throws Exception {
CwmsDatabaseContainer<?> db = CwmsDataApiSetupCallback.getDatabaseLink();
db.connection(c -> {

Check failure on line 120 in cwms-data-api/src/test/java/cwms/cda/data/dao/watersupply/WaterSupplyAccountingDaoIT.java

View workflow job for this annotation

GitHub Actions / build and test (jdk 11, schema latest)

WaterSupplyAccountingDaoIT.executionError

org.jooq.exception.DataAccessException: SQL [{ call "CWMS_20"."CWMS_LOC"."DELETE_LOCATION" (?, ?, ?) }]; ORA-20056: CAN_NOT_DELETE_LOC_2: Can not delete location: "Test Project Name" because dependent data exists: location geometry=1 ORA-06512: at "CWMS_20.CWMS_ERR", line 80 ORA-06512: at "CWMS_20.CWMS_LOC", line 2713 ORA-06512: at line 1 https://docs.oracle.com/error-help/db/ora-20056/
DSLContext ctx = getDslContext(c, OFFICE_ID);
LocationsDaoImpl dao = new LocationsDaoImpl(ctx);
ProjectDao projectDao = new ProjectDao(ctx);
Expand Down Expand Up @@ -407,7 +407,7 @@
.withPublicName("Test Public Name")
.withLongName("Test Long Name")
.withDescription("Test Description")
.withNearestCity("Davis, California")
.withNearestCity("Davis, CA")
.withLatitude(38.55)
.withLongitude(-121.73)
.withPublishedLatitude(38.55)
Expand Down
Loading