Beispiel #1
0
        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")));
        }
Beispiel #2
0
        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")));
        }
Beispiel #3
0
        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")));
        }