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

io.keploy.regression.Mode Maven / Gradle / Ivy

There is a newer version: 1.4.7
Show newest version

package io.keploy.regression;

import io.keploy.regression.context.Context;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

/**
 * Class for Keploy Mode
 */
public class Mode {

    private static final Logger logger = LogManager.getLogger(io.keploy.regression.Mode.class);

    private static ModeType modeType;

    public Mode() {

    }

    public Mode(ModeType mode) {
        modeType = mode;
    }

    public static ModeType getMode() {
        return modeType;
    }

    public static void setMode(ModeType mode) {
        if (!isValid(mode)) {
            return;
        }
        modeType = mode;
    }

    public static boolean isValid(ModeType mode) {
        return mode == ModeType.MODE_RECORD || mode == ModeType.MODE_TEST || mode == ModeType.MODE_OFF;
    }

    public static void setTestMode() {
        setMode(ModeType.MODE_TEST);
    }

    public enum ModeType {
        MODE_RECORD("record"),
        MODE_TEST("test"),
        MODE_OFF("off");

        public final String value;

        ModeType(String val) {
            this.value = val;
        }

        public ModeType getModeFromContext() {
            if (Context.getCtx() == null) {
                logger.error("failed to get keploy context");
                return ModeType.MODE_OFF;
            }
            return Context.getCtx().getMode();
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy