Skip to content

Commit 150ab9f

Browse files
committed
add in integration testing for rate endpoints
1 parent 315fc9f commit 150ab9f

File tree

9 files changed

+355
-4
lines changed

9 files changed

+355
-4
lines changed

cwms-data-api/src/main/java/cwms/cda/data/dao/RateDao.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,8 @@ public RatedOutput reverseRate(String officeId, String ratingId, RateInputValues
110110
input.getValueTimes().stream().map(Timestamp::new).forEach(ratingDates::add);
111111
}
112112
DOUBLE_TAB_T inputValues = new DOUBLE_TAB_T(input.getValues().get(0));
113-
STR_TAB_T unitsTab = new STR_TAB_T(input.getInputUnits());
114-
unitsTab.add(input.getOutputUnit());
113+
STR_TAB_T unitsTab = new STR_TAB_T(input.getOutputUnit());
114+
unitsTab.addAll(input.getInputUnits());
115115
return CWMS_RATING_PACKAGE.call_REVERSE_RATE(context.configuration(), ratingId,
116116
inputValues, unitsTab, formatBool(input.getRound()), ratingDates, null, "UTC", officeId);
117117
});

cwms-data-api/src/main/java/cwms/cda/data/dto/CwmsDTOValidator.java

+4
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
import java.util.List;
4444
import java.util.Map;
4545
import java.util.Objects;
46+
import java.util.Optional;
4647
import java.util.Set;
4748
import java.util.concurrent.Callable;
4849
import java.util.concurrent.ConcurrentHashMap;
@@ -93,6 +94,9 @@ private void validateFieldsInClass(CwmsDTOBase cwmsDTO, Class<? extends CwmsDTOB
9394
}
9495
}
9596
} catch (IllegalAccessException | InvocationTargetException e) {
97+
if(e.getCause() instanceof RequiredFieldException) {
98+
throw (RequiredFieldException) e.getCause();
99+
}
96100
LOGGER.atWarning().withCause(e).log("Unable to validate required fields are non-null in DTO: " + type);
97101
}
98102
}

cwms-data-api/src/main/java/cwms/cda/data/dto/rating/RateInput.java

+2
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
package cwms.cda.data.dto.rating;
2626

27+
import com.fasterxml.jackson.annotation.JsonAutoDetect;
2728
import com.fasterxml.jackson.annotation.JsonInclude;
2829
import com.fasterxml.jackson.annotation.JsonProperty;
2930
import com.fasterxml.jackson.annotation.JsonSubTypes;
@@ -44,6 +45,7 @@
4445
@JsonSubTypes.Type(value = RateInputValues.class, name = "RateInputValues"),
4546
@JsonSubTypes.Type(value = RateInputTimeSeries.class, name = "RateInputTimeSeries")
4647
})
48+
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE)
4749
public abstract class RateInput extends CwmsDTOBase {
4850

4951
@Schema(description = "The units of the output values",

cwms-data-api/src/main/java/cwms/cda/data/dto/rating/RateInputTimeSeries.java

+2
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
package cwms.cda.data.dto.rating;
2626

27+
import com.fasterxml.jackson.annotation.JsonAutoDetect;
2728
import com.fasterxml.jackson.annotation.JsonProperty;
2829
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
2930
import cwms.cda.api.errors.RequiredFieldException;
@@ -40,6 +41,7 @@
4041

4142
@FormattableWith(contentType = Formats.JSONV1, formatter = JsonV1.class, aliases = {Formats.DEFAULT, Formats.JSON})
4243
@JsonDeserialize(builder = RateInputTimeSeries.RateInputTimeSeriesBuilder.class)
44+
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE)
4345
public final class RateInputTimeSeries extends RateInput {
4446

4547
@ArraySchema(

cwms-data-api/src/main/java/cwms/cda/data/dto/rating/RateInputValues.java

+2
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
package cwms.cda.data.dto.rating;
2626

27+
import com.fasterxml.jackson.annotation.JsonAutoDetect;
2728
import com.fasterxml.jackson.annotation.JsonProperty;
2829
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
2930
import cwms.cda.data.dto.CwmsDTOValidator;
@@ -37,6 +38,7 @@
3738

3839
@FormattableWith(contentType = Formats.JSONV1, formatter = JsonV1.class, aliases = {Formats.DEFAULT, Formats.JSON})
3940
@JsonDeserialize(builder = RateInputValues.RateInputValuesBuilder.class)
41+
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE)
4042
public final class RateInputValues extends RateInput {
4143

4244
@ArraySchema(

cwms-data-api/src/test/java/cwms/cda/api/DataApiTestIT.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ public static void register_users() throws Exception {
161161
stmt.setString(3,user.getApikey());
162162
stmt.execute();
163163
} catch (SQLException ex) {
164-
throw new RuntimeException("Unable to register user:" + user.getName() ,ex);
164+
// throw new RuntimeException("Unable to register user:" + user.getName() ,ex);
165165
}
166166
},"cwms_20");
167167

0 commit comments

Comments
 (0)