1 package org.openecomp.sdc.common.log.elements;
4 import org.junit.Assert;
5 import org.junit.Before;
7 import org.junit.runner.RunWith;
8 import org.mockito.Mock;
9 import org.mockito.junit.MockitoJUnitRunner;
10 import org.onap.logging.ref.slf4j.ONAPLogConstants;
11 import org.openecomp.sdc.common.log.enums.EcompLoggerErrorCode;
12 import org.openecomp.sdc.common.log.enums.LogLevel;
13 import org.openecomp.sdc.common.log.enums.Severity;
14 import org.openecomp.sdc.common.log.wrappers.LoggerSdcAudit;
15 import org.openecomp.sdc.common.log.wrappers.LoggerSdcUtilBase;
16 import org.slf4j.MarkerFactory;
18 import javax.ws.rs.container.ContainerRequestContext;
19 import javax.ws.rs.core.UriInfo;
21 import java.net.URISyntaxException;
23 import static java.net.HttpURLConnection.*;
24 import static org.junit.Assert.*;
25 import static org.mockito.ArgumentMatchers.anyString;
26 import static org.mockito.Mockito.when;
29 * Created by dd4296 on 12/19/2017.
31 * test get partner name
33 @RunWith(MockitoJUnitRunner.class)
34 public class LoggerAsdcUtilTest {
36 private final String chromeUserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36";
37 private final String firefoxUserAgent = "Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.13) Gecko/20080313 Firefox";
38 private final String explorerUserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0)";
40 private final String testUserId = "ml007";
41 private final String urlWithUserName = "/api/v1/user/" + testUserId;
42 private final String xOnapPartnerName = "ml007";
44 class SdcEelfAuditTest extends LoggerSdcAudit {
46 SdcEelfAuditTest(Class<?> clazz) {
50 public String getPartnerName(String userAgent, String userID, String url, String xOnapPartnerName) {
51 return super.getPartnerName(userAgent, userID, url, xOnapPartnerName);
56 private ContainerRequestContext requestContext;
60 private SdcEelfAuditTest asdcEelfAudit;
63 public void Init () throws URISyntaxException {
64 asdcEelfAudit = new SdcEelfAuditTest(LoggerAsdcUtilTest.class);
65 when(requestContext.getHeaderString(anyString())).thenReturn("ab2222");
66 when(requestContext.getUriInfo()).thenReturn(uriInfo);
67 URI uri = new URI("http:/abc.com/getId");
68 when(uriInfo.getRequestUri()).thenReturn(uri);
69 when(uriInfo.getBaseUri()).thenReturn(uri);
74 public void extract_user_id_from_userAgentTest() {
76 String userIdChrome = asdcEelfAudit.getPartnerName(chromeUserAgent, "", "", "");
77 assertEquals(userIdChrome.toLowerCase(), "chrome_FE".toLowerCase());
79 String userIdFireFox = asdcEelfAudit.getPartnerName(firefoxUserAgent, "", "", "");
80 assertEquals(userIdFireFox.toLowerCase(), "firefox_FE".toLowerCase());
82 String userIdIE = asdcEelfAudit.getPartnerName(explorerUserAgent, "", "", "");
83 assertEquals(userIdIE.toLowerCase(), "explorer_FE".toLowerCase());
87 public void extract_user_id_from_urlTest() {
89 String userId = asdcEelfAudit.getPartnerName("", "", urlWithUserName, "");
90 assertEquals(testUserId, userId);
94 public void extract_user_id_from_paramTest() {
96 String userId = asdcEelfAudit.getPartnerName("", testUserId, "", "");
97 assertEquals(userId, testUserId);
101 public void extract_user_id_from_xOnapPartnerNameTest() {
103 String userId = asdcEelfAudit.getPartnerName("", "", "", xOnapPartnerName);
104 assertEquals(userId, testUserId);
108 public void extract_user_id_priorityTest() {
110 String userId = asdcEelfAudit.getPartnerName(chromeUserAgent, testUserId, urlWithUserName, xOnapPartnerName);
111 assertEquals(userId, testUserId);
113 String userIdUrl = asdcEelfAudit.getPartnerName(chromeUserAgent, "", urlWithUserName, "");
114 assertEquals(userIdUrl, testUserId);
116 String userIdUserAgent = asdcEelfAudit.getPartnerName(chromeUserAgent, "", "", "");
117 assertEquals(userIdUserAgent.toLowerCase(), "chrome_FE".toLowerCase());
121 public void check_http_error_convert_to_eelf_code() {
122 class LoggerSdcUtilBaseTest extends LoggerSdcUtilBase {
123 public EcompLoggerErrorCode convertHttpCodeToErrorCode(int httpResponseCode) {
124 return super.convertHttpCodeToErrorCode(httpResponseCode);
128 LoggerSdcUtilBaseTest utilBase = new LoggerSdcUtilBaseTest();
130 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_BAD_REQUEST), EcompLoggerErrorCode.AVAILABILITY_TIMEOUTS_ERROR);
131 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_UNAUTHORIZED), EcompLoggerErrorCode.AVAILABILITY_TIMEOUTS_ERROR);
132 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_NOT_FOUND), EcompLoggerErrorCode.AVAILABILITY_TIMEOUTS_ERROR);
133 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_CLIENT_TIMEOUT), EcompLoggerErrorCode.AVAILABILITY_TIMEOUTS_ERROR);
134 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_GONE), EcompLoggerErrorCode.AVAILABILITY_TIMEOUTS_ERROR);
136 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_PAYMENT_REQUIRED), EcompLoggerErrorCode.PERMISSION_ERROR);
137 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_FORBIDDEN), EcompLoggerErrorCode.PERMISSION_ERROR);
138 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_BAD_METHOD), EcompLoggerErrorCode.PERMISSION_ERROR);
139 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_PROXY_AUTH), EcompLoggerErrorCode.PERMISSION_ERROR);
141 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_NOT_ACCEPTABLE), EcompLoggerErrorCode.DATA_ERROR);
142 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_LENGTH_REQUIRED), EcompLoggerErrorCode.DATA_ERROR);
143 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_PRECON_FAILED), EcompLoggerErrorCode.DATA_ERROR);
144 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_REQ_TOO_LONG), EcompLoggerErrorCode.DATA_ERROR);
145 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_ENTITY_TOO_LARGE), EcompLoggerErrorCode.DATA_ERROR);
146 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_UNSUPPORTED_TYPE), EcompLoggerErrorCode.DATA_ERROR);
148 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_CONFLICT), EcompLoggerErrorCode.SCHEMA_ERROR);
150 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_OK), EcompLoggerErrorCode.SUCCESS);
152 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_INTERNAL_ERROR), EcompLoggerErrorCode.BUSINESS_PROCESS_ERROR);
153 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_NOT_IMPLEMENTED), EcompLoggerErrorCode.BUSINESS_PROCESS_ERROR);
154 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_BAD_GATEWAY), EcompLoggerErrorCode.BUSINESS_PROCESS_ERROR);
155 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_UNAVAILABLE), EcompLoggerErrorCode.BUSINESS_PROCESS_ERROR);
156 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_GATEWAY_TIMEOUT), EcompLoggerErrorCode.BUSINESS_PROCESS_ERROR);
157 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_VERSION), EcompLoggerErrorCode.BUSINESS_PROCESS_ERROR);
162 public void takenCareOf_shouldBeTrue_ifStartedLogWasCalled(){
163 asdcEelfAudit.startLog(requestContext);
164 assertTrue(asdcEelfAudit.isFlowBeingTakenCare());
168 public void takenCareOf_shouldBeFalse_ifStartedLogWasNoCalled(){
169 assertFalse(asdcEelfAudit.isFlowBeingTakenCare());
173 public void takenCareOf_shouldBeFalse_ifStartedLogWasCalleAndLogWasCalledToo(){
174 asdcEelfAudit.startLog(requestContext);
176 asdcEelfAudit.logExit(null,null,null, LogLevel.INFO, Severity.OK,
177 "message", MarkerFactory.getMarker(ONAPLogConstants.Markers.EXIT.getName()));
178 assertFalse(asdcEelfAudit.isFlowBeingTakenCare());