import org.onap.portalsdk.core.util.SystemProperties
import org.onap.vid.logging.RequestIdHeader.*
+import java.util.*
import javax.servlet.http.HttpServletRequest
interface Header {
override fun getHeaderValue() = "VID.VID"
}
+@JvmField
+val INVOCATION_ID = object : NamedHeader("X-InvocationID") {
+ override fun getHeaderValue() = UUID.randomUUID().toString()
+}
+
enum class RequestIdHeader(override val headerName: String) : Header {
ONAP_ID("X-ONAP-RequestID"),
REQUEST_ID("X-RequestID"),
package org.onap.vid.mso;
+import static org.onap.vid.logging.Headers.INVOCATION_ID;
import static org.onap.vid.logging.Headers.PARTNER_NAME;
import static org.onap.vid.utils.Logging.ONAP_REQUEST_ID_HEADER_KEY;
import static org.onap.vid.utils.Logging.REQUEST_ID_HEADER_KEY;
String requestIdValue = Logging.extractOrGenerateRequestId();
commonHeaders.put(REQUEST_ID_HEADER_KEY, Collections.singletonList(requestIdValue));
commonHeaders.put(ONAP_REQUEST_ID_HEADER_KEY, Collections.singletonList(requestIdValue));
-
+ commonHeaders.put(INVOCATION_ID.getHeaderName(), Collections.singletonList(INVOCATION_ID.getHeaderValue()));
boolean useSsl = true;
if ( (mso_url != null) && ( !(mso_url.isEmpty()) ) ) {
Invocation.Builder fakeBuilder = mocks.getFakeBuilder();
Object requestIdValue = verifyXEcompRequestIdHeaderWasAdded(fakeBuilder);
assertEquals(requestIdValue, captureHeaderKeyAndReturnItsValue(fakeBuilder, "X-ONAP-RequestID"));
-
+ assertRequestHeaderIsUUID(fakeBuilder, "X-InvocationID");
assertThat((String) captureHeaderKeyAndReturnItsValue(fakeBuilder, "Authorization"), startsWith("Basic "));
verifyXOnapPartnerNameHeaderWasAdded(fakeBuilder);
}
private Object verifyXEcompRequestIdHeaderWasAdded(Invocation.Builder fakeBuilder) {
final String requestIdHeader = "x-ecomp-requestid";
- final String uuidRegex = "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}";
- Object requestId = captureHeaderKeyAndReturnItsValue(fakeBuilder, requestIdHeader);
+ return assertRequestHeaderIsUUID(fakeBuilder, requestIdHeader);
+ }
- assertThat("header '" + requestIdHeader + "' should be a uuid", requestId,
+ private Object assertRequestHeaderIsUUID(Invocation.Builder fakeBuilder, String headerName) {
+ Object headerValue = captureHeaderKeyAndReturnItsValue(fakeBuilder, headerName);
+ final String uuidRegex = "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}";
+ assertThat("header '" + headerName + "' should be a uuid", headerValue,
allOf(instanceOf(String.class), hasToString(matchesPattern(uuidRegex))));
- return requestId;
+ return headerValue;
}
private void verifyXOnapPartnerNameHeaderWasAdded(Invocation.Builder fakeBuilder) {