public void ShouldWrap(
            string envVars,
            string expectedEnvFile,
            string expectedArgs)
        {
            // Given
            var provider    = CreateInstance();
            var wrapperInfo = new DockerWrapperInfo(
                "mcr.microsoft.com/windows/servercore",
                Enumerable.Empty <DockerVolume>(),
                Enumerable.Empty <CommandLineArgument>(),
                (Enumerable <EnvironmentVariable>)envVars,
                OperatingSystem.Windows,
                true,
                DockerPullType.Missing);

            var processInfo = ProcessInfoExtensions.Create();

            // When
            var actualArgs = string.Join(" ",
                                         provider.GetArguments(wrapperInfo, processInfo).Select(i => i.Value));

            // Then
            actualArgs.ShouldBe(expectedArgs);
            _fileContent.TryGetValue("abc_env.list", out var actualEnvFile);
            actualEnvFile.ShouldBe(expectedEnvFile);
        }
Beispiel #2
0
        public void ShouldAddDockerWrapperToChain(OperatingSystem operatingSystem)
        {
            // Given
            DockerImage dockerImage = "mcr.microsoft.com/windows/servercore";
            var         wrapperInfo = new DockerWrapperInfo(
                dockerImage,
                Enumerable.Empty <DockerVolume>(),
                Enumerable.Empty <CommandLineArgument>(),
                Enumerable.Empty <EnvironmentVariable>(),
                operatingSystem,
                true,
                DockerPullType.Missing);

            var wrapper = CreateInstance();

            // When
            using (wrapper.Using(wrapperInfo))
            {
                // Then
                _virtualEnvironment.Verify(i => i.Set(operatingSystem));
                _envChain.Verify(i => i.Append(_virtualEnvironment.Object));
                _processChain.Verify(i => i.Append(_dockerProcessWrapper.Object));
                if (operatingSystem == OperatingSystem.Windows)
                {
                    _processChain.Verify(i => i.Append(_cmdProcessWrapper.Object));
                }
                else
                {
                    _processChain.Verify(i => i.Append(_shProcessWrapper.Object));
                }
            }
        }
        internal void ShouldGetArguments(DockerWrapperInfo wrapperInfo, ProcessInfo processInfo, CommandLineArgument[] expectedArgs)
        {
            // Given
            var provider = CreateInstance();

            // When
            var actualArgs = provider.GetArguments(wrapperInfo, processInfo).ToArray();

            // Then
            actualArgs.ShouldBe(expectedArgs);
        }
Beispiel #4
0
        internal void ShouldGetArguments(DockerWrapperInfo wrapperInfo, ProcessInfo processInfo, CommandLineArgument[] expectedArgs)
        {
            // Given
            var provider = CreateInstance();

            _dockerEnvironmentArgumentsProvider.Setup(i => i.GetArguments(wrapperInfo, processInfo)).Returns(new[] { EnvArg });
            _dockerVolumesArgumentsProvider.Setup(i => i.GetArguments(wrapperInfo, processInfo)).Returns(new[] { VolArg });

            // When
            var actualArgs = provider.GetArguments(wrapperInfo, processInfo).ToArray();

            // Then
            actualArgs.ShouldBe(expectedArgs);
        }
 private DockerProcessWrapper CreateInstance(DockerWrapperInfo wrapperInfo) =>
 new DockerProcessWrapper(_dockerArgumentsProvider.Object, wrapperInfo);