Skip to content

Commit ee54228

Browse files
Surya-KolliSuryakumari Kolli
andauthored
REMReM publish /generateAndPublish endpoint support to lenient validation (#207)
* REMReM publish /generateAndPublish endpoint support to lenient validation Added lenient velidation featute in /generateAndPublish endpoint. * Added change log. Co-authored-by: Suryakumari Kolli <[email protected]>
1 parent b94d43d commit ee54228

File tree

4 files changed

+14
-7
lines changed

4 files changed

+14
-7
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 2.0.19
2+
- Added the lenientValidation parameter(okToLeaveOutInvalidOptionalFields) for /generateAndPublish
3+
end point.
4+
15
## 2.0.18
26
- Implemented the functionality to read the Jasypt encryption key from jasypt.key file.
37

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<version>2.0.4</version>
1010
</parent>
1111
<properties>
12-
<eiffel-remrem-publish.version>2.0.18</eiffel-remrem-publish.version>
12+
<eiffel-remrem-publish.version>2.0.19</eiffel-remrem-publish.version>
1313
<eiffel-remrem-shared.version>2.0.4</eiffel-remrem-shared.version>
1414
<eiffel-remrem-semantics.version>2.0.13</eiffel-remrem-semantics.version>
1515
</properties>

publish-service/src/main/java/com/ericsson/eiffel/remrem/publish/controller/ProducerController.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,9 @@ public ResponseEntity generateAndPublish(@ApiParam(value = "message protocol", r
159159
@ApiParam(value = "The maximum number of events returned from a lookup. If more events are found "
160160
+ "they will be disregarded. The order of the events is undefined, which means that what events are "
161161
+ "disregarded is also undefined.") @RequestParam(value = "lookupLimit", required = false, defaultValue = "1") final int lookupLimit,
162+
@ApiParam(value = "okToLeaveOutInvalidOptionalFields true will remove the optional "
163+
+ "event fields from the input event data that does not validate successfully, "
164+
+ "and add those removed field information into customData/remremGenerateFailures") @RequestParam(value = "okToLeaveOutInvalidOptionalFields", required = false, defaultValue = "false") final Boolean okToLeaveOutInvalidOptionalFields,
162165
@ApiParam(value = "JSON message", required = true) @RequestBody final JsonObject bodyJson) {
163166

164167
String bodyJsonOut = null;
@@ -180,7 +183,7 @@ public ResponseEntity generateAndPublish(@ApiParam(value = "message protocol", r
180183
try {
181184
String generateUrl = generateURLTemplate.getUrl() + "&failIfMultipleFound=" + failIfMultipleFound
182185
+ "&failIfNoneFound=" + failIfNoneFound + "&lookupInExternalERs=" + lookupInExternalERs
183-
+ "&lookupLimit=" + lookupLimit;
186+
+ "&lookupLimit=" + lookupLimit + "&okToLeaveOutInvalidOptionalFields=" + okToLeaveOutInvalidOptionalFields;
184187
ResponseEntity<String> response = restTemplate.postForEntity(generateUrl,
185188
entity, String.class, generateURLTemplate.getMap(msgProtocol, msgType));
186189

publish-service/src/test/java/com/ericsson/eiffel/remrem/publish/service/EiffelRemremCommonControllerUnitTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ public void testRestTemplateCallSuccess() throws Exception {
131131
Mockito.eq(String.class), Mockito.anyMap())).thenReturn(responseOK);
132132

133133
ResponseEntity<?> elem = unit.generateAndPublish("eiffelsemantics", "eiffelactivityfinished", "", "", "",false,
134-
null, null, true, 1, body.getAsJsonObject());
134+
null, null, true, 1, false, body.getAsJsonObject());
135135
assertEquals(elem.getStatusCode(), HttpStatus.OK);
136136

137137
}
@@ -145,7 +145,7 @@ public void testRestTemplateCallFail() throws Exception {
145145
Mockito.eq(String.class), Mockito.anyMap())).thenReturn(responseBad);
146146

147147
ResponseEntity<?> elem = unit.generateAndPublish("eiffel3", "eiffelactivityfinished", "", "", "",false,
148-
null, null, true, 1, body.getAsJsonObject());
148+
null, null, true, 1, false, body.getAsJsonObject());
149149
assertEquals(elem.getStatusCode(), HttpStatus.BAD_REQUEST);
150150

151151
}
@@ -181,7 +181,7 @@ public void testErLookupFailedWithOptions() throws Exception {
181181
Mockito.eq(String.class), Mockito.anyMap())).thenReturn(responseOptionsFailed);
182182

183183
ResponseEntity<?> elem = unit.generateAndPublish("eiffelsemantics", "eiffelactivityfinished", "", "", "", false,
184-
false, false, true, 1, body.getAsJsonObject());
184+
false, false, true, 1, false, body.getAsJsonObject());
185185
assertEquals(elem.getStatusCode(), HttpStatus.UNPROCESSABLE_ENTITY);
186186

187187
}
@@ -194,7 +194,7 @@ public void testErLookupFailedWithMultipleFound() throws Exception {
194194
Mockito.eq(String.class), Mockito.anyMap())).thenReturn(responseMultipleFound);
195195

196196
ResponseEntity<?> elem = unit.generateAndPublish("eiffelsemantics", "eiffelactivityfinished", "", "", "", false,
197-
false, false, true, 1, body.getAsJsonObject());
197+
false, false, true, 1, false, body.getAsJsonObject());
198198
assertEquals(elem.getStatusCode(), HttpStatus.EXPECTATION_FAILED);
199199

200200
}
@@ -207,7 +207,7 @@ public void testErLookupFailedWithNoneFound() throws Exception {
207207
Mockito.eq(String.class), Mockito.anyMap())).thenReturn(responseNoneFound);
208208

209209
ResponseEntity<?> elem = unit.generateAndPublish("eiffelsemantics", "eiffelactivityfinished", "", "", "", false,
210-
false, false, true, 1, body.getAsJsonObject());
210+
false, false, true, 1, false, body.getAsJsonObject());
211211
assertEquals(elem.getStatusCode(), HttpStatus.NOT_ACCEPTABLE);
212212

213213
}

0 commit comments

Comments
 (0)