From f7cb11a5d53d4964c236a6ecb2e2f4264f2437fd Mon Sep 17 00:00:00 2001 From: sourabh_sourabh Date: Tue, 8 Feb 2022 23:02:27 +0530 Subject: Improve logging in NCMP - Code to change to apply logs at runtime - Fix for minor code smell Issue-ID: CPS-855 Signed-off-by: sourabh_sourabh Change-Id: I93a556fe0fb7ca05a42e84eb5ec4f84afaa8fd92 --- .../cps/aop/CpsLoggingAspectServiceSpec.groovy | 33 +++++++++++++--------- 1 file changed, 20 insertions(+), 13 deletions(-) (limited to 'cps-service/src/test') diff --git a/cps-service/src/test/groovy/org/onap/cps/aop/CpsLoggingAspectServiceSpec.groovy b/cps-service/src/test/groovy/org/onap/cps/aop/CpsLoggingAspectServiceSpec.groovy index b15af490e7..1308bd7297 100644 --- a/cps-service/src/test/groovy/org/onap/cps/aop/CpsLoggingAspectServiceSpec.groovy +++ b/cps-service/src/test/groovy/org/onap/cps/aop/CpsLoggingAspectServiceSpec.groovy @@ -24,9 +24,13 @@ import org.aspectj.lang.ProceedingJoinPoint import org.aspectj.lang.reflect.MethodSignature import org.onap.cps.spi.exceptions.DataValidationException import spock.lang.Specification +import java.util.logging.Level +import java.util.logging.Logger class CpsLoggingAspectServiceSpec extends Specification { + private static final Logger logger = Logger.getLogger("org.onap.cps") + def mockProceedingJoinPoint = Mock(ProceedingJoinPoint) def mockMethodSignature = Mock(MethodSignature); def objectUnderTest = new CpsLoggingAspectService() @@ -38,24 +42,27 @@ class CpsLoggingAspectServiceSpec extends Specification { mockProceedingJoinPoint.getSignature() >> mockMethodSignature } - def 'Log method execution time.'() { - given: 'mock valid arguments' + def 'Log method execution time for log level : #logLevel.'() { + given: 'mock valid pointcut arguments and set log level to #logLevel' mockProceedingJoinPoint.getArgs() >> 'dataspace-name' - when: 'aop intercepts cps method and start calculation of time' + logger.setLevel(logLevel) + when: 'aop intercepts cps method' objectUnderTest.logMethodExecutionTime(mockProceedingJoinPoint) - then: 'process successfully and log details of executed method' - 1 * mockProceedingJoinPoint.proceed() + then: 'expected number of method execution' + expectedNumberOfMethodExecution * mockMethodSignature.getName() + where: 'the following log levels are used' + logLevel || expectedNumberOfMethodExecution + Level.INFO || 0 + Level.FINE || 1 + Level.FINEST || 1 } - def 'Creating a data validation exception for invalid args.'() { - given: 'a data validation exception is created' - mockProceedingJoinPoint.getArgs() >> { - throw new DataValidationException('invalid args', - 'invalid method arg(s) is passed', new Throwable()) - } + def 'Exception thrown during method execution.'() { + given: 'some exception is created' + mockProceedingJoinPoint.proceed() >> { throw new Exception("some exception") } when: 'aop intercepts cps method and start calculation of time' objectUnderTest.logMethodExecutionTime(mockProceedingJoinPoint) - then: 'data validation exception is thrown' - thrown(DataValidationException.class) + then: 'some exception is thrown' + thrown Exception } } -- cgit 1.2.3-korg