import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.core.classloader.annotations.SuppressStaticInitializationFor;
import org.powermock.modules.junit4.PowerMockRunner;
+import org.slf4j.MDC;
+
+import javax.servlet.http.HttpServletRequest;
+
+import java.io.IOException;
+import java.net.InetAddress;
+import java.util.UUID;
+
+import static com.att.eelf.configuration.Configuration.MDC_SERVER_FQDN;
+import static com.att.eelf.configuration.Configuration.MDC_SERVER_IP_ADDRESS;
+import static org.mockito.Mockito.when;
+import static org.powermock.api.mockito.PowerMockito.mockStatic;
@RunWith(PowerMockRunner.class)
@SuppressStaticInitializationFor("org.onap.dmaap.datarouter.node.NodeUtils")
+@PrepareForTest({ UUID.class, InetAddress.class })
public class NodeUtilsTest {
+ @Mock
+ private HttpServletRequest request;
+
@Test
public void Given_Uri_With_Params_Then_Get_Feed_And_File_Id_Returns_Correct_Values() {
String uri = "prov.datarouternew.com:8443/feed/12/fileName";
String s = NodeUtils.unloge("\\esearch\\ppub\\p12\\n");
Assert.assertEquals("\\search|pub|12\n", s);
}
+
+ @Test
+ public void Given_Request_Has_RequestId_And_InvocationId_Headers_Set_MDC_Values() {
+ when(request.getHeader("X-ONAP-RequestID")).thenReturn("123");
+ when(request.getHeader("X-InvocationID")).thenReturn("456");
+ NodeUtils.setRequestIdAndInvocationId(request);
+ Assert.assertEquals("123", MDC.get("RequestId"));
+ Assert.assertEquals("456", MDC.get("InvocationId"));
+ }
+
+ @Test
+ public void Given_setIpAndFqdnForEelf_Called_Set_MDC_Values() throws IOException {
+ mockStatic(InetAddress.class);
+ when(InetAddress.getLocalHost().getHostName()).thenReturn("testHostName");
+ when(InetAddress.getLocalHost().getHostAddress()).thenReturn("testHostAddress");
+ NodeUtils.setIpAndFqdnForEelf("doGet");
+ Assert.assertEquals("testHostName", MDC.get(MDC_SERVER_FQDN));
+ Assert.assertEquals("testHostAddress", MDC.get(MDC_SERVER_IP_ADDRESS));
+ }
+
+ @Test
+ public void Given_Request_Has_Empty_RequestId_And_InvocationId_Headers_Generate_MDC_Values() {
+ when(request.getHeader("X-ONAP-RequestID")).thenReturn("");
+ when(request.getHeader("X-InvocationID")).thenReturn("");
+ mockStatic(UUID.class);
+ when(UUID.randomUUID().toString()).thenReturn("123", "456");
+ NodeUtils.setRequestIdAndInvocationId(request);
+ Assert.assertEquals("123", MDC.get("RequestId"));
+ Assert.assertEquals("456", MDC.get("InvocationId"));
+ }
}