From 5ea679eecbab0aab1940a5c2d4ae2bd7f3fd43d8 Mon Sep 17 00:00:00 2001 From: dmeidlin <14339308+dmeidlin@users.noreply.github.com> Date: Wed, 9 Feb 2022 15:47:09 -0500 Subject: [PATCH 1/7] refactor obsVarName error messages to use Name --- .../services/validators/TraitFileValidatorError.java | 4 ++-- .../services/validators/TraitValidatorError.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/breedinginsight/services/validators/TraitFileValidatorError.java b/src/main/java/org/breedinginsight/services/validators/TraitFileValidatorError.java index 2d406fb9b..9469d21b9 100644 --- a/src/main/java/org/breedinginsight/services/validators/TraitFileValidatorError.java +++ b/src/main/java/org/breedinginsight/services/validators/TraitFileValidatorError.java @@ -67,7 +67,7 @@ public ValidationError getMissingScaleDataTypeMsg() { @Override public ValidationError getMissingObsVarNameMsg() { - return new ValidationError("Observation variable name", "Missing observation variable name", HttpStatus.UNPROCESSABLE_ENTITY); + return new ValidationError("Name", "Missing name", HttpStatus.UNPROCESSABLE_ENTITY); } @Override @@ -140,7 +140,7 @@ public ValidationError getInsufficientOrdinalValError() { @Override public ValidationError getCharLimitObsVarNameMsg() { - return new ValidationError("observationVariableName", "Observation variable name exceeds 12 character limit", HttpStatus.UNPROCESSABLE_ENTITY); + return new ValidationError("Name", "Name exceeds 12 character limit", HttpStatus.UNPROCESSABLE_ENTITY); } @Override diff --git a/src/main/java/org/breedinginsight/services/validators/TraitValidatorError.java b/src/main/java/org/breedinginsight/services/validators/TraitValidatorError.java index 76dc4271b..7c50a975d 100644 --- a/src/main/java/org/breedinginsight/services/validators/TraitValidatorError.java +++ b/src/main/java/org/breedinginsight/services/validators/TraitValidatorError.java @@ -67,7 +67,7 @@ public ValidationError getMissingScaleDataTypeMsg() { @Override public ValidationError getMissingObsVarNameMsg() { - return new ValidationError("observationVariableName", "Missing observation variable name", HttpStatus.BAD_REQUEST); + return new ValidationError("name", "Missing Name", HttpStatus.BAD_REQUEST); } @Override @@ -140,7 +140,7 @@ public ValidationError getInsufficientOrdinalValError() { @Override public ValidationError getCharLimitObsVarNameMsg() { - return new ValidationError("observationVariableName", "Observation variable name exceeds 12 character limit", HttpStatus.UNPROCESSABLE_ENTITY); + return new ValidationError("name", "Name exceeds 12 character limit", HttpStatus.UNPROCESSABLE_ENTITY); } @Override From 53fe4d0278a1a9ba86502ee14eddd1ba5cda7431 Mon Sep 17 00:00:00 2001 From: dmeidlin <14339308+dmeidlin@users.noreply.github.com> Date: Thu, 10 Feb 2022 14:58:37 -0500 Subject: [PATCH 2/7] fix trait controller integration test --- .../api/v1/controller/TraitControllerIntegrationTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/org/breedinginsight/api/v1/controller/TraitControllerIntegrationTest.java b/src/test/java/org/breedinginsight/api/v1/controller/TraitControllerIntegrationTest.java index 13567eb9f..98ef55a96 100644 --- a/src/test/java/org/breedinginsight/api/v1/controller/TraitControllerIntegrationTest.java +++ b/src/test/java/org/breedinginsight/api/v1/controller/TraitControllerIntegrationTest.java @@ -1227,7 +1227,7 @@ public void putTraitMultipleValidationErrors() { JsonArray errors = rowError.getAsJsonArray("errors"); assertEquals(1, errors.size(), "Not enough errors were returned"); JsonObject error1 = errors.get(0).getAsJsonObject(); - assertEquals("observationVariableName", error1.get("field").getAsString(), "wrong error returned"); + assertEquals("name", error1.get("field").getAsString(), "wrong error returned"); JsonObject badIdRowError = rowErrors.get(1).getAsJsonObject(); errors = badIdRowError.getAsJsonArray("errors"); From fe8a4f3f763e763ad41fb4ecc863e14c083a1909 Mon Sep 17 00:00:00 2001 From: dmeidlin <14339308+dmeidlin@users.noreply.github.com> Date: Thu, 10 Feb 2022 15:15:48 -0500 Subject: [PATCH 3/7] fix trait validator service unit test --- .../services/validators/TraitValidatorUnitTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/breedinginsight/services/validators/TraitValidatorUnitTest.java b/src/test/java/org/breedinginsight/services/validators/TraitValidatorUnitTest.java index f40151f19..0212b16f8 100644 --- a/src/test/java/org/breedinginsight/services/validators/TraitValidatorUnitTest.java +++ b/src/test/java/org/breedinginsight/services/validators/TraitValidatorUnitTest.java @@ -143,7 +143,7 @@ public void missingMultiple() { RowValidationErrors rowValidationErrors = validationErrors.getRowErrors().get(0); assertEquals(6, rowValidationErrors.getErrors().size(), "Wrong number of errors for row"); Map expectedColumns = new HashMap<>(); - expectedColumns.put("observationVariableName", 400); + expectedColumns.put("name", 400); expectedColumns.put("entity", 400); expectedColumns.put("attribute", 400); expectedColumns.put("traitDescription", 400); @@ -328,7 +328,7 @@ public void charLimitExceeded() { assertEquals(4, rowValidationErrors.getErrors().size(), "Wrong number of errors for row"); Map expectedColumns = new HashMap<>(); - expectedColumns.put("observationVariableName", 422); + expectedColumns.put("name", 422); expectedColumns.put("entity", 422); expectedColumns.put("attribute", 422); expectedColumns.put("method.description", 422); From e8e4bdb6b4ae62cf81f26f888079e7c341b376ac Mon Sep 17 00:00:00 2001 From: dmeidlin <14339308+dmeidlin@users.noreply.github.com> Date: Tue, 22 Feb 2022 12:20:38 -0500 Subject: [PATCH 4/7] make scale categories and method description fields consistent with validation error message --- .../validators/TraitFileValidatorError.java | 6 +++--- .../services/validators/TraitValidatorError.java | 14 +++++++------- .../controller/TraitControllerIntegrationTest.java | 4 ++-- .../validators/TraitValidatorUnitTest.java | 4 ++-- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/main/java/org/breedinginsight/services/validators/TraitFileValidatorError.java b/src/main/java/org/breedinginsight/services/validators/TraitFileValidatorError.java index 9469d21b9..3870f2e9d 100644 --- a/src/main/java/org/breedinginsight/services/validators/TraitFileValidatorError.java +++ b/src/main/java/org/breedinginsight/services/validators/TraitFileValidatorError.java @@ -130,12 +130,12 @@ public ValidationError getMaxLessThenMinError() { @Override public ValidationError getInsufficientNominalValError() { - return new ValidationError("scale.categories", "Nominal scales must have at least one category.", HttpStatus.UNPROCESSABLE_ENTITY); + return new ValidationError("Scale Categories", "Nominal scales must have at least one category.", HttpStatus.UNPROCESSABLE_ENTITY); } @Override public ValidationError getInsufficientOrdinalValError() { - return new ValidationError("scale.categories", "Ordinal scales must have at least two categories.", HttpStatus.UNPROCESSABLE_ENTITY); + return new ValidationError("Scale Categories", "Ordinal scales must have at least two categories.", HttpStatus.UNPROCESSABLE_ENTITY); } @Override @@ -155,7 +155,7 @@ public ValidationError getCharLimitTraitAttributeMsg() { @Override public ValidationError getCharLimitMethodDescriptionMsg() { - return new ValidationError("method.description", "Method description exceeds 30 character limit", HttpStatus.UNPROCESSABLE_ENTITY); + return new ValidationError("Method Description", "Method description exceeds 30 character limit", HttpStatus.UNPROCESSABLE_ENTITY); } @Override diff --git a/src/main/java/org/breedinginsight/services/validators/TraitValidatorError.java b/src/main/java/org/breedinginsight/services/validators/TraitValidatorError.java index 7c50a975d..2fffbcc63 100644 --- a/src/main/java/org/breedinginsight/services/validators/TraitValidatorError.java +++ b/src/main/java/org/breedinginsight/services/validators/TraitValidatorError.java @@ -97,26 +97,26 @@ public ValidationError getMissingMethodFormulaMsg() { @Override public ValidationError getMissingScaleCategoriesMsg(DataType dataType) { - return new ValidationError("scale.categories", + return new ValidationError("Scale Categories", String.format("Missing scale categories for %s scale", WordUtils.capitalize(dataType.getLiteral().toLowerCase())), HttpStatus.BAD_REQUEST); } @Override public ValidationError getBadScaleCategory() { - return new ValidationError("scale.categories", "Scale categories contain errors", HttpStatus.UNPROCESSABLE_ENTITY); + return new ValidationError("Scale Categories", "Scale categories contain errors", HttpStatus.UNPROCESSABLE_ENTITY); } @Override public ValidationError getBlankScaleCategoryLabelMsg() { - return new ValidationError("scale.categories.label", + return new ValidationError("Scale Categories Label", "Label missing.", HttpStatus.UNPROCESSABLE_ENTITY); } @Override public ValidationError getBlankScaleCategoryValueMsg() { - return new ValidationError("scale.categories.value", + return new ValidationError("Scale Categories Value", "Value missing.", HttpStatus.UNPROCESSABLE_ENTITY); } @@ -130,12 +130,12 @@ public ValidationError getMaxLessThenMinError() { @Override public ValidationError getInsufficientNominalValError() { - return new ValidationError("scale.categories", "Nominal scales must have at least one category.", HttpStatus.UNPROCESSABLE_ENTITY); + return new ValidationError("Scale Categories", "Nominal scales must have at least one category.", HttpStatus.UNPROCESSABLE_ENTITY); } @Override public ValidationError getInsufficientOrdinalValError() { - return new ValidationError("scale.categories", "Ordinal scales must have at least two categories.", HttpStatus.UNPROCESSABLE_ENTITY); + return new ValidationError("Scale Categories", "Ordinal scales must have at least two categories.", HttpStatus.UNPROCESSABLE_ENTITY); } @Override @@ -155,7 +155,7 @@ public ValidationError getCharLimitTraitAttributeMsg() { @Override public ValidationError getCharLimitMethodDescriptionMsg() { - return new ValidationError("method.description", "Method description exceeds 30 character limit", HttpStatus.UNPROCESSABLE_ENTITY); + return new ValidationError("Method Description", "Method description exceeds 30 character limit", HttpStatus.UNPROCESSABLE_ENTITY); } @Override diff --git a/src/test/java/org/breedinginsight/api/v1/controller/TraitControllerIntegrationTest.java b/src/test/java/org/breedinginsight/api/v1/controller/TraitControllerIntegrationTest.java index 98ef55a96..3a412a31e 100644 --- a/src/test/java/org/breedinginsight/api/v1/controller/TraitControllerIntegrationTest.java +++ b/src/test/java/org/breedinginsight/api/v1/controller/TraitControllerIntegrationTest.java @@ -1004,12 +1004,12 @@ public void postTraitOrdinalMissingCategoryVariables() { JsonObject categoryError = categoryErrors.get(0).getAsJsonObject(); assertEquals(0, categoryError.get("rowIndex").getAsInt(), "wrong error row index returned"); JsonObject valueError = categoryError.getAsJsonArray("errors").get(0).getAsJsonObject(); - assertEquals("scale.categories.value", valueError.get("field").getAsString(), "wrong error returned"); + assertEquals("Scale Categories Value", valueError.get("field").getAsString(), "wrong error returned"); JsonObject secondCategoryError = categoryErrors.get(1).getAsJsonObject(); assertEquals(2, secondCategoryError.get("rowIndex").getAsInt(), "wrong error row index returned"); JsonObject labelError = secondCategoryError.getAsJsonArray("errors").get(0).getAsJsonObject(); - assertEquals("scale.categories.label", labelError.get("field").getAsString(), "wrong error returned"); + assertEquals("Scale Categories Label", labelError.get("field").getAsString(), "wrong error returned"); } @Test diff --git a/src/test/java/org/breedinginsight/services/validators/TraitValidatorUnitTest.java b/src/test/java/org/breedinginsight/services/validators/TraitValidatorUnitTest.java index 0212b16f8..641bc83da 100644 --- a/src/test/java/org/breedinginsight/services/validators/TraitValidatorUnitTest.java +++ b/src/test/java/org/breedinginsight/services/validators/TraitValidatorUnitTest.java @@ -188,7 +188,7 @@ public void dataConsistencyCheckFailure() { assertEquals(2, rowValidationErrors.getErrors().size(), "Wrong number of errors for row"); Map expectedColumns = new HashMap<>(); expectedColumns.put("method.formula", 400); - expectedColumns.put("scale.categories", 400); + expectedColumns.put("Scale Categories", 400); List seenTrackList = expectedColumns.keySet().stream().map(column -> false).collect(Collectors.toList()); Boolean unknownColumnReturned = false; @@ -230,7 +230,7 @@ public void dataInsufficientCategoriesFailure() { assertEquals(2, rowValidationErrors.getErrors().size(), "Wrong number of errors for row"); Map expectedColumns = new HashMap<>(); expectedColumns.put("method.formula", 400); - expectedColumns.put("scale.categories", 422); + expectedColumns.put("Scale Categories", 422); List seenTrackList = expectedColumns.keySet().stream().map(column -> false).collect(Collectors.toList()); Boolean unknownColumnReturned = false; From a882e34ce1aa9bf44e44511d34fc275a3ae2485c Mon Sep 17 00:00:00 2001 From: dmeidlin <14339308+dmeidlin@users.noreply.github.com> Date: Tue, 22 Feb 2022 13:53:11 -0500 Subject: [PATCH 5/7] fix unit test --- .../services/validators/TraitValidatorUnitTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/org/breedinginsight/services/validators/TraitValidatorUnitTest.java b/src/test/java/org/breedinginsight/services/validators/TraitValidatorUnitTest.java index 641bc83da..b2eb3626b 100644 --- a/src/test/java/org/breedinginsight/services/validators/TraitValidatorUnitTest.java +++ b/src/test/java/org/breedinginsight/services/validators/TraitValidatorUnitTest.java @@ -331,7 +331,7 @@ public void charLimitExceeded() { expectedColumns.put("name", 422); expectedColumns.put("entity", 422); expectedColumns.put("attribute", 422); - expectedColumns.put("method.description", 422); + expectedColumns.put("Method Description", 422); List seenTrackList = expectedColumns.keySet().stream().map(column -> false).collect(Collectors.toList()); Boolean unknownColumnReturned = false; From da7e83141994216fab08e4519944eb1a866879f1 Mon Sep 17 00:00:00 2001 From: dmeidlin <14339308+dmeidlin@users.noreply.github.com> Date: Mon, 28 Feb 2022 11:20:07 -0500 Subject: [PATCH 6/7] make format for fields in trait validators consistent --- .../validators/TraitFileValidatorError.java | 32 ++++++++--------- .../validators/TraitValidatorError.java | 36 +++++++++---------- .../TraitControllerIntegrationTest.java | 6 ++-- .../validators/TraitValidatorUnitTest.java | 30 ++++++++-------- 4 files changed, 52 insertions(+), 52 deletions(-) diff --git a/src/main/java/org/breedinginsight/services/validators/TraitFileValidatorError.java b/src/main/java/org/breedinginsight/services/validators/TraitFileValidatorError.java index 3870f2e9d..e3b8dabb7 100644 --- a/src/main/java/org/breedinginsight/services/validators/TraitFileValidatorError.java +++ b/src/main/java/org/breedinginsight/services/validators/TraitFileValidatorError.java @@ -37,22 +37,22 @@ public Integer getRowNumber(Integer row) { @Override public ValidationError getTraitIdDoesNotExistMsg() { - return new ValidationError("traitId", "Missing trait id", HttpStatus.UNPROCESSABLE_ENTITY); + return new ValidationError("Trait Id", "Missing trait id", HttpStatus.UNPROCESSABLE_ENTITY); } @Override public ValidationError getMissingMethodMsg() { - return new ValidationError("method", "Missing method", HttpStatus.UNPROCESSABLE_ENTITY); + return new ValidationError("Method", "Missing method", HttpStatus.UNPROCESSABLE_ENTITY); } @Override public ValidationError getMissingMethodClassMsg() { - return new ValidationError("Method class", "Missing method class", HttpStatus.UNPROCESSABLE_ENTITY); + return new ValidationError("Method Class", "Missing method class", HttpStatus.UNPROCESSABLE_ENTITY); } @Override public ValidationError getMissingScaleMsg() { - return new ValidationError("scale", "Missing scale class", HttpStatus.UNPROCESSABLE_ENTITY); + return new ValidationError("Scale", "Missing scale class", HttpStatus.UNPROCESSABLE_ENTITY); } @Override @@ -62,7 +62,7 @@ public ValidationError getMissingScaleNameMsg() { @Override public ValidationError getMissingScaleDataTypeMsg() { - return new ValidationError("Scale class", "Missing scale class", HttpStatus.UNPROCESSABLE_ENTITY); + return new ValidationError("Scale Class", "Missing scale class", HttpStatus.UNPROCESSABLE_ENTITY); } @Override @@ -72,39 +72,39 @@ public ValidationError getMissingObsVarNameMsg() { @Override public ValidationError getMissingTraitEntityMsg() { - return new ValidationError("Trait entity", "Missing trait entity", HttpStatus.UNPROCESSABLE_ENTITY); + return new ValidationError("Trait Entity", "Missing trait entity", HttpStatus.UNPROCESSABLE_ENTITY); } @Override public ValidationError getMissingTraitAttributeMsg() { - return new ValidationError("Trait attribute", "Missing trait attribute", HttpStatus.UNPROCESSABLE_ENTITY); + return new ValidationError("Trait Attribute", "Missing trait attribute", HttpStatus.UNPROCESSABLE_ENTITY); } @Override public ValidationError getMissingTraitDescriptionMsg() { - return new ValidationError("Trait description", "Missing trait description", HttpStatus.UNPROCESSABLE_ENTITY); + return new ValidationError("Trait Description", "Missing trait description", HttpStatus.UNPROCESSABLE_ENTITY); } @Override public ValidationError getMissingProgramObservationLevelMsg() { - return new ValidationError("Trait level", "Missing trait level", HttpStatus.UNPROCESSABLE_ENTITY); + return new ValidationError("Trait Level", "Missing trait level", HttpStatus.UNPROCESSABLE_ENTITY); } @Override public ValidationError getMissingMethodFormulaMsg() { - return new ValidationError("Method formula", "Missing method formula for Computation method", HttpStatus.UNPROCESSABLE_ENTITY); + return new ValidationError("Method Formula", "Missing method formula for Computation method", HttpStatus.UNPROCESSABLE_ENTITY); } @Override public ValidationError getMissingScaleCategoriesMsg(DataType dataType) { - return new ValidationError("Scale categories", + return new ValidationError("Scale Categories", String.format("Missing scale categories for %s scale", WordUtils.capitalize(dataType.getLiteral().toLowerCase())), HttpStatus.UNPROCESSABLE_ENTITY); } @Override public ValidationError getBadScaleCategory() { - return new ValidationError("Scale categories", "Scale categories contain errors", HttpStatus.UNPROCESSABLE_ENTITY); + return new ValidationError("Scale Categories", "Scale categories contain errors", HttpStatus.UNPROCESSABLE_ENTITY); } @Override @@ -145,12 +145,12 @@ public ValidationError getCharLimitObsVarNameMsg() { @Override public ValidationError getCharLimitTraitEntityMsg() { - return new ValidationError("entity", "Trait entity exceeds 30 character limit", HttpStatus.UNPROCESSABLE_ENTITY); + return new ValidationError("Entity", "Trait entity exceeds 30 character limit", HttpStatus.UNPROCESSABLE_ENTITY); } @Override public ValidationError getCharLimitTraitAttributeMsg() { - return new ValidationError("attribute", "Trait attribute exceeds 30 character limit", HttpStatus.UNPROCESSABLE_ENTITY); + return new ValidationError("Attribute", "Trait attribute exceeds 30 character limit", HttpStatus.UNPROCESSABLE_ENTITY); } @Override @@ -160,13 +160,13 @@ public ValidationError getCharLimitMethodDescriptionMsg() { @Override public ValidationError getDuplicateTraitByNamesMsg() { - return new ValidationError("Trait name", "Trait name already exists", HttpStatus.CONFLICT); + return new ValidationError("Trait Name", "Trait name already exists", HttpStatus.CONFLICT); } @Override public ValidationError getDuplicateTraitsByNameInFileMsg(List matchingRows) { matchingRows = matchingRows.stream().map(rowIndex -> getRowNumber(rowIndex)).collect(Collectors.toList()); - return new ValidationError("Trait name", + return new ValidationError("Trait Name", "Trait name duplicated in file. Duplicate set of traits are rows " + matchingRows.toString(), HttpStatus.CONFLICT); } diff --git a/src/main/java/org/breedinginsight/services/validators/TraitValidatorError.java b/src/main/java/org/breedinginsight/services/validators/TraitValidatorError.java index 2fffbcc63..006396afd 100644 --- a/src/main/java/org/breedinginsight/services/validators/TraitValidatorError.java +++ b/src/main/java/org/breedinginsight/services/validators/TraitValidatorError.java @@ -37,62 +37,62 @@ public Integer getRowNumber(Integer row) { @Override public ValidationError getTraitIdDoesNotExistMsg() { - return new ValidationError("traitId", "Trait with that id does not exist", HttpStatus.NOT_FOUND); + return new ValidationError("Trait Id", "Trait with that id does not exist", HttpStatus.NOT_FOUND); } @Override public ValidationError getMissingMethodMsg() { - return new ValidationError("method", "Missing method", HttpStatus.BAD_REQUEST); + return new ValidationError("Method", "Missing method", HttpStatus.BAD_REQUEST); } @Override public ValidationError getMissingMethodClassMsg() { - return new ValidationError("method.methodClass", "Missing method class", HttpStatus.BAD_REQUEST); + return new ValidationError("Method Class", "Missing method class", HttpStatus.BAD_REQUEST); } @Override public ValidationError getMissingScaleMsg() { - return new ValidationError("scale", "Missing scale", HttpStatus.BAD_REQUEST); + return new ValidationError("Scale", "Missing scale", HttpStatus.BAD_REQUEST); } @Override public ValidationError getMissingScaleNameMsg() { - return new ValidationError("scale.scaleName", "Missing scale name", HttpStatus.BAD_REQUEST); + return new ValidationError("Scale Name", "Missing scale name", HttpStatus.BAD_REQUEST); } @Override public ValidationError getMissingScaleDataTypeMsg() { - return new ValidationError("scale.dataType", "Missing scale data type", HttpStatus.BAD_REQUEST); + return new ValidationError("Scale Data Type", "Missing scale data type", HttpStatus.BAD_REQUEST); } @Override public ValidationError getMissingObsVarNameMsg() { - return new ValidationError("name", "Missing Name", HttpStatus.BAD_REQUEST); + return new ValidationError("Name", "Missing Name", HttpStatus.BAD_REQUEST); } @Override public ValidationError getMissingTraitEntityMsg() { - return new ValidationError("entity", "Missing trait entity", HttpStatus.BAD_REQUEST); + return new ValidationError("Entity", "Missing trait entity", HttpStatus.BAD_REQUEST); } @Override public ValidationError getMissingTraitAttributeMsg() { - return new ValidationError("attribute", "Missing trait attribute", HttpStatus.BAD_REQUEST); + return new ValidationError("Attribute", "Missing trait attribute", HttpStatus.BAD_REQUEST); } @Override public ValidationError getMissingTraitDescriptionMsg() { - return new ValidationError("traitDescription", "Missing trait description", HttpStatus.BAD_REQUEST); + return new ValidationError("Trait Description", "Missing trait description", HttpStatus.BAD_REQUEST); } @Override public ValidationError getMissingProgramObservationLevelMsg() { - return new ValidationError("programObservationLevel.name", "Missing program observation level", HttpStatus.BAD_REQUEST); + return new ValidationError("Program Observation Level Name", "Missing program observation level", HttpStatus.BAD_REQUEST); } @Override public ValidationError getMissingMethodFormulaMsg() { - return new ValidationError("method.formula", "Missing method formula for Computation method", HttpStatus.BAD_REQUEST); + return new ValidationError("Method Formula", "Missing method formula for Computation method", HttpStatus.BAD_REQUEST); } @Override @@ -123,7 +123,7 @@ public ValidationError getBlankScaleCategoryValueMsg() { @Override public ValidationError getMaxLessThenMinError() { - return new ValidationError("scale.validValueMax", + return new ValidationError("Scale Valid Value Max", "Scale valid value max must be greater than valid value min.", HttpStatus.UNPROCESSABLE_ENTITY); } @@ -140,17 +140,17 @@ public ValidationError getInsufficientOrdinalValError() { @Override public ValidationError getCharLimitObsVarNameMsg() { - return new ValidationError("name", "Name exceeds 12 character limit", HttpStatus.UNPROCESSABLE_ENTITY); + return new ValidationError("Name", "Name exceeds 12 character limit", HttpStatus.UNPROCESSABLE_ENTITY); } @Override public ValidationError getCharLimitTraitEntityMsg() { - return new ValidationError("entity", "Trait entity exceeds 30 character limit", HttpStatus.UNPROCESSABLE_ENTITY); + return new ValidationError("Entity", "Trait entity exceeds 30 character limit", HttpStatus.UNPROCESSABLE_ENTITY); } @Override public ValidationError getCharLimitTraitAttributeMsg() { - return new ValidationError("attribute", "Trait attribute exceeds 30 character limit", HttpStatus.UNPROCESSABLE_ENTITY); + return new ValidationError("Attribute", "Trait attribute exceeds 30 character limit", HttpStatus.UNPROCESSABLE_ENTITY); } @Override @@ -160,14 +160,14 @@ public ValidationError getCharLimitMethodDescriptionMsg() { @Override public ValidationError getDuplicateTraitByNamesMsg() { - return new ValidationError("traitName", "Trait name already exists", HttpStatus.CONFLICT); + return new ValidationError("Trait Name", "Trait name already exists", HttpStatus.CONFLICT); } @Override public ValidationError getDuplicateTraitsByNameInFileMsg(List matchingRows) { matchingRows = matchingRows.stream().map(rowIndex -> getRowNumber(rowIndex)).collect(Collectors.toList()); - return new ValidationError("traitName", + return new ValidationError("Trait Name", "traitName is a duplicate. Duplicate set of traits are rows " + matchingRows.toString(), HttpStatus.CONFLICT); } diff --git a/src/test/java/org/breedinginsight/api/v1/controller/TraitControllerIntegrationTest.java b/src/test/java/org/breedinginsight/api/v1/controller/TraitControllerIntegrationTest.java index 3a412a31e..55cef9d9d 100644 --- a/src/test/java/org/breedinginsight/api/v1/controller/TraitControllerIntegrationTest.java +++ b/src/test/java/org/breedinginsight/api/v1/controller/TraitControllerIntegrationTest.java @@ -1227,13 +1227,13 @@ public void putTraitMultipleValidationErrors() { JsonArray errors = rowError.getAsJsonArray("errors"); assertEquals(1, errors.size(), "Not enough errors were returned"); JsonObject error1 = errors.get(0).getAsJsonObject(); - assertEquals("name", error1.get("field").getAsString(), "wrong error returned"); + assertEquals("Name", error1.get("field").getAsString(), "wrong error returned"); JsonObject badIdRowError = rowErrors.get(1).getAsJsonObject(); errors = badIdRowError.getAsJsonArray("errors"); assertEquals(1, errors.size(), "Not enough errors were returned"); JsonObject error = errors.get(0).getAsJsonObject(); - assertEquals("traitId", error.get("field").getAsString(), "wrong error returned"); + assertEquals("Trait Id", error.get("field").getAsString(), "wrong error returned"); } @Test @@ -1309,7 +1309,7 @@ public void putTraitIdDoesNotExist() { JsonArray errors = rowError.getAsJsonArray("errors"); assertEquals(1, errors.size(), "Not enough errors were returned"); JsonObject error = errors.get(0).getAsJsonObject(); - assertEquals("traitId", error.get("field").getAsString(), "wrong error returned"); + assertEquals("Trait Id", error.get("field").getAsString(), "wrong error returned"); } @Test diff --git a/src/test/java/org/breedinginsight/services/validators/TraitValidatorUnitTest.java b/src/test/java/org/breedinginsight/services/validators/TraitValidatorUnitTest.java index b2eb3626b..36690e4a6 100644 --- a/src/test/java/org/breedinginsight/services/validators/TraitValidatorUnitTest.java +++ b/src/test/java/org/breedinginsight/services/validators/TraitValidatorUnitTest.java @@ -91,7 +91,7 @@ public void missingMethod() { RowValidationErrors rowValidationErrors = validationErrors.getRowErrors().get(0); assertEquals(1, rowValidationErrors.getErrors().size(), "Wrong number of errors for row"); assertEquals(400, rowValidationErrors.getErrors().get(0).getHttpStatusCode(), "Wrong error code"); - assertEquals("method", rowValidationErrors.getErrors().get(0).getField(), "Wrong error column"); + assertEquals("Method", rowValidationErrors.getErrors().get(0).getField(), "Wrong error column"); } @Test @@ -124,7 +124,7 @@ public void missingScale() { RowValidationErrors rowValidationErrors = validationErrors.getRowErrors().get(0); assertEquals(1, rowValidationErrors.getErrors().size(), "Wrong number of errors for row"); assertEquals(400, rowValidationErrors.getErrors().get(0).getHttpStatusCode(), "Wrong error code"); - assertEquals("scale", rowValidationErrors.getErrors().get(0).getField(), "Wrong error column"); + assertEquals("Scale", rowValidationErrors.getErrors().get(0).getField(), "Wrong error column"); } @Test @@ -143,14 +143,14 @@ public void missingMultiple() { RowValidationErrors rowValidationErrors = validationErrors.getRowErrors().get(0); assertEquals(6, rowValidationErrors.getErrors().size(), "Wrong number of errors for row"); Map expectedColumns = new HashMap<>(); - expectedColumns.put("name", 400); - expectedColumns.put("entity", 400); - expectedColumns.put("attribute", 400); - expectedColumns.put("traitDescription", 400); - expectedColumns.put("programObservationLevel.name", 400); - expectedColumns.put("method.methodClass", 400); - expectedColumns.put("scale.scaleName", 400); - expectedColumns.put("scale.dataType", 400); + expectedColumns.put("Name", 400); + expectedColumns.put("Entity", 400); + expectedColumns.put("Attribute", 400); + expectedColumns.put("Trait Description", 400); + expectedColumns.put("Program Observation Level Name", 400); + expectedColumns.put("Method Class", 400); + expectedColumns.put("Scale Name", 400); + expectedColumns.put("Scale Data Type", 400); List seenTrackList = expectedColumns.keySet().stream().map(column -> false).collect(Collectors.toList()); Boolean unknownColumnReturned = false; @@ -187,7 +187,7 @@ public void dataConsistencyCheckFailure() { RowValidationErrors rowValidationErrors = validationErrors.getRowErrors().get(0); assertEquals(2, rowValidationErrors.getErrors().size(), "Wrong number of errors for row"); Map expectedColumns = new HashMap<>(); - expectedColumns.put("method.formula", 400); + expectedColumns.put("Method Formula", 400); expectedColumns.put("Scale Categories", 400); List seenTrackList = expectedColumns.keySet().stream().map(column -> false).collect(Collectors.toList()); @@ -229,7 +229,7 @@ public void dataInsufficientCategoriesFailure() { RowValidationErrors rowValidationErrors = validationErrors.getRowErrors().get(0); assertEquals(2, rowValidationErrors.getErrors().size(), "Wrong number of errors for row"); Map expectedColumns = new HashMap<>(); - expectedColumns.put("method.formula", 400); + expectedColumns.put("Method Formula", 400); expectedColumns.put("Scale Categories", 422); List seenTrackList = expectedColumns.keySet().stream().map(column -> false).collect(Collectors.toList()); @@ -328,9 +328,9 @@ public void charLimitExceeded() { assertEquals(4, rowValidationErrors.getErrors().size(), "Wrong number of errors for row"); Map expectedColumns = new HashMap<>(); - expectedColumns.put("name", 422); - expectedColumns.put("entity", 422); - expectedColumns.put("attribute", 422); + expectedColumns.put("Name", 422); + expectedColumns.put("Entity", 422); + expectedColumns.put("Attribute", 422); expectedColumns.put("Method Description", 422); List seenTrackList = expectedColumns.keySet().stream().map(column -> false).collect(Collectors.toList()); From bcea64d3e342fbe7ad088e84dd519f0e69d58a49 Mon Sep 17 00:00:00 2001 From: dmeidlin <14339308+dmeidlin@users.noreply.github.com> Date: Mon, 28 Feb 2022 11:40:17 -0500 Subject: [PATCH 7/7] fix trait upload controller integration test --- .../v1/controller/TraitUploadControllerIntegrationTest.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/test/java/org/breedinginsight/api/v1/controller/TraitUploadControllerIntegrationTest.java b/src/test/java/org/breedinginsight/api/v1/controller/TraitUploadControllerIntegrationTest.java index 0df8b8899..951086d6b 100644 --- a/src/test/java/org/breedinginsight/api/v1/controller/TraitUploadControllerIntegrationTest.java +++ b/src/test/java/org/breedinginsight/api/v1/controller/TraitUploadControllerIntegrationTest.java @@ -427,8 +427,8 @@ void putTraitUploadSingleTraitLevelError() { JsonArray rowValidationErrors = rowErrors.get(0).getAsJsonObject().get("errors").getAsJsonArray(); assertEquals(1, rowValidationErrors.size(), "Wrong number of errors for row"); JsonObject error = rowValidationErrors.get(0).getAsJsonObject(); - assertTrue(error.get("field").getAsString().contains("Trait entity"), "Wrong field returned"); - assertFalse(error.get("field").getAsString().contains("Trait level"), "Wrong field returned"); + assertTrue(error.get("field").getAsString().contains("Trait Entity"), "Wrong field returned"); + assertFalse(error.get("field").getAsString().contains("Trait Level"), "Wrong field returned"); } @Test @@ -445,7 +445,7 @@ void putTraitUploadSingleMissingScaleClassError() { JsonArray rowValidationErrors = rowErrors.get(0).getAsJsonObject().get("errors").getAsJsonArray(); assertEquals(1, rowValidationErrors.size(), "Wrong number of errors for row"); JsonObject error = rowValidationErrors.get(0).getAsJsonObject(); - assertTrue(error.get("field").getAsString().contains("Scale class"), "Wrong field returned"); + assertTrue(error.get("field").getAsString().contains("Scale Class"), "Wrong field returned"); assertFalse(error.get("field").getAsString().contains("Unit"), "Wrong field returned"); }