internal async Task StartAsync() { if (ResourceSettings.Type == ComposableResourceType.Container) { var builder = ContainerResourceBuilder.New(); ResourceSettings.ContainerOptions.Configure(builder); BuildResourceInstance(); Resource.SetEnvironmentVariables(EnvironmentVariables.ToList()); await Resource.InitializeAsync(); Exports = Resource.GetComposeExports(); } }
public async Task WaitAsync_NotReady_Throws() { //act Mock <IDockerContainerManager> managerMock = ArrangeContainerManagerMock(); var initilizer = new ContainerInitializer( managerMock.Object, ContainerResourceBuilder.New() .WaitTimeout(3) .Build()); // act Func <Task> action = async() => await initilizer.WaitAsync(new NotReadyStatusProvider()); // assert await action.Should().ThrowAsync <InvalidOperationException>(); }
public async Task WaitAsync_Ready_IsReady() { //act Mock <IDockerContainerManager> managerMock = ArrangeContainerManagerMock(); var initilizer = new ContainerInitializer( managerMock.Object, ContainerResourceBuilder.New() .WaitTimeout(7) .Build()); // act Status result = await initilizer.WaitAsync(new OneThrowStatusProvider()); // assert result.IsReady.Should().BeTrue(); }
/// <summary> /// Initializes the resources /// </summary> public async virtual Task InitializeAsync() { ResourceOptions = new TOptions(); var builder = ContainerResourceBuilder.New(); ResourceOptions.Configure(builder); Settings = builder.Build(); SetComposeVariables(); OnSettingsBuilded(Settings); ValidateSettings(Settings); DockerConfiguration dockerConfig = Settings.DockerConfigResolver(); Manager = new DockerContainerManager(Settings, dockerConfig); Initializer = new ContainerInitializer(Manager, Settings); await Manager.CreateAndStartContainerAsync(); }
public async Task WaitAsync_Ready_IsReadyAndConsumeLogsCalledOnce() { //act Mock <IDockerContainerManager> managerMock = ArrangeContainerManagerMock(); var initilizer = new ContainerInitializer( managerMock.Object, ContainerResourceBuilder.New() .WaitTimeout(7) .Build()); // act Status result = await initilizer.WaitAsync(new OneThrowStatusProvider()); // assert result.IsReady.Should().BeTrue(); managerMock.Verify(m => m.ConsumeLogsAsync(It.IsAny <TimeSpan>()), Times.Once); }
internal async Task StartAsync() { if (ResourceSettings.Type == ComposableResourceType.Container) { var builder = ContainerResourceBuilder.New(); ResourceSettings.ContainerOptions.Configure(builder); BuildResourceInstance(); Resource.SetEnvironmentVariables(EnvironmentVariables.ToList()); // Give over the networks if resource is not generic if (!IsResourceGenericType()) { IList <string> networks = builder.Build().Networks; Resource.SetNetworks(networks); } await Resource.InitializeAsync(); Exports = Resource.GetComposeExports(); } }