public void TestDockerConfig() { CredentialRetrieverFactory credentialRetrieverFactory = CredentialRetrieverFactory.ForImage( ImageReference.Of("registry", "repository", null), mockLogger); Mock.Get(mockDockerConfigCredentialRetriever).Setup(m => m.Retrieve(mockLogger)).Returns(Maybe.Of(fakeCredentials)); Assert.AreEqual( fakeCredentials, credentialRetrieverFactory .DockerConfig(mockDockerConfigCredentialRetriever) .Retrieve() .OrElseThrow(() => new AssertionException(""))); Mock.Get(mockLogger).Verify(m => m(LogEvent.Info("Using credentials from Docker config for registry"))); }
public void TestDockerCredentialHelper() { CredentialRetrieverFactory credentialRetrieverFactory = new CredentialRetrieverFactory( ImageReference.Of("registry", "repository", null), mockLogger, GetTestFactory( "registry", Paths.Get("docker-credential-helper"), mockDockerCredentialHelper)); Assert.AreEqual( fakeCredentials, credentialRetrieverFactory .DockerCredentialHelper(Paths.Get("docker-credential-helper")) .Retrieve() .OrElseThrow(() => new AssertionException(""))); Mock.Get(mockLogger).Verify(m => m(LogEvent.Info("Using docker-credential-helper for registry"))); }
public void TestInferCredentialHelper_info() { CredentialRetrieverFactory credentialRetrieverFactory = new CredentialRetrieverFactory( ImageReference.Of("something.amazonaws.com", "repository", null), mockLogger, GetTestFactory( "something.amazonaws.com", Paths.Get("docker-credential-ecr-login"), mockNonexistentDockerCredentialHelper)); Mock.Get(mockNonexistentDockerCredentialHelper) .Setup(m => m.Retrieve()) .Throws(new CredentialHelperNotFoundException("warning", new IOException("the root cause"))); Assert.IsFalse(credentialRetrieverFactory.InferCredentialHelper().Retrieve().IsPresent()); Mock.Get(mockLogger).Verify(m => m(LogEvent.Info("warning"))); Mock.Get(mockLogger).Verify(m => m(LogEvent.Info(" Caused by: the root cause"))); }