All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.slickqa.junit.testrunner.run.TestInformationCollectingExtension Maven / Gradle / Ivy

package com.slickqa.junit.testrunner.run;

import com.slickqa.junit.testrunner.output.TestcaseInfo;
import org.junit.jupiter.api.extension.BeforeTestExecutionCallback;
import org.junit.jupiter.api.extension.ExtensionContext;

import java.util.*;

public class TestInformationCollectingExtension implements BeforeTestExecutionCallback {
    public static final String SESSION_ID_CONFIGURATION_NAME = "com.slickqa.junit.testrunner.run.TestInformationCollectingExtension";

    private static Map> sessions = new HashMap<>();

    public static String createSession() {
        String sessionId = UUID.randomUUID().toString();
        sessions.put(sessionId, Collections.synchronizedList(new ArrayList()));
        return sessionId;
    }

    public static List getTestsFromSession(String id) {
        return sessions.get(id);
    }

    @Override
    public void beforeTestExecution(ExtensionContext context) throws Exception {
        if(context != null) {
            if(context.getConfigurationParameter(SESSION_ID_CONFIGURATION_NAME).isPresent()) {
                getTestsFromSession(context.getConfigurationParameter(SESSION_ID_CONFIGURATION_NAME).get()).add(TestcaseInfo.fromContext(context));
                throw new InterruptedTestExecutionException();
            }
        }
    }
}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy