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.openecomp.sdc.common.log.enums.EcompLoggerErrorCode;
11 import org.openecomp.sdc.common.log.enums.LogLevel;
12 import org.openecomp.sdc.common.log.enums.Severity;
13 import org.openecomp.sdc.common.log.wrappers.LoggerSdcAudit;
14 import org.openecomp.sdc.common.log.wrappers.LoggerSdcUtilBase;
16 import javax.ws.rs.container.ContainerRequestContext;
17 import javax.ws.rs.core.UriInfo;
19 import java.net.URISyntaxException;
21 import static java.net.HttpURLConnection.*;
22 import static org.junit.Assert.*;
23 import static org.mockito.ArgumentMatchers.anyString;
24 import static org.mockito.Mockito.when;
27 * Created by dd4296 on 12/19/2017.
29 * test get partner name
31 @RunWith(MockitoJUnitRunner.class)
32 public class LoggerAsdcUtilTest {
34 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";
35 private final String firefoxUserAgent = "Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.13) Gecko/20080313 Firefox";
36 private final String explorerUserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0)";
38 private final String testUserId = "ml007";
39 private final String urlWithUserName = "/api/v1/user/" + testUserId;
41 class SdcEelfAuditTest extends LoggerSdcAudit {
43 SdcEelfAuditTest(Class<?> clazz) {
47 public String getPartnerName(String userAgent, String userID, String url) {
48 return super.getPartnerName(userAgent, userID, url);
53 private ContainerRequestContext requestContext;
57 private SdcEelfAuditTest asdcEelfAudit;
60 public void Init () throws URISyntaxException {
61 asdcEelfAudit = new SdcEelfAuditTest(LoggerAsdcUtilTest.class);
62 when(requestContext.getHeaderString(anyString())).thenReturn("ab2222");
63 when(requestContext.getUriInfo()).thenReturn(uriInfo);
64 URI uri = new URI("http:/abc.com/getId");
65 when(uriInfo.getRequestUri()).thenReturn(uri);
66 when(uriInfo.getBaseUri()).thenReturn(uri);
71 public void extract_user_id_from_userAgentTest() {
73 String userIdChrome = asdcEelfAudit.getPartnerName(chromeUserAgent, "", "");
74 assertEquals(userIdChrome.toLowerCase(), "chrome_FE".toLowerCase());
76 String userIdFireFox = asdcEelfAudit.getPartnerName(firefoxUserAgent, "", "");
77 assertEquals(userIdFireFox.toLowerCase(), "firefox_FE".toLowerCase());
79 String userIdIE = asdcEelfAudit.getPartnerName(explorerUserAgent, "", "");
80 assertEquals(userIdIE.toLowerCase(), "explorer_FE".toLowerCase());
84 public void extract_user_id_from_urlTest() {
86 String userId = asdcEelfAudit.getPartnerName("", "", urlWithUserName);
87 assertEquals(testUserId, userId);
91 public void extract_user_id_from_paramTest() {
93 String userId = asdcEelfAudit.getPartnerName("", testUserId, "");
94 assertEquals(userId, testUserId);
98 public void extract_user_id_priorityTest() {
100 String userId = asdcEelfAudit.getPartnerName(chromeUserAgent, testUserId, urlWithUserName);
101 assertEquals(userId, testUserId);
103 String userIdUrl = asdcEelfAudit.getPartnerName(chromeUserAgent, "", urlWithUserName);
104 assertEquals(userIdUrl, testUserId);
106 String userIdUserAgent = asdcEelfAudit.getPartnerName(chromeUserAgent, "", "");
107 assertEquals(userIdUserAgent.toLowerCase(), "chrome_FE".toLowerCase());
111 public void check_http_error_convert_to_eelf_code() {
112 class LoggerSdcUtilBaseTest extends LoggerSdcUtilBase {
113 public EcompLoggerErrorCode convertHttpCodeToErrorCode(int httpResponseCode) {
114 return super.convertHttpCodeToErrorCode(httpResponseCode);
118 LoggerSdcUtilBaseTest utilBase = new LoggerSdcUtilBaseTest();
120 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_BAD_REQUEST), EcompLoggerErrorCode.AVAILABILITY_TIMEOUTS_ERROR);
121 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_UNAUTHORIZED), EcompLoggerErrorCode.AVAILABILITY_TIMEOUTS_ERROR);
122 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_NOT_FOUND), EcompLoggerErrorCode.AVAILABILITY_TIMEOUTS_ERROR);
123 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_CLIENT_TIMEOUT), EcompLoggerErrorCode.AVAILABILITY_TIMEOUTS_ERROR);
124 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_GONE), EcompLoggerErrorCode.AVAILABILITY_TIMEOUTS_ERROR);
126 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_PAYMENT_REQUIRED), EcompLoggerErrorCode.PERMISSION_ERROR);
127 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_FORBIDDEN), EcompLoggerErrorCode.PERMISSION_ERROR);
128 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_BAD_METHOD), EcompLoggerErrorCode.PERMISSION_ERROR);
129 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_PROXY_AUTH), EcompLoggerErrorCode.PERMISSION_ERROR);
131 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_NOT_ACCEPTABLE), EcompLoggerErrorCode.DATA_ERROR);
132 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_LENGTH_REQUIRED), EcompLoggerErrorCode.DATA_ERROR);
133 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_PRECON_FAILED), EcompLoggerErrorCode.DATA_ERROR);
134 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_REQ_TOO_LONG), EcompLoggerErrorCode.DATA_ERROR);
135 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_ENTITY_TOO_LARGE), EcompLoggerErrorCode.DATA_ERROR);
136 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_UNSUPPORTED_TYPE), EcompLoggerErrorCode.DATA_ERROR);
138 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_CONFLICT), EcompLoggerErrorCode.SCHEMA_ERROR);
140 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_OK), EcompLoggerErrorCode.SUCCESS);
142 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_INTERNAL_ERROR), EcompLoggerErrorCode.BUSINESS_PROCESS_ERROR);
143 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_NOT_IMPLEMENTED), EcompLoggerErrorCode.BUSINESS_PROCESS_ERROR);
144 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_BAD_GATEWAY), EcompLoggerErrorCode.BUSINESS_PROCESS_ERROR);
145 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_UNAVAILABLE), EcompLoggerErrorCode.BUSINESS_PROCESS_ERROR);
146 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_GATEWAY_TIMEOUT), EcompLoggerErrorCode.BUSINESS_PROCESS_ERROR);
147 Assert.assertEquals(utilBase.convertHttpCodeToErrorCode(HTTP_VERSION), EcompLoggerErrorCode.BUSINESS_PROCESS_ERROR);
152 public void takenCareOf_shouldBeTrue_ifStartedLogWasCalled(){
153 asdcEelfAudit.startLog(requestContext);
154 assertTrue(asdcEelfAudit.isFlowBeingTakenCare());
158 public void takenCareOf_shouldBeFalse_ifStartedLogWasNoCalled(){
159 assertFalse(asdcEelfAudit.isFlowBeingTakenCare());
163 public void takenCareOf_shouldBeFalse_ifStartedLogWasCalleAndLogWasCalledToo(){
164 asdcEelfAudit.startLog(requestContext);
166 asdcEelfAudit.log(null,null,null, LogLevel.INFO, Severity.OK, "message");
167 assertFalse(asdcEelfAudit.isFlowBeingTakenCare());