mirror of
https://github.com/zoriya/octokit.net.git
synced 2025-12-20 14:15:12 +00:00
use HTTP verbs for clarity: PUT edition
GetOrCreate no more
This commit is contained in:
@@ -75,7 +75,7 @@ namespace Octokit.Tests.Clients
|
|||||||
|
|
||||||
authEndpoint.Create(new NewAuthorization());
|
authEndpoint.Create(new NewAuthorization());
|
||||||
|
|
||||||
client.Received().Create<Authorization>(Arg.Is<Uri>(u => u.ToString() == "/authorizations")
|
client.Received().Post<Authorization>(Arg.Is<Uri>(u => u.ToString() == "/authorizations")
|
||||||
, Args.NewAuthorization);
|
, Args.NewAuthorization);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -105,7 +105,7 @@ namespace Octokit.Tests.Clients
|
|||||||
|
|
||||||
authEndpoint.GetOrCreateApplicationAuthentication("clientId", "secret", data);
|
authEndpoint.GetOrCreateApplicationAuthentication("clientId", "secret", data);
|
||||||
|
|
||||||
client.Received().GetOrCreate<Authorization>(Arg.Is<Uri>(u => u.ToString() == "/authorizations/clients/clientId"),
|
client.Received().Put<Authorization>(Arg.Is<Uri>(u => u.ToString() == "/authorizations/clients/clientId"),
|
||||||
Args.Object);
|
Args.Object);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -114,7 +114,7 @@ namespace Octokit.Tests.Clients
|
|||||||
{
|
{
|
||||||
var data = new NewAuthorization();
|
var data = new NewAuthorization();
|
||||||
var client = Substitute.For<IApiConnection>();
|
var client = Substitute.For<IApiConnection>();
|
||||||
client.GetOrCreate<Authorization>(Args.Uri, Args.Object, Args.String).Returns(_ => { throw new AuthorizationException(); });
|
client.Put<Authorization>(Args.Uri, Args.Object, Args.String).Returns(_ => { throw new AuthorizationException(); });
|
||||||
var authEndpoint = new AuthorizationsClient(client);
|
var authEndpoint = new AuthorizationsClient(client);
|
||||||
|
|
||||||
AssertEx.Throws<TwoFactorChallengeFailedException>(async () =>
|
AssertEx.Throws<TwoFactorChallengeFailedException>(async () =>
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ namespace Octokit.Tests.Clients
|
|||||||
|
|
||||||
releasesClient.CreateRelease("fake", "repo", data);
|
releasesClient.CreateRelease("fake", "repo", data);
|
||||||
|
|
||||||
client.Received().Create<Release>(Arg.Is<Uri>(u => u.ToString() == "/repos/fake/repo/releases"), data);
|
client.Received().Post<Release>(Arg.Is<Uri>(u => u.ToString() == "/repos/fake/repo/releases"), data);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ namespace Octokit.Tests.Clients
|
|||||||
|
|
||||||
repositoriesClient.Create(new NewRepository { Name = "aName" });
|
repositoriesClient.Create(new NewRepository { Name = "aName" });
|
||||||
|
|
||||||
client.Received().Create<Repository>(Arg.Is<Uri>(u => u.ToString() == "user/repos"), Arg.Any<NewRepository>());
|
client.Received().Post<Repository>(Arg.Is<Uri>(u => u.ToString() == "user/repos"), Arg.Any<NewRepository>());
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
@@ -54,7 +54,7 @@ namespace Octokit.Tests.Clients
|
|||||||
|
|
||||||
repositoriesClient.Create(newRepository);
|
repositoriesClient.Create(newRepository);
|
||||||
|
|
||||||
client.Received().Create<Repository>(Arg.Any<Uri>(), newRepository);
|
client.Received().Post<Repository>(Arg.Any<Uri>(), newRepository);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -78,7 +78,7 @@ namespace Octokit.Tests.Clients
|
|||||||
|
|
||||||
await repositoriesClient.Create("theLogin", new NewRepository { Name = "aName" });
|
await repositoriesClient.Create("theLogin", new NewRepository { Name = "aName" });
|
||||||
|
|
||||||
client.Received().Create<Repository>(Arg.Is<Uri>(u => u.ToString() == "orgs/theLogin/repos"), Arg.Any<NewRepository>());
|
client.Received().Post<Repository>(Arg.Is<Uri>(u => u.ToString() == "orgs/theLogin/repos"), Arg.Any<NewRepository>());
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
@@ -90,7 +90,7 @@ namespace Octokit.Tests.Clients
|
|||||||
|
|
||||||
await repositoriesClient.Create("aLogin", newRepository);
|
await repositoriesClient.Create("aLogin", newRepository);
|
||||||
|
|
||||||
client.Received().Create<Repository>(Arg.Any<Uri>(), newRepository);
|
client.Received().Post<Repository>(Arg.Any<Uri>(), newRepository);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ namespace Octokit.Tests.Clients
|
|||||||
|
|
||||||
sshKeysClient.Create(data);
|
sshKeysClient.Create(data);
|
||||||
|
|
||||||
client.Received().Create<SshKey>(endpoint, data);
|
client.Received().Post<SshKey>(endpoint, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
|||||||
@@ -133,7 +133,7 @@ namespace Octokit.Tests.Http
|
|||||||
connection.PostAsync<object>(Args.Uri, Args.Object).Returns(Task.FromResult(response));
|
connection.PostAsync<object>(Args.Uri, Args.Object).Returns(Task.FromResult(response));
|
||||||
var apiConnection = new ApiConnection(connection);
|
var apiConnection = new ApiConnection(connection);
|
||||||
|
|
||||||
var data = await apiConnection.Create<object>(postUri, sentData);
|
var data = await apiConnection.Post<object>(postUri, sentData);
|
||||||
|
|
||||||
Assert.Same(data, response.BodyAsObject);
|
Assert.Same(data, response.BodyAsObject);
|
||||||
connection.Received().PostAsync<object>(postUri, sentData);
|
connection.Received().PostAsync<object>(postUri, sentData);
|
||||||
@@ -145,8 +145,8 @@ namespace Octokit.Tests.Http
|
|||||||
{
|
{
|
||||||
var client = new ApiConnection(Substitute.For<IConnection>());
|
var client = new ApiConnection(Substitute.For<IConnection>());
|
||||||
var postUri = new Uri("/", UriKind.Relative);
|
var postUri = new Uri("/", UriKind.Relative);
|
||||||
await AssertEx.Throws<ArgumentNullException>(async () => await client.Create<object>(null, new object()));
|
await AssertEx.Throws<ArgumentNullException>(async () => await client.Post<object>(null, new object()));
|
||||||
await AssertEx.Throws<ArgumentNullException>(async () => await client.Create<object>(postUri, null));
|
await AssertEx.Throws<ArgumentNullException>(async () => await client.Post<object>(postUri, null));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ namespace Octokit
|
|||||||
note_url = newAuthorization.NoteUrl
|
note_url = newAuthorization.NoteUrl
|
||||||
};
|
};
|
||||||
|
|
||||||
return await Client.GetOrCreate<Authorization>(endpoint, requestData);
|
return await Client.Put<Authorization>(endpoint, requestData);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -126,7 +126,7 @@ namespace Octokit
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
return await Client.GetOrCreate<Authorization>(
|
return await Client.Put<Authorization>(
|
||||||
endpoint,
|
endpoint,
|
||||||
requestData,
|
requestData,
|
||||||
twoFactorAuthenticationCode);
|
twoFactorAuthenticationCode);
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ namespace Octokit
|
|||||||
return await _pagination.GetAllPages(async () => await GetPage<T>(endpoint, parameters));
|
return await _pagination.GetAllPages(async () => await GetPage<T>(endpoint, parameters));
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<T> Create<T>(Uri endpoint, object data)
|
public async Task<T> Post<T>(Uri endpoint, object data)
|
||||||
{
|
{
|
||||||
Ensure.ArgumentNotNull(endpoint, "endpoint");
|
Ensure.ArgumentNotNull(endpoint, "endpoint");
|
||||||
Ensure.ArgumentNotNull(data, "data");
|
Ensure.ArgumentNotNull(data, "data");
|
||||||
@@ -58,7 +58,7 @@ namespace Octokit
|
|||||||
return response.BodyAsObject;
|
return response.BodyAsObject;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<T> GetOrCreate<T>(Uri endpoint, object data)
|
public async Task<T> Put<T>(Uri endpoint, object data)
|
||||||
{
|
{
|
||||||
Ensure.ArgumentNotNull(endpoint, "endpoint");
|
Ensure.ArgumentNotNull(endpoint, "endpoint");
|
||||||
Ensure.ArgumentNotNull(data, "data");
|
Ensure.ArgumentNotNull(data, "data");
|
||||||
@@ -68,7 +68,7 @@ namespace Octokit
|
|||||||
return response.BodyAsObject;
|
return response.BodyAsObject;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<T> GetOrCreate<T>(Uri endpoint, object data, string twoFactorAuthenticationCode)
|
public async Task<T> Put<T>(Uri endpoint, object data, string twoFactorAuthenticationCode)
|
||||||
{
|
{
|
||||||
Ensure.ArgumentNotNull(endpoint, "endpoint");
|
Ensure.ArgumentNotNull(endpoint, "endpoint");
|
||||||
Ensure.ArgumentNotNull(data, "data");
|
Ensure.ArgumentNotNull(data, "data");
|
||||||
@@ -89,16 +89,6 @@ namespace Octokit
|
|||||||
return response.BodyAsObject;
|
return response.BodyAsObject;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<T> Put<T>(Uri endpoint, object data)
|
|
||||||
{
|
|
||||||
Ensure.ArgumentNotNull(endpoint, "endpoint");
|
|
||||||
Ensure.ArgumentNotNull(data, "data");
|
|
||||||
|
|
||||||
var response = await Connection.PostAsync<T>(endpoint, data);
|
|
||||||
|
|
||||||
return response.BodyAsObject;
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task Delete<T>(Uri endpoint)
|
public async Task Delete<T>(Uri endpoint)
|
||||||
{
|
{
|
||||||
Ensure.ArgumentNotNull(endpoint, "endpoint");
|
Ensure.ArgumentNotNull(endpoint, "endpoint");
|
||||||
|
|||||||
@@ -16,9 +16,9 @@ namespace Octokit
|
|||||||
Task<T> Get<T>(Uri endpoint, IDictionary<string, string> parameters);
|
Task<T> Get<T>(Uri endpoint, IDictionary<string, string> parameters);
|
||||||
Task<string> GetHtml(Uri endpoint, IDictionary<string, string> parameters);
|
Task<string> GetHtml(Uri endpoint, IDictionary<string, string> parameters);
|
||||||
Task<IReadOnlyList<T>> GetAll<T>(Uri endpoint, IDictionary<string, string> parameters);
|
Task<IReadOnlyList<T>> GetAll<T>(Uri endpoint, IDictionary<string, string> parameters);
|
||||||
Task<T> Create<T>(Uri endpoint, object data);
|
Task<T> Post<T>(Uri endpoint, object data);
|
||||||
Task<T> GetOrCreate<T>(Uri endpoint, object data);
|
Task<T> Put<T>(Uri endpoint, object data);
|
||||||
Task<T> GetOrCreate<T>(Uri endpoint, object data, string twoFactorAuthenticationCode);
|
Task<T> Put<T>(Uri endpoint, object data, string twoFactorAuthenticationCode);
|
||||||
Task<T> Update<T>(Uri endpoint, object data);
|
Task<T> Update<T>(Uri endpoint, object data);
|
||||||
[SuppressMessage("Microsoft.Design", "CA1004:GenericMethodsShouldProvideTypeParameter", Justification="Legitimate, but I'm not fixing it just yet.")]
|
[SuppressMessage("Microsoft.Design", "CA1004:GenericMethodsShouldProvideTypeParameter", Justification="Legitimate, but I'm not fixing it just yet.")]
|
||||||
Task Delete<T>(Uri endpoint);
|
Task Delete<T>(Uri endpoint);
|
||||||
|
|||||||
Reference in New Issue
Block a user