public void ShouldReturn200ForPriority()
            {
                // arrange
                var provider = new EnvironmentDockerClientProvider(NullLogger <EnvironmentDockerClientProvider> .Instance);

                // act
                var result = provider.GetPriority();

                // assert
                Assert.Equal(200, result);
            }
            public async Task ShouldReturnFalseIfDockerHostNotSet()
            {
                // arrange
                Environment.SetEnvironmentVariable(EnvironmentDockerClientProvider.DockerHostEnvironmentVariable, "");
                var provider = new EnvironmentDockerClientProvider(NullLogger <EnvironmentDockerClientProvider> .Instance);

                // act
                var result = await provider.TryTest();

                // assert
                Assert.False(result);
            }
            public void ShouldReturnFalseIfEnvironmentVariableIsNotSet()
            {
                // arrange
                Environment.SetEnvironmentVariable(EnvironmentDockerClientProvider.DockerHostEnvironmentVariable, "");
                var provider = new EnvironmentDockerClientProvider(NullLogger <EnvironmentDockerClientProvider> .Instance);

                // act
                var result = provider.IsApplicable;

                // assert
                Assert.False(result);
            }
            public void ShouldReturnTrueIfEnvironmentIsSetAndHostStartsWithTcp()
            {
                // arrange
                Environment.SetEnvironmentVariable(EnvironmentDockerClientProvider.DockerHostEnvironmentVariable,
                                                   "tcp://my host");
                var provider = new EnvironmentDockerClientProvider(NullLogger <EnvironmentDockerClientProvider> .Instance);

                // act
                var result = provider.IsApplicable;

                // assert
                Assert.True(result);
            }
            public void ShouldReturnTrueIfEnvironmentIsSetAndOsIsLinux()
            {
                // arrange
                Environment.SetEnvironmentVariable(EnvironmentDockerClientProvider.DockerHostEnvironmentVariable,
                                                   "my host");
                var provider = new EnvironmentDockerClientProvider(NullLogger <EnvironmentDockerClientProvider> .Instance);

                // act
                var result = provider.IsApplicable;

                // assert
                Assert.Equal(RuntimeInformation.IsOSPlatform(OSPlatform.Linux), result);
            }
            public void ShouldReturnConfigurationWithDockerHost()
            {
                // arrange
                const string mockDockerHostUri = "tcp://my-mock-docker-host";

                Environment.SetEnvironmentVariable(EnvironmentDockerClientProvider.DockerHostEnvironmentVariable,
                                                   mockDockerHostUri);
                var provider = new EnvironmentDockerClientProvider(NullLogger <EnvironmentDockerClientProvider> .Instance);

                // act
                var result = provider.GetConfiguration();

                // assert
                Assert.Equal(new Uri(mockDockerHostUri), result.EndpointBaseUri);
            }
            public async Task ShouldReturnFalseIfDockerDoesNotExistAtDockerHost()
            {
                // arrange
                const string mockDockerHostUri = "tcp://my-mock-docker-host";

                Environment.SetEnvironmentVariable(EnvironmentDockerClientProvider.DockerHostEnvironmentVariable,
                                                   mockDockerHostUri);
                var provider = new EnvironmentDockerClientProvider(NullLogger <EnvironmentDockerClientProvider> .Instance);

                // act
                var result = await provider.TryTest();

                // assert
                Assert.False(result);
            }