2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.onap.sdc.frontend.ci.tests.execute.setup;
23 import com.aventstack.extentreports.ExtentReports;
24 import com.aventstack.extentreports.ExtentTest;
25 import org.onap.sdc.backend.ci.tests.api.SomeInterface;
27 import java.util.HashMap;
29 public class ExtentTestManager implements SomeInterface {
31 private final HashMap<Long, ExtentTest> extentTestByThreadIdMap = new HashMap<>();
32 private final ExtentReports extent = ExtentManager.getReporter();
33 private static final ExtentTestManager INSTANCE = new ExtentTestManager();
35 private ExtentTestManager() {
39 public static ExtentTestManager getInstance() {
44 public synchronized ExtentTest getTest() {
45 return extentTestByThreadIdMap.get(Thread.currentThread().getId());
48 public synchronized void endTest() {
52 public synchronized ExtentTest startTest(final String testName) {
53 return startTest(testName, "");
56 public synchronized ExtentTest startTest(final String testName, final String desc) {
57 final ExtentTest test = extent.createTest(testName, desc);
58 extentTestByThreadIdMap.put(Thread.currentThread().getId(), test);
63 public synchronized <T> void assignCategory(Class<T> clazz) {
64 String[] parts = clazz.getName().split("\\.");
65 String lastOne1 = parts[parts.length - 1];
66 String lastOne2 = parts[parts.length - 2];
67 extentTestByThreadIdMap.get(Thread.currentThread().getId()).assignCategory(lastOne2 + "-" + lastOne1);