aboutsummaryrefslogtreecommitdiffstats
path: root/src/test/java/org/onap/dcae/restapi/VesRestControllerTest.java
diff options
context:
space:
mode:
authorMichal Banka <michal.banka@nokia.com>2020-08-04 14:58:25 +0200
committerEdyta Krukowska <edyta.krukowska@nokia.com>2020-08-19 15:07:14 +0200
commita0ba464faeb2e979d20758bc1091143108355974 (patch)
tree944b0f588daace51449b50ae94816f33a6a3c62d /src/test/java/org/onap/dcae/restapi/VesRestControllerTest.java
parentf1ea637a60bace906db5619d71a914ad601e9478 (diff)
Add implementation of stndDefined fields validation1.7.3
Added implementation of stndDefined fields from incoming events. Validation is performed using external-schema-manager tool from DCAE SDK. StndDefined fields schemas are stored in etc/externalRepo directory. Additional stndDefined related properties has been added to collector.properties. VES version has been set to 1.7.3. Issue-ID: DCAEGEN2-2254 Signed-off-by: Edyta Krukowska <edyta.krukowska@nokia.com> Signed-off-by: Michal Banka <michal.banka@nokia.com> Change-Id: Iedaa3622b1d527f6794822c8867b9dfd1860bb8f
Diffstat (limited to 'src/test/java/org/onap/dcae/restapi/VesRestControllerTest.java')
-rw-r--r--src/test/java/org/onap/dcae/restapi/VesRestControllerTest.java49
1 files changed, 44 insertions, 5 deletions
diff --git a/src/test/java/org/onap/dcae/restapi/VesRestControllerTest.java b/src/test/java/org/onap/dcae/restapi/VesRestControllerTest.java
index 10423053..765f2b43 100644
--- a/src/test/java/org/onap/dcae/restapi/VesRestControllerTest.java
+++ b/src/test/java/org/onap/dcae/restapi/VesRestControllerTest.java
@@ -40,6 +40,7 @@ import org.onap.dcae.common.EventSender;
import org.onap.dcae.common.EventTransformation;
import org.onap.dcae.common.HeaderUtils;
import org.onap.dcae.common.JsonDataLoader;
+import org.onap.dcae.common.validator.StndDefinedDataValidator;
import org.onap.dcae.common.publishing.EventPublisher;
import org.slf4j.Logger;
import org.springframework.http.ResponseEntity;
@@ -85,16 +86,17 @@ public class VesRestControllerTest {
@Mock
private EventPublisher eventPublisher;
+ @Mock
+ private StndDefinedDataValidator stndDefinedDataValidator;
+
@Before
public void setUp(){
-
final HashMap<String, String[]> streamIds = HashMap.of(
"fault", new String[]{VES_FAULT_TOPIC},
"3GPP-FaultSupervision", new String[]{VES_3_GPP_FAULT_SUPERVISION_TOPIC}
);
- this.vesRestController = new VesRestController(
- applicationSettings, logger, new EventSender(eventPublisher, streamIds),headerUtils
- );
+ this.vesRestController = new VesRestController(applicationSettings, logger,
+ new EventSender(eventPublisher, streamIds), headerUtils, stndDefinedDataValidator);
}
@Test
@@ -229,7 +231,6 @@ public class VesRestControllerTest {
configureHeadersForEventListener();
MockHttpServletRequest request = givenMockHttpServletRequest();
-
String validEvent = JsonDataLoader.loadContent("/ves_stdnDefined_valid_unknown_topic.json");
//when
@@ -241,6 +242,44 @@ public class VesRestControllerTest {
verifyThatEventWasNotSend();
}
+ @Test
+ public void shouldExecuteStndDefinedValidationWhenFlagIsOnTrue() throws IOException {
+ //given
+ configureEventTransformations();
+ configureHeadersForEventListener();
+
+ MockHttpServletRequest request = givenMockHttpServletRequest();
+ String validEvent = JsonDataLoader.loadContent("/ves7_batch_with_stndDefined_valid.json");
+ when(applicationSettings.getExternalSchemaValidationCheckflag()).thenReturn(true);
+
+ //when
+ final ResponseEntity<String> response = vesRestController.events(validEvent, VERSION_V7, request);
+
+ //then
+ assertThat(response.getStatusCodeValue()).isEqualTo(HttpStatus.SC_ACCEPTED);
+ assertThat(response.getBody()).isEqualTo(ACCEPTED);
+ verify(stndDefinedDataValidator, times(2)).validate(any());
+ }
+
+ @Test
+ public void shouldNotExecuteStndDefinedValidationWhenFlagIsOnFalse() throws IOException {
+ //given
+ configureEventTransformations();
+ configureHeadersForEventListener();
+
+ MockHttpServletRequest request = givenMockHttpServletRequest();
+ String validEvent = JsonDataLoader.loadContent("/ves7_batch_with_stndDefined_valid.json");
+ when(applicationSettings.getExternalSchemaValidationCheckflag()).thenReturn(false);
+
+ //when
+ final ResponseEntity<String> response = vesRestController.events(validEvent, VERSION_V7, request);
+
+ //then
+ assertThat(response.getStatusCodeValue()).isEqualTo(HttpStatus.SC_ACCEPTED);
+ assertThat(response.getBody()).isEqualTo(ACCEPTED);
+ verify(stndDefinedDataValidator, times(0)).validate(any());
+ }
+
private void verifyThatEventWasNotSend() {
verify(eventPublisher, never()).sendEvent(any(), any());
}