public async Task EnsuresArgumentsNotNull() { var client = Substitute.For<IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); await Assert.ThrowsAsync<ArgumentNullException>(() => authEndpoint.GetAll(null)); }
public async Task EnsuresArgumentsNotNull() { var client = Substitute.For <IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); await Assert.ThrowsAsync <ArgumentNullException>(() => authEndpoint.GetAll(null)); }
public void GetsAListOfAuthorizations() { var client = Substitute.For <IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); authEndpoint.GetAll(); client.Received().GetAll <Authorization>(Arg.Is <Uri>(u => u.ToString() == "authorizations")); }
public void GetsAnAuthorization() { var client = Substitute.For <IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); authEndpoint.Get(1); client.Received().Get <Authorization>(Arg.Is <Uri>(u => u.ToString() == "authorizations/1"), null); }
public void GetsAnAuthorization() { var client = Substitute.For<IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); authEndpoint.Get(1); client.Received().Get<Authorization>(Arg.Is<Uri>(u => u.ToString() == "authorizations/1"), null); }
public void DeletesCorrectUrl() { var client = Substitute.For<IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); authEndpoint.Delete(1); client.Received().Delete(Arg.Is<Uri>(u => u.ToString() == "authorizations/1")); }
public void DeletesCorrectUrl() { var client = Substitute.For <IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); authEndpoint.Delete(1); client.Received().Delete(Arg.Is <Uri>(u => u.ToString() == "authorizations/1")); }
public async Task EnsuresArgumentsNotNull() { var client = Substitute.For <IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); await AssertEx.Throws <ArgumentNullException>(async() => await authEndpoint.RevokeAllApplicationAuthentications(null)); await AssertEx.Throws <ArgumentException>(async() => await authEndpoint.RevokeAllApplicationAuthentications("")); }
public void GetsAListOfAuthorizations() { var client = Substitute.For<IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); authEndpoint.GetAll(); client.Received().GetAll<Authorization>(Arg.Is<Uri>(u => u.ToString() == "authorizations")); }
public void SendsCreateToCorrectUrl() { var client = Substitute.For <IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); authEndpoint.Create(new NewAuthorization()); client.Received().Post <Authorization>(Arg.Is <Uri>(u => u.ToString() == "authorizations") , Args.NewAuthorization); }
public void SendsUpdateToCorrectUrl() { var client = Substitute.For<IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); authEndpoint.Update(1, new AuthorizationUpdate()); client.Received().Patch<Authorization>(Arg.Is<Uri>(u => u.ToString() == "authorizations/1"), Args.AuthorizationUpdate); }
public async Task RevokesAllApplicationAuthenticationsAtCorrectUrl() { var client = Substitute.For <IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); authEndpoint.RevokeAllApplicationAuthentications("clientId"); client.Received().Delete( Arg.Is <Uri>(u => u.ToString() == "applications/clientId/tokens")); }
public void SendsCreateToCorrectUrl() { var client = Substitute.For<IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); authEndpoint.Create(new NewAuthorization()); client.Received().Post<Authorization>(Arg.Is<Uri>(u => u.ToString() == "authorizations") , Args.NewAuthorization); }
public void SendsUpdateToCorrectUrl() { var client = Substitute.For <IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); authEndpoint.Update(1, new AuthorizationUpdate()); client.Received().Patch <Authorization>(Arg.Is <Uri>(u => u.ToString() == "authorizations/1"), Args.AuthorizationUpdate); }
public void GetsOrCreatesAuthenticationAtCorrectUrl() { var data = new NewAuthorization(); var client = Substitute.For <IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); authEndpoint.GetOrCreateApplicationAuthentication("clientId", "secret", data); client.Received().Put <ApplicationAuthorization>(Arg.Is <Uri>(u => u.ToString() == "authorizations/clients/clientId"), Args.Object); }
public void RequestsCorrectUrl() { var client = Substitute.For <IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); authEndpoint.GetAll(); client.Received().GetAll <Authorization>( Arg.Is <Uri>(u => u.ToString() == "authorizations"), Args.ApiOptions); }
public async Task ResetsApplicationAuthenticationAtCorrectUrl() { var client = Substitute.For <IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); authEndpoint.ResetApplicationAuthentication("clientId", "accessToken"); client.Received().Post <ApplicationAuthorization>( Arg.Is <Uri>(u => u.ToString() == "applications/clientId/tokens/accessToken"), Args.Object); }
public void RequestsCorrectUrl() { var client = Substitute.For<IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); authEndpoint.GetAll(); client.Received().GetAll<Authorization>( Arg.Is<Uri>(u => u.ToString() == "authorizations"), Args.ApiOptions); }
public async Task RevokesApplicationAuthenticationAtCorrectUrl() { var client = Substitute.For <IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); authEndpoint.RevokeApplicationAuthentication("clientId", "accessToken"); client.Received().Delete( Arg.Is <Uri>(u => u.ToString() == "applications/clientId/token"), Arg.Is <Object>(o => o.GetType().GetProperty("access_token").GetValue(o).ToString() == "accessToken")); }
public async Task WrapsTwoFactorFailureWithTwoFactorException() { var data = new NewAuthorization(); var client = Substitute.For <IApiConnection>(); client.Put <ApplicationAuthorization>(Args.Uri, Args.Object, Args.String) .ThrowsAsync <ApplicationAuthorization>(new AuthorizationException(CreateResponse(HttpStatusCode.Unauthorized))); var authEndpoint = new AuthorizationsClient(client); await Assert.ThrowsAsync <TwoFactorChallengeFailedException>(() => authEndpoint.GetOrCreateApplicationAuthentication("clientId", "secret", data, "authenticationCode")); }
public async Task ChecksApplicationAuthenticateAtCorrectUrl() { var client = Substitute.For <IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); authEndpoint.CheckApplicationAuthentication("clientId", "accessToken"); client.Received().Get <ApplicationAuthorization>( Arg.Is <Uri>(u => u.ToString() == "applications/clientId/tokens/accessToken"), null, Arg.Any <string>()); }
public async Task ResetsApplicationAuthenticationAtCorrectUrl() { var client = Substitute.For <IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); authEndpoint.ResetApplicationAuthentication("clientId", "accessToken"); client.Received().Patch <ApplicationAuthorization>( Arg.Is <Uri>(u => u.ToString() == "applications/clientId/token"), Arg.Is <Object>(o => o.GetType().GetProperty("access_token").GetValue(o).ToString() == "accessToken"), "application/vnd.github.doctor-strange-preview+json"); }
public async Task EnsuresArgumentsNotNull() { var client = Substitute.For <IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); await Assert.ThrowsAsync <ArgumentNullException>(() => authEndpoint.RevokeApplicationAuthentication(null, "accessToken")); await Assert.ThrowsAsync <ArgumentException>(() => authEndpoint.RevokeApplicationAuthentication("", "accessToken")); await Assert.ThrowsAsync <ArgumentNullException>(() => authEndpoint.RevokeApplicationAuthentication("clientId", null)); await Assert.ThrowsAsync <ArgumentException>(() => authEndpoint.RevokeApplicationAuthentication("clientId", "")); }
public void GetsOrCreatesAuthenticationAtCorrectUrlUsingTwoFactor() { var data = new NewAuthorization(); var client = Substitute.For <IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); authEndpoint.GetOrCreateApplicationAuthentication("clientId", "secret", data, "two-factor"); client.Received().Put <ApplicationAuthorization>( Arg.Is <Uri>(u => u.ToString() == "authorizations/clients/clientId"), Arg.Is <Object>(o => o.GetType().GetProperty("client_secret").GetValue(o).ToString() == "secret"), "two-factor"); }
public async Task GetsOrCreatesAuthenticationWithFingerprintAtCorrectUrl() { var data = new NewAuthorization { Fingerprint = "ha-ha-fingerprint" }; var client = Substitute.For <IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); authEndpoint.GetOrCreateApplicationAuthentication("clientId", "secret", data); client.Received().Put <ApplicationAuthorization>(Arg.Is <Uri>(u => u.ToString() == "authorizations/clients/clientId/ha-ha-fingerprint"), Args.Object, Args.String, Args.String); // NOTE: preview API }
public void RequestsCorrectUrlWithApiOptions() { var client = Substitute.For <IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); var options = new ApiOptions { StartPage = 1, PageSize = 1, PageCount = 1 }; authEndpoint.GetAll(options); client.Received().GetAll <Authorization>( Arg.Is <Uri>(u => u.ToString() == "authorizations"), options); }
public void RequestsCorrectUrlWithApiOptions() { var client = Substitute.For<IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); var options = new ApiOptions { StartPage = 1, PageSize = 1, PageCount = 1 }; authEndpoint.GetAll(options); client.Received().GetAll<Authorization>( Arg.Is<Uri>(u => u.ToString() == "authorizations"), options); }
public async Task WrapsTwoFactorFailureWithTwoFactorException() { var data = new NewAuthorization(); var client = Substitute.For <IApiConnection>(); client.Put <Authorization>(Args.Uri, Args.Object, Args.String) .Returns(_ => { throw new AuthorizationException( new ApiResponse <object> { StatusCode = HttpStatusCode.Unauthorized }); }); var authEndpoint = new AuthorizationsClient(client); AssertEx.Throws <TwoFactorChallengeFailedException>(async() => await authEndpoint.GetOrCreateApplicationAuthentication("clientId", "secret", data)); }
public async Task GetsOrCreatesAuthenticationWithFingerprintAtCorrectUrl() { var data = new NewAuthorization { Fingerprint = "ha-ha-fingerprint" }; var client = Substitute.For <IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); Uri calledUri = null; dynamic calledBody = null; client.Put <ApplicationAuthorization>(Arg.Do <Uri>(u => calledUri = u), Arg.Do <object>(body => calledBody = body)); authEndpoint.GetOrCreateApplicationAuthentication("clientId", "secret", data); Assert.NotNull(calledUri); Assert.Equal(calledUri.ToString(), "authorizations/clients/clientId"); Assert.NotNull(calledBody); Assert.Equal(calledBody.fingerprint, "ha-ha-fingerprint"); }
public async Task GetsOrCreatesAuthenticationWithFingerprintAtCorrectUrl() { var data = new NewAuthorization { Fingerprint = "ha-ha-fingerprint" }; var client = Substitute.For <IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); Uri calledUri = null; dynamic calledBody = null; client.Put <ApplicationAuthorization>(Arg.Do <Uri>(u => calledUri = u), Arg.Do <dynamic>(body => calledBody = body)); authEndpoint.GetOrCreateApplicationAuthentication("clientId", "secret", data); Assert.NotNull(calledUri); Assert.Equal(calledUri.ToString(), "authorizations/clients/clientId"); Assert.NotNull(calledBody); var fingerprintProperty = ((IEnumerable <PropertyInfo>)calledBody.GetType().DeclaredProperties).FirstOrDefault(x => x.Name == "fingerprint"); Assert.NotNull(fingerprintProperty); Assert.Equal(fingerprintProperty.GetValue(calledBody), "ha-ha-fingerprint"); }
public async Task RevokesAllApplicationAuthenticationsAtCorrectUrl() { var client = Substitute.For<IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); authEndpoint.RevokeAllApplicationAuthentications("clientId"); client.Received().Delete( Arg.Is<Uri>(u => u.ToString() == "applications/clientId/tokens")); }
public async Task EnsuresArgumentsNotNull() { var client = Substitute.For<IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); await Assert.ThrowsAsync<ArgumentNullException>(() => authEndpoint.RevokeApplicationAuthentication(null, "accessToken")); await Assert.ThrowsAsync<ArgumentException>(() => authEndpoint.RevokeApplicationAuthentication("", "accessToken")); await Assert.ThrowsAsync<ArgumentNullException>(() => authEndpoint.RevokeApplicationAuthentication("clientId", null)); await Assert.ThrowsAsync<ArgumentException>(() => authEndpoint.RevokeApplicationAuthentication("clientId", "")); }
public async Task ResetsApplicationAuthenticationAtCorrectUrl() { var client = Substitute.For<IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); authEndpoint.ResetApplicationAuthentication("clientId", "accessToken"); client.Received().Post<ApplicationAuthorization>( Arg.Is<Uri>(u => u.ToString() == "applications/clientId/tokens/accessToken"), Args.Object); }
public async Task GetsOrCreatesAuthenticationWithFingerprintAtCorrectUrl() { var data = new NewAuthorization { Fingerprint = "ha-ha-fingerprint" }; var client = Substitute.For<IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); Uri calledUri = null; dynamic calledBody = null; client.Put<ApplicationAuthorization>(Arg.Do<Uri>(u => calledUri = u), Arg.Do<object>(body => calledBody = body)); authEndpoint.GetOrCreateApplicationAuthentication("clientId", "secret", data); Assert.NotNull(calledUri); Assert.Equal(calledUri.ToString(), "authorizations/clients/clientId"); Assert.NotNull(calledBody); Assert.Equal(calledBody.fingerprint, "ha-ha-fingerprint"); }
public async Task WrapsTwoFactorFailureWithTwoFactorException() { var data = new NewAuthorization(); var client = Substitute.For<IApiConnection>(); client.Put<ApplicationAuthorization>(Args.Uri, Args.Object, Args.String) .ThrowsAsync<ApplicationAuthorization>( new AuthorizationException( new Response(HttpStatusCode.Unauthorized, null, new Dictionary<string, string>(), "application/json"))); var authEndpoint = new AuthorizationsClient(client); await Assert.ThrowsAsync<TwoFactorChallengeFailedException>(() => authEndpoint.GetOrCreateApplicationAuthentication("clientId", "secret", data, "authenticationCode")); }
public async Task WrapsTwoFactorFailureWithTwoFactorException() { var data = new NewAuthorization(); var client = Substitute.For<IApiConnection>(); client.Put<Authorization>(Args.Uri, Args.Object, Args.String) .ThrowsAsync<Authorization>( new AuthorizationException( new ApiResponse<object> { StatusCode = HttpStatusCode.Unauthorized })); var authEndpoint = new AuthorizationsClient(client); await AssertEx.Throws<TwoFactorChallengeFailedException>(async () => await authEndpoint.GetOrCreateApplicationAuthentication("clientId", "secret", data, "authenticationCode")); }
public async Task EnsuresArgumentsNotNull() { var client = Substitute.For<IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); await AssertEx.Throws<ArgumentNullException>(async () => await authEndpoint.RevokeAllApplicationAuthentications(null)); await AssertEx.Throws<ArgumentException>(async () => await authEndpoint.RevokeAllApplicationAuthentications("")); }
public async Task ChecksApplicationAuthenticateAtCorrectUrl() { var client = Substitute.For<IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); authEndpoint.CheckApplicationAuthentication("clientId", "accessToken"); client.Received().Get<ApplicationAuthorization>( Arg.Is<Uri>(u => u.ToString() == "applications/clientId/tokens/accessToken"), null, Arg.Any<string>()); }
public void GetsOrCreatesAuthenticationAtCorrectUrl() { var data = new NewAuthorization(); var client = Substitute.For<IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); authEndpoint.GetOrCreateApplicationAuthentication("clientId", "secret", data); client.Received().Put<ApplicationAuthorization>(Arg.Is<Uri>(u => u.ToString() == "authorizations/clients/clientId"), Args.Object); }
public async Task GetsOrCreatesAuthenticationWithFingerprintAtCorrectUrl() { var data = new NewAuthorization { Fingerprint = "ha-ha-fingerprint"}; var client = Substitute.For<IApiConnection>(); var authEndpoint = new AuthorizationsClient(client); authEndpoint.GetOrCreateApplicationAuthentication("clientId", "secret", data); client.Received().Put<ApplicationAuthorization>(Arg.Is<Uri>(u => u.ToString() == "authorizations/clients/clientId/ha-ha-fingerprint"), Args.Object, Args.String, Args.String); // NOTE: preview API }