Merge automation from ECOMP's repository
[vid.git] / vid-automation / src / main / java / org / onap / vid / api / BaseMsoApiTest.java
@@ -2,6 +2,8 @@ package org.onap.vid.api;
 
 import com.google.common.collect.ImmutableMap;
 import org.json.JSONException;
+import org.onap.simulator.presetGenerator.presets.BasePresets.BaseMSOPreset;
+import org.onap.simulator.presetGenerator.presets.BasePresets.BasePreset;
 import org.onap.vid.model.mso.MsoResponseWrapper2;
 import org.skyscreamer.jsonassert.JSONAssert;
 import org.skyscreamer.jsonassert.JSONCompareMode;
@@ -15,9 +17,10 @@ import vid.automation.test.services.SimulatorApi.RegistrationStrategy;
 
 import java.io.IOException;
 import java.lang.reflect.Method;
+import java.util.List;
 
-import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.core.Is.is;
+import static org.junit.Assert.assertThat;
 
 public class BaseMsoApiTest extends BaseApiTest {
 
@@ -28,6 +31,20 @@ public class BaseMsoApiTest extends BaseApiTest {
 
     protected void callMsoWithSimulatedErrorResponse(String expectationJsonFileName, ImmutableMap<String, Object> replacementsForJson, String targetUri, String basicRequestBody, int expectedErrorCode, String expectedResult, HttpMethod method) throws IOException {
         SimulatorApi.registerExpectation(expectationJsonFileName, replacementsForJson, RegistrationStrategy.CLEAR_THEN_SET);
+        callMsoAndAssertError(targetUri, basicRequestBody, expectedErrorCode, expectedResult, method);
+    }
+
+    protected void callMsoWithSimulatedErrorResponse(BaseMSOPreset expectation, String targetUri, String basicRequestBody, int expectedErrorCode, String expectedResult, HttpMethod method) throws IOException {
+        SimulatorApi.registerExpectationFromPreset(expectation, RegistrationStrategy.CLEAR_THEN_SET);
+        callMsoAndAssertError(targetUri, basicRequestBody, expectedErrorCode, expectedResult, method);
+    }
+
+    protected void callMsoWithSimulatedErrorResponse(List<BasePreset> expectations, String targetUri, String basicRequestBody, int expectedErrorCode, String expectedResult, HttpMethod method) throws IOException {
+        SimulatorApi.registerExpectationFromPresets(expectations, RegistrationStrategy.CLEAR_THEN_SET);
+        callMsoAndAssertError(targetUri, basicRequestBody, expectedErrorCode, expectedResult, method);
+    }
+
+    private void callMsoAndAssertError(String targetUri, String basicRequestBody, int expectedErrorCode, String expectedResult, HttpMethod method) throws IOException {
         try {
             MsoResponseWrapper2 responseWrapper = callMsoForResponseWrapper(method, targetUri, basicRequestBody);
 
@@ -41,7 +58,20 @@ public class BaseMsoApiTest extends BaseApiTest {
 
     protected void callMsoWithFineRequest(String expectationJsonFileName, ImmutableMap<String, Object> replacementsForJson, String targetUri, String requestBody, int expectedStatusCode, String expectedResult, HttpMethod method) throws IOException {
         SimulatorApi.registerExpectation(expectationJsonFileName, replacementsForJson, RegistrationStrategy.CLEAR_THEN_SET);
+        callMsoAndAssertSuccess(targetUri, requestBody, expectedStatusCode, expectedResult, method);
+    }
+
+    protected void callMsoWithFineRequest(BaseMSOPreset expectation, String targetUri, String requestBody, int expectedStatusCode, String expectedResult, HttpMethod method) throws IOException {
+        SimulatorApi.registerExpectationFromPreset(expectation, RegistrationStrategy.CLEAR_THEN_SET);
+        callMsoAndAssertSuccess(targetUri, requestBody, expectedStatusCode, expectedResult, method);
+    }
+
+    protected void callMsoWithFineRequest(List<BasePreset> expectations, String targetUri, String requestBody, int expectedStatusCode, String expectedResult, HttpMethod method) throws IOException {
+        SimulatorApi.registerExpectationFromPresets(expectations, RegistrationStrategy.CLEAR_THEN_SET);
+        callMsoAndAssertSuccess(targetUri, requestBody, expectedStatusCode, expectedResult, method);
+    }
 
+    private void callMsoAndAssertSuccess(String targetUri, String requestBody, int expectedStatusCode, String expectedResult, HttpMethod method) throws IOException {
         MsoResponseWrapper2 responseWrapper = callMsoForResponseWrapper(method, targetUri, requestBody);
 
         assertThat("Wrong propagated status from MSO", responseWrapper.getStatus(), is(expectedStatusCode));