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); }
public GoDaddyDDNSService(IGoDaddyAccountProcessor accountProcessor, IOptionsSnapshot <GoDaddyConfiguration> configuration) { _accountProcessor = accountProcessor; _configuration = configuration.Value; }