summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEinat Vinouze <einat.vinouze@intl.att.com>2019-10-30 09:43:24 +0200
committerEylon Malin <eylon.malin@intl.att.com>2019-10-31 07:28:34 +0200
commit62f48357131b8b4cd7248a467e82c59b81956ef3 (patch)
tree89e92d8e4a4f0f29a255d38d298fb9647adbbb82
parentc638391d22999bd61243794a1981d7476bfdbd5f (diff)
add to AAI headers in request and metric log
Issue-ID: VID-253 Including API test + use VidMetricLogClientFilter Signed-off-by: Einat Vinouze <einat.vinouze@intl.att.com> Change-Id: I62980b3c88e941d1a47b03c75a1c837078e1988b
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/aai/util/AAIRestInterface.java13
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/mso/rest/OutgoingRequestHeadersTest.java36
-rw-r--r--vid-automation/src/test/java/org/onap/vid/api/AaiApiTest.java14
-rw-r--r--vid-automation/src/test/java/org/onap/vid/more/LoggerFormatTest.java2
4 files changed, 18 insertions, 47 deletions
diff --git a/vid-app-common/src/main/java/org/onap/vid/aai/util/AAIRestInterface.java b/vid-app-common/src/main/java/org/onap/vid/aai/util/AAIRestInterface.java
index 4369c17fc..aadfd58cc 100644
--- a/vid-app-common/src/main/java/org/onap/vid/aai/util/AAIRestInterface.java
+++ b/vid-app-common/src/main/java/org/onap/vid/aai/util/AAIRestInterface.java
@@ -22,8 +22,6 @@ package org.onap.vid.aai.util;
import static org.apache.commons.lang3.ObjectUtils.defaultIfNull;
-import static org.onap.vid.logging.Headers.INVOCATION_ID;
-import static org.onap.vid.logging.Headers.PARTNER_NAME;
import com.att.eelf.configuration.EELFLogger;
import java.io.UnsupportedEncodingException;
@@ -43,7 +41,7 @@ import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
import org.onap.vid.aai.ExceptionWithRequestInfo;
import org.onap.vid.aai.ResponseWithRequestInfo;
import org.onap.vid.aai.exceptions.InvalidPropertyException;
-import org.onap.vid.logging.RequestIdHeader;
+import org.onap.vid.logging.VidMetricLogClientFilter;
import org.onap.vid.utils.Logging;
import org.onap.vid.utils.Unchecked;
import org.springframework.beans.factory.annotation.Autowired;
@@ -127,6 +125,8 @@ public class AAIRestInterface {
if (client == null) {
try {
client = httpsAuthClientFactory.getClient(HttpClientMode.WITH_KEYSTORE);
+ VidMetricLogClientFilter metricLogClientFilter = new VidMetricLogClientFilter();
+ client.register(metricLogClientFilter);
} catch (Exception e) {
logger.info(EELFLoggerDelegate.errorLogger, "Exception in REST call to DB in initRestClient" + e.toString());
logger.debug(EELFLoggerDelegate.debugLogger, "Exception in REST call to DB : " + e.toString());
@@ -193,18 +193,11 @@ public class AAIRestInterface {
final Response response;
- String requestId = extractOrGenerateRequestId();
-
Invocation.Builder requestBuilder = client.target(url)
.request()
.accept(xml ? MediaType.APPLICATION_XML : MediaType.APPLICATION_JSON)
- .header(PARTNER_NAME.getHeaderName(), PARTNER_NAME.getHeaderValue())
- .header(TRANSACTION_ID_HEADER, transId)
.header(FROM_APP_ID_HEADER, fromAppId)
.header("Content-Type", MediaType.APPLICATION_JSON)
- .header(RequestIdHeader.ONAP_ID.getHeaderName(), requestId)
- .header(RequestIdHeader.ECOMP_ID.getHeaderName(), requestId)
- .header(INVOCATION_ID.getHeaderName(), INVOCATION_ID.getHeaderValue())
;
requestBuilder = systemPropertyHelper.isClientCertEnabled() ?
diff --git a/vid-app-common/src/test/java/org/onap/vid/mso/rest/OutgoingRequestHeadersTest.java b/vid-app-common/src/test/java/org/onap/vid/mso/rest/OutgoingRequestHeadersTest.java
index fd66dab52..f03b89722 100644
--- a/vid-app-common/src/test/java/org/onap/vid/mso/rest/OutgoingRequestHeadersTest.java
+++ b/vid-app-common/src/test/java/org/onap/vid/mso/rest/OutgoingRequestHeadersTest.java
@@ -65,7 +65,6 @@ import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.onap.portalsdk.core.util.SystemProperties;
-import org.onap.vid.aai.util.AAIRestInterface;
import org.onap.vid.aai.util.HttpsAuthClient;
import org.onap.vid.aai.util.ServletRequestHelper;
import org.onap.vid.aai.util.SystemPropertyHelper;
@@ -77,7 +76,6 @@ import org.onap.vid.mso.RestMsoImplementation;
import org.onap.vid.testUtils.TestUtils;
import org.onap.vid.utils.Logging;
import org.onap.vid.utils.SystemPropertiesWrapper;
-import org.onap.vid.utils.Unchecked;
import org.springframework.http.HttpMethod;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.web.context.request.RequestContextHolder;
@@ -115,9 +113,6 @@ public class OutgoingRequestHeadersTest {
@Mock
SyncRestClient syncRestClient;
- @InjectMocks
- private AAIRestInterface aaiRestInterface;
-
@Captor
private ArgumentCaptor<MultivaluedMap<String, Object>> multivaluedMapArgumentCaptor;
@@ -217,37 +212,6 @@ public class OutgoingRequestHeadersTest {
return headersCapture;
}
- @DataProvider
- public Object[][] aaiMethods() {
- return Stream.<ThrowingConsumer<AAIRestInterface>>of(
-
- client -> client.RestGet("from app id", "some transId", Unchecked.toURI("/any path"), false),
- client -> client.RestPost("from app id", "/any path", "some payload", false),
- client -> client.doRest("from app id", "some transId", Unchecked.toURI("/any path"), "somebody", HttpMethod.GET, false, true),
- client -> client.RestPut("from app id", "/any path", "some payload", false, false)
-
- ).map(l -> ImmutableList.of(l).toArray()).collect(Collectors.toList()).toArray(new Object[][]{});
- }
-
- @Test(dataProvider = "aaiMethods")
- public void aai(Consumer<AAIRestInterface> f) throws Exception {
- //given
- final TestUtils.JavaxRsClientMocks mocks = setAndGetMocksInsideRestImpl(aaiRestInterface);
- //when
- f.accept(aaiRestInterface);
- //then
- HeadersVerifier headersVerifier = new HeadersVerifier().verifyFirstCall(mocks.getFakeBuilder());
-
- //verify requestId is same in next call but invocationId is different
- //given
- final TestUtils.JavaxRsClientMocks mocks2 = setAndGetMocksInsideRestImpl(aaiRestInterface);
- //when
- f.accept(aaiRestInterface);
- //then
- headersVerifier.verifySecondCall(mocks2.getFakeBuilder());
-
- }
-
// @Test(dataProvider = "schedulerMethods")
// public void scheduler(Consumer<AAIRestInterface> f) throws Exception {
//
diff --git a/vid-automation/src/test/java/org/onap/vid/api/AaiApiTest.java b/vid-automation/src/test/java/org/onap/vid/api/AaiApiTest.java
index c128b864b..39110c550 100644
--- a/vid-automation/src/test/java/org/onap/vid/api/AaiApiTest.java
+++ b/vid-automation/src/test/java/org/onap/vid/api/AaiApiTest.java
@@ -15,6 +15,7 @@ import static org.testng.Assert.assertTrue;
import static org.testng.AssertJUnit.assertEquals;
import static vid.automation.test.services.SimulatorApi.RegistrationStrategy.APPEND;
import static vid.automation.test.services.SimulatorApi.RegistrationStrategy.CLEAR_THEN_SET;
+import static vid.automation.test.services.SimulatorApi.registerExpectationFromPresets;
import static vid.automation.test.utils.TestHelper.GET_SERVICE_MODELS_BY_DISTRIBUTION_STATUS;
import com.fasterxml.jackson.core.JsonProcessingException;
@@ -768,6 +769,19 @@ public class AaiApiTest extends BaseApiAaiTest {
}
@Test
+ public void whenCallAaiThroughAAIRestInterface_thenRequestRecordedInMetricsLog() {
+ registerExpectationFromPresets(ImmutableList.of(
+ new PresetAAIGetVpnsByType(),
+ new PresetAAIGetSubscribersGet()
+ ),CLEAR_THEN_SET);
+
+ String url = uri + "/aai_get_vpn_list";
+ ResponseEntity<String> response = restTemplate.getForEntity(url, String.class);
+ final String requestId = response.getHeaders().getFirst("X-ECOMP-RequestID-echo");
+ LoggerFormatTest.assertHeadersAndMetricLogs(restTemplate, uri, requestId,"/network/vpn-bindings" , 1);
+ }
+
+ @Test
public void getVpnList() {
SimulatorApi.registerExpectationFromPreset(new PresetAAIGetVpnsByType(), CLEAR_THEN_SET);
String url = uri + "/aai_get_vpn_list";
diff --git a/vid-automation/src/test/java/org/onap/vid/more/LoggerFormatTest.java b/vid-automation/src/test/java/org/onap/vid/more/LoggerFormatTest.java
index 11a6932f4..597851086 100644
--- a/vid-automation/src/test/java/org/onap/vid/more/LoggerFormatTest.java
+++ b/vid-automation/src/test/java/org/onap/vid/more/LoggerFormatTest.java
@@ -133,7 +133,7 @@ public class LoggerFormatTest extends BaseApiTest {
List<RecordedRequests> requests = retrieveRecordedRequests();
List<RecordedRequests> underTestRequests =
- requests.stream().filter(x->x.path.startsWith(path)).collect(toList());
+ requests.stream().filter(x->x.path.contains(path)).collect(toList());
assertThat(underTestRequests, hasSize(requestsSize));