public async Task ProcessAsync_AnyAccountsReturnFailureResult_ReturnsFailureResult()
        {
            ExternalAddress externalAddress = new ExternalAddress()
            {
                IPv4Address = IPAddress.Parse("100.100.100.100")
            };

            GoDaddyAccount accountOne = new GoDaddyAccount();
            GoDaddyAccount accountTwo = new GoDaddyAccount();

            GoDaddyConfiguration config = new GoDaddyConfiguration()
            {
                Accounts = new List <GoDaddyAccount>()
                {
                    accountOne, accountTwo
                }
            };
            IOptionsSnapshot <GoDaddyConfiguration> optionsSnapshot = A.Fake <IOptionsSnapshot <GoDaddyConfiguration> >();
            IGoDaddyAccountProcessor accountProcessor = A.Fake <IGoDaddyAccountProcessor>();

            A.CallTo(() => optionsSnapshot.Value).Returns(config);
            A.CallTo(() => accountProcessor.ProcessAsync(accountOne, externalAddress, A <CancellationToken> .Ignored)).Returns(Result.Ok());
            A.CallTo(() => accountProcessor.ProcessAsync(accountTwo, externalAddress, A <CancellationToken> .Ignored)).Returns(Result.Fail("This failed"));

            GoDaddyDDNSService DOService = new GoDaddyDDNSService(accountProcessor, optionsSnapshot);

            Result actual = await DOService.ProcessAsync(externalAddress, new CancellationToken());

            Assert.True(actual.IsFailed);
        }
Exemple #2
0
 public GoDaddyDDNSService(IGoDaddyAccountProcessor accountProcessor, IOptionsSnapshot <GoDaddyConfiguration> configuration)
 {
     _accountProcessor = accountProcessor;
     _configuration    = configuration.Value;
 }