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); }
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); }
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);