Package com.ibm.sbt.test.lib

Source Code of com.ibm.sbt.test.lib.TestEnvironment

package com.ibm.sbt.test.lib;

import com.ibm.commons.runtime.Context;
import com.ibm.commons.runtime.RuntimeFactory;

public class TestEnvironment {

  private final static String CONNECTIONS = "connections";
  private final static String SMARTCLOUD = "smartcloud";
  private final static String CURRENT_USER = "user";
  private final static String OTHER_USER = "otheruser";
  private final static String THIRD_USER = "thirduser";
  private final static String CURRENT_USER_MAIL = "mail";
  private final static String OTHER_USER_MAIL = "othermail";
  private final static String CURRENT_USER_PASSWORD = "password";
  private final static String OTHER_USER_PASSWORD = "otherpassword";
  private final static String CURRENT_USER_LOGIN = "username";
  private final static String OTHER_USER_LOGIN = "othername";

  private final static String CURRENT_USER_DISPLAYNAME = "userDisplayName";
  private final static String OTHER_USER_DISPLAYNAME = "otherDisplayName";

  private static boolean requiresAuthentication;
  private static boolean enableSmartcloud = System.getProperty(
      "testEnvironment", System.getProperty("environment","connections")).equals("smartcloud");
  private static String mockMode;
  private static final TestEnvironment instance = new TestEnvironment();

  protected TestEnvironment() {
    selectEnvironment();
  }

  private static void selectEnvironment() {
    mockMode = System.getProperty("testMode", "pass");
    String environment = enableSmartcloud ? "smartcloud" : "connections";
    String parsed = null;
    if (mockMode.equalsIgnoreCase("pass")) {
      parsed = "Passthrough";
    }
    if (mockMode.equalsIgnoreCase("mock")) {
      parsed = "Mocking";
    }
    if (mockMode.equalsIgnoreCase("record")) {
      parsed = "Recording";
    }
    if (parsed == null)
      throw new MockingException(null, "Unrecognized mode " + mockMode
          + " use one of [pass, mocked, record]");

    System.setProperty("environment", environment + parsed + "Environment");
  }

  public TestEnvironment get() {
    return instance;
  }

  public static void enableSmartCloud(boolean b) {
    enableSmartcloud = b;
    selectEnvironment();
  }

  public static void setRequiresAuthentication(boolean b) {
    requiresAuthentication = b;
  }

  public static boolean getRequiresAuthentication() {
    return requiresAuthentication;
  }

  private static String getPropertyBasePath() {
    if (isSmartCloudEnvironment()) {
      return SMARTCLOUD + ".";
    }
    return CONNECTIONS + ".";
  }

  public static boolean isSmartCloudEnvironment() {
    return enableSmartcloud;
  }

  public static boolean isMockMode() {
    return mockMode.equalsIgnoreCase("mock");
  }

  public static String getSecondaryUserEmail() {
    return Context.get().getProperty(
        getPropertyBasePath() + OTHER_USER_MAIL);
  }

  public static String getCurrentUserEmail() {
    return Context.get().getProperty(
        getPropertyBasePath() + CURRENT_USER_MAIL);
  }

  public static String getSecondaryUserUuid() {
    return Context.get().getProperty(getPropertyBasePath() + OTHER_USER);
  }

  public static String getCurrentUserUuid() {
    return Context.get().getProperty(getPropertyBasePath() + CURRENT_USER);
  }
 
  public static String getThirdUserUuid() {
    return Context.get().getProperty(getPropertyBasePath() + THIRD_USER);
  }

  public static String getSecondaryUserPassword() {
    return Context.get().getProperty(
        getPropertyBasePath() + OTHER_USER_PASSWORD);
  }

  public static String getCurrentUserPassword() {
    return Context.get().getProperty(
        getPropertyBasePath() + CURRENT_USER_PASSWORD);
  }

  public static String getSecondaryUsername() {
    return Context.get().getProperty(
        getPropertyBasePath() + OTHER_USER_LOGIN);
  }

  public static String getCurrentUsername() {
    return Context.get().getProperty(
        getPropertyBasePath() + CURRENT_USER_LOGIN);
  }

  public static String getCurrentUserDisplayName() {
    return Context.get().getProperty(
        getPropertyBasePath() + CURRENT_USER_DISPLAYNAME);
  }

  public static String getSecondaryUserDisplayName() {
    return Context.get().getProperty(
        getPropertyBasePath() + OTHER_USER_DISPLAYNAME);
  }

  public static String getEnvironmentProperty(String name) {
    return Context.get().getProperty(
        getPropertyBasePath() + name);
  }

    public static String getProperty(String p) {
        Context ctx = RuntimeFactory.get().getContextUnchecked();
        return System.getProperty(p, ctx != null? Context.get().getProperty(p) : null);
    }

}
TOP

Related Classes of com.ibm.sbt.test.lib.TestEnvironment

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.