/// <summary>
        /// Replaces the current enviroment implementation.
        /// </summary>
        /// <param name="newEnvironment">the new environment implementation to be used</param>
        /// <returns>the previously set environment instance</returns>
        public static IVirtualEnvironment SetInstance(IVirtualEnvironment newEnvironment)
        {
            IVirtualEnvironment prevEnvironment = instance;

            instance = newEnvironment;
            return(prevEnvironment);
        }
Exemple #2
0
 public WslWrapperService(
     [NotNull] IChain <IProcessWrapper> processChain,
     [NotNull] IChain <IEnvironment> envChain,
     [NotNull] IVirtualEnvironment virtualEnvironment,
     [NotNull, Tag(WslScriptWrapper)] IProcessWrapper wslProcessWrapper)
 {
     _processChain       = processChain ?? throw new ArgumentNullException(nameof(processChain));
     _envChain           = envChain ?? throw new ArgumentNullException(nameof(envChain));
     _virtualEnvironment = virtualEnvironment ?? throw new ArgumentNullException(nameof(virtualEnvironment));
     _wslProcessWrapper  = wslProcessWrapper;
 }
Exemple #3
0
 public DockerWrapperService(
     [NotNull] IChain <IProcessWrapper> processChain,
     [NotNull] IChain <IEnvironment> envChain,
     [NotNull] IVirtualEnvironment virtualEnvironment,
     [NotNull, Tag(DockerWrapper)] Func <DockerWrapperInfo, IProcessWrapper> dockerProcessWrapperFactory,
     [NotNull, Tag(CmdScriptWrapper)] IProcessWrapper cmdProcessWrapper,
     [NotNull, Tag(ShScriptWrapper)] IProcessWrapper shProcessWrapper)
 {
     _processChain                = processChain ?? throw new ArgumentNullException(nameof(processChain));
     _envChain                    = envChain ?? throw new ArgumentNullException(nameof(envChain));
     _virtualEnvironment          = virtualEnvironment;
     _dockerProcessWrapperFactory = dockerProcessWrapperFactory ?? throw new ArgumentNullException(nameof(dockerProcessWrapperFactory));
     _cmdProcessWrapper           = cmdProcessWrapper ?? throw new ArgumentNullException(nameof(cmdProcessWrapper));
     _shProcessWrapper            = shProcessWrapper ?? throw new ArgumentNullException(nameof(shProcessWrapper));
 }
        public VirtualEnvironmentMock(string currentVirtualFilePath, string pathInfo, string queryText, string applicationVirtualPath, bool autoInitialize)
        {
            _currentVirtualFilePath = currentVirtualFilePath;
            _currentExecutionFilePath = currentVirtualFilePath;
            _pathInfo = (pathInfo == null || pathInfo.Length == 0) ? "" : "/" + pathInfo.TrimStart('/'); // prevent null string and ensure '/' prefixed
            _query =  new HttpValueCollection(queryText);
            _applicationVirtualPath = "/" + ("" + applicationVirtualPath).Trim('/');
            if (!_applicationVirtualPath.EndsWith("/")) _applicationVirtualPath = _applicationVirtualPath + "/";

//            if (!_currentVirtualFilePath.StartsWith(_applicationVirtualPath))
//            {
//                throw new ArgumentException("currentVirtualFilePath must begin with applicationVirtualPath");
//            }

            _prevEnvironment = VirtualEnvironment.SetInstance(this);
            if (autoInitialize)
            {
                VirtualEnvironment.SetInitialized();
            }
        }
Exemple #5
0
        public VirtualEnvironmentMock(string currentVirtualFilePath, string pathInfo, string queryText, string applicationVirtualPath, bool autoInitialize)
        {
            _currentVirtualFilePath   = currentVirtualFilePath;
            _currentExecutionFilePath = currentVirtualFilePath;
            _pathInfo = (pathInfo == null || pathInfo.Length == 0) ? "" : "/" + pathInfo.TrimStart('/'); // prevent null string and ensure '/' prefixed
            _query    = new HttpValueCollection(queryText);
            _applicationVirtualPath = "/" + ("" + applicationVirtualPath).Trim('/');
            if (!_applicationVirtualPath.EndsWith("/"))
            {
                _applicationVirtualPath = _applicationVirtualPath + "/";
            }

//            if (!_currentVirtualFilePath.StartsWith(_applicationVirtualPath))
//            {
//                throw new ArgumentException("currentVirtualFilePath must begin with applicationVirtualPath");
//            }

            _prevEnvironment = VirtualEnvironment.SetInstance(this);
            if (autoInitialize)
            {
                VirtualEnvironment.SetInitialized();
            }
        }
 /// <summary>
 /// Replaces the current enviroment implementation.
 /// </summary>
 /// <param name="newEnvironment">the new environment implementation to be used</param>
 /// <returns>the previously set environment instance</returns>
 public static IVirtualEnvironment SetInstance(IVirtualEnvironment newEnvironment)
 {
     IVirtualEnvironment prevEnvironment = instance;
     instance = newEnvironment;
     return prevEnvironment;
 }