public void TestCall_none()
        {
            BuildConfiguration buildConfiguration =
                MakeFakeBuildConfiguration(
                    new List <CredentialRetriever> {
                Maybe.Empty <Credential>, Maybe.Empty <Credential>
            },
                    new List <CredentialRetriever>());

            Assert.IsNull(
                RetrieveRegistryCredentialsStep.ForBaseImage(
                    buildConfiguration,
                    ProgressEventDispatcher.NewRoot(mockEventHandlers, "ignored", 1).NewChildProducer())
                .Call());

            Mock.Get(mockEventHandlers).Verify(e => e.Dispatch(It.IsAny <ProgressEvent>()), Times.AtLeastOnce);
            Mock.Get(mockEventHandlers).Verify(m => m.Dispatch(LogEvent.Info("No credentials could be retrieved for registry baseregistry")));

            Assert.IsNull(
                RetrieveRegistryCredentialsStep.ForTargetImage(
                    buildConfiguration,
                    ProgressEventDispatcher.NewRoot(mockEventHandlers, "ignored", 1).NewChildProducer())
                .Call());

            Mock.Get(mockEventHandlers).Verify(m => m.Dispatch(LogEvent.Info("No credentials could be retrieved for registry baseregistry")));
        }
        public void TestCall_retrieved()
        {
            BuildConfiguration buildConfiguration =
                MakeFakeBuildConfiguration(
                    new List <CredentialRetriever>
            {
                Maybe.Empty <Credential>,
                () => Maybe.Of(Credential.From("baseusername", "basepassword"))
            },
                    new List <CredentialRetriever>
            {
                () => Maybe.Of(Credential.From("targetusername", "targetpassword")),
                () => Maybe.Of(Credential.From("ignored", "ignored"))
            });

            Assert.AreEqual(
                Credential.From("baseusername", "basepassword"),
                RetrieveRegistryCredentialsStep.ForBaseImage(
                    buildConfiguration,
                    ProgressEventDispatcher.NewRoot(mockEventHandlers, "ignored", 1).NewChildProducer())
                .Call());
            Assert.AreEqual(
                Credential.From("targetusername", "targetpassword"),
                RetrieveRegistryCredentialsStep.ForTargetImage(
                    buildConfiguration,
                    ProgressEventDispatcher.NewRoot(mockEventHandlers, "ignored", 1).NewChildProducer())
                .Call());
        }