public void Authenticate_Success() { var vaultClientUriFake = A.Fake <IVaultClientUri>(); var vaultHttpFake = A.Fake <IVaultHttpClient>(); A.CallTo(() => vaultClientUriFake.ServiceClient).Returns(vaultHttpFake); A.CallTo(() => vaultHttpFake.Post <AppIdLogin, AppIdLoginResult>("v1/auth/app-id/login/app1234", A <AppIdLogin> ._)) .Returns(new AppIdLoginResult { Auth = new Auth { ClientToken = "token1234" } }); var auth = new VaultAppIdAuth("app1234", "user1234"); // Act auth.Authenticate(vaultClientUriFake); // Assert auth.AuthToken.Should().Be("token1234"); A.CallTo(() => vaultClientUriFake.ServiceClient) .MustHaveHappened(); A.CallTo(() => vaultHttpFake.Post <AppIdLogin, AppIdLoginResult>("v1/auth/app-id/login/app1234", A <AppIdLogin> .That.Matches(x => x.UserId == "user1234"))) .MustHaveHappened(); }
public void Authenticate_VaultUriServiceClient_ThrowsException() { // Arrange var vaultClientUriFake = A.Fake <IVaultClientUri>(); A.CallTo(() => vaultClientUriFake.ServiceClient).Throws <WebException>(); var auth = new VaultAppIdAuth("app1234", "user1234"); // Act Action authenticate = () => auth.Authenticate(vaultClientUriFake); // Assert authenticate.ShouldThrow <WebException>(); }