diff --git a/opendcs-integration-test/src/test/java/org/opendcs/odcsapi/res/it/ReflistResourcesIT.java b/opendcs-integration-test/src/test/java/org/opendcs/odcsapi/res/it/ReflistResourcesIT.java index abce4094..52dc3787 100644 --- a/opendcs-integration-test/src/test/java/org/opendcs/odcsapi/res/it/ReflistResourcesIT.java +++ b/opendcs-integration-test/src/test/java/org/opendcs/odcsapi/res/it/ReflistResourcesIT.java @@ -410,17 +410,16 @@ void testPostAndDeleteSeason() throws Exception String newSeasonId = response.jsonPath().getString("abbr"); - // Retrieve Season and assert that it matches stored data + // Retrieve All Seasons and assert that the new one is in the list response = given() .log().ifValidationFails(LogDetail.ALL, true) .accept(MediaType.APPLICATION_JSON) .header("Authorization", authHeader) .filter(sessionFilter) - .queryParam("abbr", newSeasonId) .when() .redirects().follow(true) .redirects().max(3) - .get("season") + .get("seasons") .then() .log().ifValidationFails(LogDetail.ALL, true) .assertThat() @@ -428,74 +427,14 @@ void testPostAndDeleteSeason() throws Exception .extract() ; - JsonPath actual = response.body().jsonPath(); JsonPath expected = new JsonPath(seasonJson); - assertEquals(expected.getString("abbr"), actual.getString("abbr")); - assertEquals(expected.getString("name"), actual.getString("name")); - assertEquals(expected.getString("start"), actual.getString("start")); - assertEquals(expected.getString("end"), actual.getString("end")); - assertEquals(expected.getString("tz"), actual.getString("tz")); - - // Delete Season - given() - .log().ifValidationFails(LogDetail.ALL, true) - .accept(MediaType.APPLICATION_JSON) - .header("Authorization", authHeader) - .filter(sessionFilter) - .queryParam("abbr", newSeasonId) - .when() - .redirects().follow(true) - .redirects().max(3) - .delete("season") - .then() - .log().ifValidationFails(LogDetail.ALL, true) - .assertThat() - .statusCode(is(HttpServletResponse.SC_NO_CONTENT)) - ; - - // Retrieve Season and assert that it is not found - given() - .log().ifValidationFails(LogDetail.ALL, true) - .accept(MediaType.APPLICATION_JSON) - .header("Authorization", authHeader) - .filter(sessionFilter) - .queryParam("abbr", newSeasonId) - .when() - .redirects().follow(true) - .redirects().max(3) - .get("season") - .then() - .log().ifValidationFails(LogDetail.ALL, true) - .assertThat() - .statusCode(is(HttpServletResponse.SC_NOT_FOUND)) - ; - } - - @TestTemplate - void testPostAndDeleteSeasonWithFromAbbr() throws Exception - { - String seasonJson = getJsonFromResource("reflist_season_from_abbr_insert_data.json"); - - // Store Season - ExtractableResponse response = given() - .log().ifValidationFails(LogDetail.ALL, true) - .accept(MediaType.APPLICATION_JSON) - .header("Authorization", authHeader) - .contentType(MediaType.APPLICATION_JSON) - .filter(sessionFilter) - .body(seasonJson) - .when() - .redirects().follow(true) - .redirects().max(3) - .post("season") - .then() - .log().ifValidationFails(LogDetail.ALL, true) - .assertThat() - .statusCode(is(HttpServletResponse.SC_CREATED)) - .extract() - ; - - String newSeasonId = response.jsonPath().getString("abbr"); + Map actualMap = (Map) response.body().jsonPath().getList("").stream() + .filter(o -> ((Map)o).get("abbr").equals(expected.getString("abbr"))).findAny().get(); + assertEquals(expected.getString("abbr"), actualMap.get("abbr").toString()); + assertEquals(expected.getString("name"), actualMap.get("name").toString()); + assertEquals(expected.getString("start"), actualMap.get("start").toString()); + assertEquals(expected.getString("end"), actualMap.get("end").toString()); + assertEquals(expected.getString("tz"), actualMap.get("tz").toString()); // Retrieve Season and assert that it matches stored data response = given() @@ -516,13 +455,11 @@ void testPostAndDeleteSeasonWithFromAbbr() throws Exception ; JsonPath actual = response.body().jsonPath(); - JsonPath expected = new JsonPath(seasonJson); assertEquals(expected.getString("abbr"), actual.getString("abbr")); assertEquals(expected.getString("name"), actual.getString("name")); assertEquals(expected.getString("start"), actual.getString("start")); assertEquals(expected.getString("end"), actual.getString("end")); assertEquals(expected.getString("tz"), actual.getString("tz")); - assertEquals(expected.getString("fromAbbr"), actual.getString("fromAbbr")); // Delete Season given() diff --git a/opendcs-rest-api/src/main/java/org/opendcs/odcsapi/res/ReflistResources.java b/opendcs-rest-api/src/main/java/org/opendcs/odcsapi/res/ReflistResources.java index 4d157237..a9b0a20c 100644 --- a/opendcs-rest-api/src/main/java/org/opendcs/odcsapi/res/ReflistResources.java +++ b/opendcs-rest-api/src/main/java/org/opendcs/odcsapi/res/ReflistResources.java @@ -388,11 +388,12 @@ static ArrayList mapSeasons(DbEnum seasons) for (EnumValue val : seasons.values()) { ApiSeason as = new ApiSeason(); - as.setName(val.getFullName()); + as.setName(val.getDescription()); as.setAbbr(val.getValue()); String[] startEndTZ = val.getEditClassName().split(" "); as.setStart(startEndTZ[0]); as.setEnd(startEndTZ[1]); + as.setSortNumber(val.getSortNumber()); if (startEndTZ.length > 2) { as.setTz(startEndTZ[2]); @@ -490,9 +491,7 @@ static ApiSeason map(EnumValue season) }, tags = {"REST - Reference Lists"} ) - public Response postSeason(@Parameter(description = "Abbreviation of the existing season to modify") - @QueryParam("fromabbr") String fromAbbr, - @Parameter(description = "Details of the new or updated season", required = true) ApiSeason season) + public Response postSeason(@Parameter(description = "Details of the new or updated season", required = true) ApiSeason season) throws DbException { try (EnumDAI dai = getLegacyTimeseriesDB().makeEnumDAO()) @@ -510,12 +509,13 @@ public Response postSeason(@Parameter(description = "Abbreviation of the existin { dbSeasonId = dbEnum.getId(); } - if (fromAbbr != null) + String fromabbr = season.getFromabbr(); + if (fromabbr != null) { - dai.deleteEnumValue(dbSeasonId, fromAbbr); + dai.deleteEnumValue(dbSeasonId, fromabbr); } EnumValue dbSeason = map(season, dbEnum); - dai.writeEnumValue(dbSeasonId, dbSeason, fromAbbr, season.getSortNumber()); + dai.writeEnumValue(dbSeasonId, dbSeason, null, season.getSortNumber()); return Response.status(HttpServletResponse.SC_CREATED) .entity(map(dbSeason)) .build(); @@ -540,13 +540,6 @@ static EnumValue map(ApiSeason season, DbEnum dbEnum) return ret; } - static DbEnum map(ApiSeason season, String fromAbbr) - { - DbEnum ret = new DbEnum(season.getName()); - ret.setDefault(fromAbbr); - return ret; - } - @DELETE @Path("season") @Consumes(MediaType.APPLICATION_JSON) diff --git a/opendcs-rest-api/src/test/java/org/opendcs/odcsapi/res/ReflistResourcesTest.java b/opendcs-rest-api/src/test/java/org/opendcs/odcsapi/res/ReflistResourcesTest.java index e42a86f4..494d09d2 100644 --- a/opendcs-rest-api/src/test/java/org/opendcs/odcsapi/res/ReflistResourcesTest.java +++ b/opendcs-rest-api/src/test/java/org/opendcs/odcsapi/res/ReflistResourcesTest.java @@ -65,7 +65,7 @@ void testSeasonMap() throws Exception assertNotNull(seasons); ApiSeason season = seasons.get(0); assertEquals(enumValue.getValue(), season.getAbbr()); - assertEquals(enumValue.getFullName(), season.getName()); + assertEquals(enumValue.getDescription(), season.getName()); assertEquals(enumValue.getEditClassName(), String.format("%s %s %s", season.getStart(), season.getEnd(), season.getTz())); } @@ -110,24 +110,7 @@ void testSeasonApiMap() assertEquals(season.getStart(), startEndTzArray[0]); assertEquals(season.getEnd(), startEndTzArray[1]); assertEquals(season.getTz(), startEndTzArray[2]); - } - - @Test - void testEnumSeasonMap() - { - ApiSeason season = new ApiSeason(); - String abbr = "m"; - season.setAbbr(abbr); - season.setName("Meter"); - season.setStart("start"); - season.setEnd("end"); - season.setSortNumber(1); - season.setTz("UTC"); - - DbEnum dbEnum = map(season, abbr); - - assertNotNull(dbEnum); - assertEquals(season.getName(), dbEnum.getUniqueName()); + assertEquals(season.getSortNumber(), result.getSortNumber()); } @Test