diff options
author | Ittay Stern <ittay.stern@att.com> | 2019-10-31 06:10:39 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2019-10-31 06:10:39 +0000 |
commit | ccc560d4e557df5a8df1748c87820b5eebc4a262 (patch) | |
tree | ae24f48e00afd3bec1ffca2757f41e3b0d2b5f5b | |
parent | 4c2176675390925c1a6b576ad62541106682c951 (diff) | |
parent | 62f48357131b8b4cd7248a467e82c59b81956ef3 (diff) |
Merge "add to AAI headers in request and metric log"
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)); |