public ProtoacmeClient(IAcmeRestApi acmeApi) { _acmeApi = acmeApi; _directoryCache = new CachedRepository <AcmeDirectory>(GetDirectory); _nonceCache = new CachedRepository <string>(GetNewNonce); _accountService = new AcmeAccountService(_acmeApi, _directoryCache, _nonceCache); _certificateService = new AcmeCertificateService(_acmeApi, _directoryCache, _nonceCache); _challengeService = new AcmeChallengeService(_acmeApi, _directoryCache, _nonceCache); }
public async Task CreateAccount_ShouldReturnExpectedNewAccount() { //ARRANGE var acmeApiMock = new Mock <IAcmeRestApi>(); var directoryCacheMock = new Mock <ICachedRepository <AcmeDirectory> >(); var nonceCacheMock = new Mock <ICachedRepository <string> >(); AcmeCreateAccount inputAccount = TestHelpers.CreateAccount; AcmeApiResponse <AcmeAccount> accountResponse = TestHelpers.AcmeAccountResponse; acmeApiMock.Setup(method => method.CreateAccountAsync(It.IsAny <AcmeDirectory>(), It.IsAny <string>(), It.IsAny <AcmeCreateAccount>())) .ReturnsAsync(accountResponse); AcmeAccountService srv = new AcmeAccountService(acmeApiMock.Object, directoryCacheMock.Object, nonceCacheMock.Object); //ACT var expected = await srv.CreateAsync(inputAccount); //ASSERT expected.ShouldBe(accountResponse.Data); }
public async Task ChangeKey_ShouldUpdateLastNonce() { //ARRANGE var acmeApiMock = new Mock <IAcmeRestApi>(); var directoryCacheMock = new Mock <ICachedRepository <AcmeDirectory> >(); var nonceCacheMock = new Mock <ICachedRepository <string> >(); AcmeApiResponse successResponse = TestHelpers.AcmeEmptyResponseWithNonce; AcmeAccount account = TestHelpers.AcmeAccountResponse.Data; acmeApiMock.Setup(method => method.RollOverAccountKeyAsync(It.IsAny <AcmeDirectory>(), It.IsAny <string>(), It.IsAny <AcmeAccount>())) .ReturnsAsync(successResponse); AcmeAccountService srv = new AcmeAccountService(acmeApiMock.Object, directoryCacheMock.Object, nonceCacheMock.Object); //ACT await srv.ChangeKeyAsync(account); //ASSERT nonceCacheMock.Verify(method => method.Update(successResponse.Nonce), Times.Once()); }
public async Task CreateAccount_ShouldUpdateLastNonce() { //ARRANGE var acmeApiMock = new Mock <IAcmeRestApi>(); var directoryCacheMock = new Mock <ICachedRepository <AcmeDirectory> >(); var nonceCacheMock = new Mock <ICachedRepository <string> >(); AcmeCreateAccount inputAccount = TestHelpers.CreateAccount; AcmeApiResponse <AcmeAccount> accountResponse = TestHelpers.AcmeAccountResponse; acmeApiMock.Setup(method => method.CreateAccountAsync(It.IsAny <AcmeDirectory>(), It.IsAny <string>(), It.IsAny <AcmeCreateAccount>())) .ReturnsAsync(accountResponse); AcmeAccountService srv = new AcmeAccountService(acmeApiMock.Object, directoryCacheMock.Object, nonceCacheMock.Object); //ACT await srv.CreateAsync(inputAccount); //ASSERT nonceCacheMock.Verify(method => method.Update(accountResponse.Nonce), Times.Once()); }