Add some unit tests

This commit is contained in:
Henrik Andersson
2015-03-14 21:58:39 +10:00
parent 59be7267a4
commit 589fe1f388
3 changed files with 110 additions and 2 deletions
@@ -243,5 +243,112 @@ namespace Octokit.Tests.Clients
Args.String); // NOTE: preview API
}
}
public class TheCheckApplicationAuthenticationMethod
{
[Fact]
public async Task ChecksApplicationAuthenticateAtCorrectUrl()
{
var client = Substitute.For<IApiConnection>();
var authEndpoint = new AuthorizationsClient(client);
var result = await authEndpoint.CheckApplicationAuthentication("clientId", "accessToken");
client.Received().Get<ApplicationAuthorization>(
Arg.Is<Uri>(u => u.ToString() == "applications/clientId/tokens/accessToken"));
}
[Fact]
public async Task EnsuresArgumentsNotNull()
{
var client = Substitute.For<IApiConnection>();
var authEndpoint = new AuthorizationsClient(client);
await AssertEx.Throws<ArgumentNullException>(async () => await authEndpoint.CheckApplicationAuthentication(null, "accessToken"));
await AssertEx.Throws<ArgumentException>(async () => await authEndpoint.CheckApplicationAuthentication("", "accessToken"));
await AssertEx.Throws<ArgumentNullException>(async () => await authEndpoint.CheckApplicationAuthentication("clientId", null));
await AssertEx.Throws<ArgumentException>(async () => await authEndpoint.CheckApplicationAuthentication("clientId", ""));
}
}
public class TheResetApplicationAuthenticationMethod
{
[Fact]
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);
}
[Fact]
public async Task EnsuresArgumentsNotNull()
{
var client = Substitute.For<IApiConnection>();
var authEndpoint = new AuthorizationsClient(client);
await AssertEx.Throws<ArgumentNullException>(async () => await authEndpoint.ResetApplicationAuthentication(null, "accessToken"));
await AssertEx.Throws<ArgumentException>(async () => await authEndpoint.ResetApplicationAuthentication("", "accessToken"));
await AssertEx.Throws<ArgumentNullException>(async () => await authEndpoint.ResetApplicationAuthentication("clientId", null));
await AssertEx.Throws<ArgumentException>(async () => await authEndpoint.ResetApplicationAuthentication("clientId", ""));
}
}
public class TheRevokeApplicationAuthenticationMethod
{
[Fact]
public async Task RevokesApplicatonAuthenticationAtCorrectUrl()
{
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/tokens/accessToken"));
}
[Fact]
public async Task EnsuresArgumentsNotNull()
{
var client = Substitute.For<IApiConnection>();
var authEndpoint = new AuthorizationsClient(client);
await AssertEx.Throws<ArgumentNullException>(async () => await authEndpoint.RevokeApplicationAuthentication(null, "accessToken"));
await AssertEx.Throws<ArgumentException>(async () => await authEndpoint.RevokeApplicationAuthentication("", "accessToken"));
await AssertEx.Throws<ArgumentNullException>(async () => await authEndpoint.RevokeApplicationAuthentication("clientId", null));
await AssertEx.Throws<ArgumentException>(async () => await authEndpoint.RevokeApplicationAuthentication("clientId", ""));
}
}
public class TheRevokeAllApplicationAuthenticationsMethod
{
[Fact]
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"));
}
[Fact]
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(""));
}
}
}
}
+2 -1
View File
@@ -190,8 +190,9 @@ namespace Octokit
Ensure.ArgumentNotNullOrEmptyString(clientId, "clientId");
Ensure.ArgumentNotNullOrEmptyString(accessToken, "accessToken");
var endpoint = ApiUrls.ApplicationAuthorization(clientId, accessToken);
return await ApiConnection.Get<ApplicationAuthorization>(
ApiUrls.ApplicationAuthorization(clientId, accessToken));
endpoint);
}
/// <summary>
+1 -1
View File
@@ -56,7 +56,7 @@ namespace Octokit
public static Uri ApplicationAuthorization(string clientId, string accessToken)
{
return "appliations/{0}/tokens/{1}".FormatUri(clientId, accessToken);
return "applications/{0}/tokens/{1}".FormatUri(clientId, accessToken);
}
}
}