From 4b16ea6a2973cb03e143dc3cc29e969be5f1284d Mon Sep 17 00:00:00 2001 From: Robert Pethick Date: Thu, 24 Dec 2015 15:02:58 +0000 Subject: [PATCH 1/6] Move Release to IRepositoriesClient from IGitHubClient --- Octokit.Reactive/Clients/ObservableReleasesClient.cs | 2 +- Octokit/Clients/IRepositoriesClient.cs | 8 ++++++++ Octokit/Clients/RepositoriesClient.cs | 9 +++++++++ Octokit/GitHubClient.cs | 8 +++++--- Octokit/IGitHubClient.cs | 3 ++- 5 files changed, 25 insertions(+), 5 deletions(-) diff --git a/Octokit.Reactive/Clients/ObservableReleasesClient.cs b/Octokit.Reactive/Clients/ObservableReleasesClient.cs index 67e40ac0..8c687af1 100644 --- a/Octokit.Reactive/Clients/ObservableReleasesClient.cs +++ b/Octokit.Reactive/Clients/ObservableReleasesClient.cs @@ -14,7 +14,7 @@ namespace Octokit.Reactive { Ensure.ArgumentNotNull(client, "client"); - _client = client.Release; + _client = client.Repository.Release; _connection = client.Connection; } diff --git a/Octokit/Clients/IRepositoriesClient.cs b/Octokit/Clients/IRepositoriesClient.cs index 321691a3..654a4231 100644 --- a/Octokit/Clients/IRepositoriesClient.cs +++ b/Octokit/Clients/IRepositoriesClient.cs @@ -270,6 +270,14 @@ namespace Octokit /// IRepositoryCommitsClient Commit { get; } + /// + /// Access GitHub's Releases API. + /// + /// + /// Refer to the API docmentation for more information: https://developer.github.com/v3/repos/releases/ + /// + IReleasesClient Release { get; } + /// /// Client for GitHub's Repository Merging API /// diff --git a/Octokit/Clients/RepositoriesClient.cs b/Octokit/Clients/RepositoriesClient.cs index 6b30dfc1..8360a970 100644 --- a/Octokit/Clients/RepositoriesClient.cs +++ b/Octokit/Clients/RepositoriesClient.cs @@ -40,6 +40,7 @@ namespace Octokit Commits = new RepositoryCommitsClient(apiConnection); #pragma warning restore CS0618 // Type or member is obsolete Commit = new RepositoryCommitsClient(apiConnection); + Release = new ReleasesClient(apiConnection); DeployKeys = new RepositoryDeployKeysClient(apiConnection); Merging = new MergingClient(apiConnection); Content = new RepositoryContentsClient(apiConnection); @@ -390,6 +391,14 @@ namespace Octokit /// public IRepositoryCommitsClient Commit { get; private set; } + /// + /// Access GitHub's Releases API. + /// + /// + /// Refer to the API docmentation for more information: https://developer.github.com/v3/repos/releases/ + /// + public IReleasesClient Release { get; private set; } + /// /// Client for GitHub's Repository Merging API /// diff --git a/Octokit/GitHubClient.cs b/Octokit/GitHubClient.cs index c26d54bd..b59830a6 100644 --- a/Octokit/GitHubClient.cs +++ b/Octokit/GitHubClient.cs @@ -92,7 +92,6 @@ namespace Octokit PullRequest = new PullRequestsClient(apiConnection); Repository = new RepositoriesClient(apiConnection); Gist = new GistsClient(apiConnection); - Release = new ReleasesClient(apiConnection); User = new UsersClient(apiConnection); SshKey = new SshKeysClient(apiConnection); Git = new GitDatabaseClient(apiConnection); @@ -215,14 +214,17 @@ namespace Octokit /// public IGistsClient Gist { get; private set; } - // TODO: this should be under Repositories to align with the API docs /// /// Access GitHub's Releases API. /// /// /// Refer to the API docmentation for more information: https://developer.github.com/v3/repos/releases/ /// - public IReleasesClient Release { get; private set; } + [Obsolete("Use Repository.Release instead")] + public IReleasesClient Release + { + get { return Repository.Release; } + } // TODO: this should be under Users to align with the API docs // TODO: this should be named PublicKeys to align with the API docs diff --git a/Octokit/IGitHubClient.cs b/Octokit/IGitHubClient.cs index 2d1cee63..d5b97ad4 100644 --- a/Octokit/IGitHubClient.cs +++ b/Octokit/IGitHubClient.cs @@ -2,7 +2,7 @@ namespace Octokit { - /// + /// /// A Client for the GitHub API v3. You can read more about the api here: http://developer.github.com. /// public interface IGitHubClient : IApiInfoProvider @@ -91,6 +91,7 @@ namespace Octokit /// /// Refer to the API docmentation for more information: https://developer.github.com/v3/repos/releases/ /// + [Obsolete("Use Repository.Release instead")] IReleasesClient Release { get; } // TODO: this should be under Users to align with the API docs From 146c9473e3f3e6ee2b479fc9f1bdd042948dcf3a Mon Sep 17 00:00:00 2001 From: Robert Pethick Date: Thu, 24 Dec 2015 16:41:44 +0000 Subject: [PATCH 2/6] Updating Test --- Octokit.Tests/Reactive/ObservableReleasesClientTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Octokit.Tests/Reactive/ObservableReleasesClientTests.cs b/Octokit.Tests/Reactive/ObservableReleasesClientTests.cs index e17f2a38..224f4b4c 100644 --- a/Octokit.Tests/Reactive/ObservableReleasesClientTests.cs +++ b/Octokit.Tests/Reactive/ObservableReleasesClientTests.cs @@ -78,7 +78,7 @@ namespace Octokit.Tests.Reactive releasesClient.Create("fake", "repo", data); - gitHubClient.Release.Received(1).Create("fake", "repo", data); + gitHubClient.Repository.Release.Received(1).Create("fake", "repo", data); } [Fact] From e4d54aa7e3688280a91f20d982a920f3b9a90841 Mon Sep 17 00:00:00 2001 From: Robert Pethick Date: Mon, 4 Jan 2016 16:40:20 +0000 Subject: [PATCH 3/6] Updating tests to stop using obsolete method --- .../Reactive/ObservableReleasesClientTests.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Octokit.Tests/Reactive/ObservableReleasesClientTests.cs b/Octokit.Tests/Reactive/ObservableReleasesClientTests.cs index 224f4b4c..480613c7 100644 --- a/Octokit.Tests/Reactive/ObservableReleasesClientTests.cs +++ b/Octokit.Tests/Reactive/ObservableReleasesClientTests.cs @@ -105,7 +105,7 @@ namespace Octokit.Tests.Reactive releasesClient.Edit("fake", "repo", 1, data); - gitHubClient.Release.Received(1).Edit("fake", "repo", 1, data); + gitHubClient.Repository.Release.Received(1).Edit("fake", "repo", 1, data); } [Fact] @@ -132,7 +132,7 @@ namespace Octokit.Tests.Reactive client.Delete("fake", "repo", 1); - gitHubClient.Release.Received(1).Delete("fake", "repo", 1); + gitHubClient.Repository.Release.Received(1).Delete("fake", "repo", 1); } [Fact] @@ -186,7 +186,7 @@ namespace Octokit.Tests.Reactive releasesClient.UploadAsset(release, upload); - gitHubClient.Release.Received(1).UploadAsset(release, upload); + gitHubClient.Repository.Release.Received(1).UploadAsset(release, upload); } [Fact] @@ -212,7 +212,7 @@ namespace Octokit.Tests.Reactive client.GetAsset("fake", "repo", 1); - gitHubClient.Release.Received(1).GetAsset("fake", "repo", 1); + gitHubClient.Repository.Release.Received(1).GetAsset("fake", "repo", 1); } [Fact] @@ -238,7 +238,7 @@ namespace Octokit.Tests.Reactive client.EditAsset("fake", "repo", 1, data); - gitHubClient.Release.Received(1).EditAsset("fake", "repo", 1, data); + gitHubClient.Repository.Release.Received(1).EditAsset("fake", "repo", 1, data); } [Fact] From 7e5417effbac1629cd336be97bb0854179314eaa Mon Sep 17 00:00:00 2001 From: Robert Pethick Date: Mon, 4 Jan 2016 17:17:29 +0000 Subject: [PATCH 4/6] More tests update --- Octokit.Tests.Integration/Clients/ReleasesClientTests.cs | 6 +++--- Octokit.Tests/Reactive/ObservableReleasesClientTests.cs | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Octokit.Tests.Integration/Clients/ReleasesClientTests.cs b/Octokit.Tests.Integration/Clients/ReleasesClientTests.cs index e57ac229..13665523 100644 --- a/Octokit.Tests.Integration/Clients/ReleasesClientTests.cs +++ b/Octokit.Tests.Integration/Clients/ReleasesClientTests.cs @@ -20,7 +20,7 @@ public class ReleasesClientTests public TheGetReleasesMethod() { var github = Helper.GetAuthenticatedClient(); - _releaseClient = github.Release; + _releaseClient = github.Repository.Release; _context = github.CreateRepositoryContext("public-repo").Result; } @@ -84,7 +84,7 @@ public class ReleasesClientTests public TheEditMethod() { _github = Helper.GetAuthenticatedClient(); - _releaseClient = _github.Release; + _releaseClient = _github.Repository.Release; _context = _github.CreateRepositoryContext("public-repo").Result; } @@ -143,7 +143,7 @@ public class ReleasesClientTests public TheUploadAssetMethod() { _github = Helper.GetAuthenticatedClient(); - _releaseClient = _github.Release; + _releaseClient = _github.Repository.Release; _context = _github.CreateRepositoryContext("public-repo").Result; } diff --git a/Octokit.Tests/Reactive/ObservableReleasesClientTests.cs b/Octokit.Tests/Reactive/ObservableReleasesClientTests.cs index 480613c7..3bec9c74 100644 --- a/Octokit.Tests/Reactive/ObservableReleasesClientTests.cs +++ b/Octokit.Tests/Reactive/ObservableReleasesClientTests.cs @@ -52,7 +52,7 @@ namespace Octokit.Tests.Reactive client.Get("fake", "repo", 1); - gitHubClient.Release.Received(1).Get("fake", "repo", 1); + gitHubClient.Repository.Release.Received(1).Get("fake", "repo", 1); } [Fact] From 29f31e34bc719eb8ae6619cb2f50de899c7621c4 Mon Sep 17 00:00:00 2001 From: Robert Pethick Date: Mon, 4 Jan 2016 17:37:09 +0000 Subject: [PATCH 5/6] Update ObservableGitHubClient and ObservableRepositoriesClient to match --- .../Clients/IObservableRepositoriesClient.cs | 8 ++++++++ Octokit.Reactive/Clients/ObservableRepositoriesClient.cs | 9 +++++++++ Octokit.Reactive/IObservableGitHubClient.cs | 1 + Octokit.Reactive/ObservableGitHubClient.cs | 1 - 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Octokit.Reactive/Clients/IObservableRepositoriesClient.cs b/Octokit.Reactive/Clients/IObservableRepositoriesClient.cs index 05a8563c..9ccf2107 100644 --- a/Octokit.Reactive/Clients/IObservableRepositoriesClient.cs +++ b/Octokit.Reactive/Clients/IObservableRepositoriesClient.cs @@ -324,6 +324,14 @@ namespace Octokit.Reactive /// IObservableRepositoryCommitsClient Commit { get; } + /// + /// Access GitHub's Releases API. + /// + /// + /// Refer to the API docmentation for more information: https://developer.github.com/v3/repos/releases/ + /// + IObservableReleasesClient Release { get; } + /// /// Client for managing pull requests. /// diff --git a/Octokit.Reactive/Clients/ObservableRepositoriesClient.cs b/Octokit.Reactive/Clients/ObservableRepositoriesClient.cs index bad46c87..0ee0fb24 100644 --- a/Octokit.Reactive/Clients/ObservableRepositoriesClient.cs +++ b/Octokit.Reactive/Clients/ObservableRepositoriesClient.cs @@ -37,6 +37,7 @@ namespace Octokit.Reactive Commits = new ObservableRepositoryCommitsClient(client); #pragma warning restore CS0618 // Type or member is obsolete Commit = new ObservableRepositoryCommitsClient(client); + Release = new ObservableReleasesClient(client); DeployKeys = new ObservableRepositoryDeployKeysClient(client); Content = new ObservableRepositoryContentsClient(client); Merging = new ObservableMergingClient(client); @@ -469,6 +470,14 @@ namespace Octokit.Reactive /// public IObservableRepositoryCommitsClient Commit { get; private set; } + /// + /// Access GitHub's Releases API. + /// + /// + /// Refer to the API docmentation for more information: https://developer.github.com/v3/repos/releases/ + /// + public IObservableReleasesClient Release { get; private set; } + /// /// Client for managing pull requests. /// diff --git a/Octokit.Reactive/IObservableGitHubClient.cs b/Octokit.Reactive/IObservableGitHubClient.cs index 2aac01d1..717ae82a 100644 --- a/Octokit.Reactive/IObservableGitHubClient.cs +++ b/Octokit.Reactive/IObservableGitHubClient.cs @@ -15,6 +15,7 @@ namespace Octokit.Reactive IObservablePullRequestsClient PullRequest { get; } IObservableRepositoriesClient Repository { get; } IObservableGistsClient Gist { get; } + [Obsolete("Use Repository.Release instead")] IObservableReleasesClient Release { get; } IObservableSshKeysClient SshKey { get; } IObservableUsersClient User { get; } diff --git a/Octokit.Reactive/ObservableGitHubClient.cs b/Octokit.Reactive/ObservableGitHubClient.cs index 51fbbc87..58a6413c 100644 --- a/Octokit.Reactive/ObservableGitHubClient.cs +++ b/Octokit.Reactive/ObservableGitHubClient.cs @@ -42,7 +42,6 @@ namespace Octokit.Reactive Repository = new ObservableRepositoriesClient(gitHubClient); SshKey = new ObservableSshKeysClient(gitHubClient); User = new ObservableUsersClient(gitHubClient); - Release = new ObservableReleasesClient(gitHubClient); Git = new ObservableGitDatabaseClient(gitHubClient); Gist = new ObservableGistsClient(gitHubClient); Search = new ObservableSearchClient(gitHubClient); From bfb0e1bc88d5f8a7917b78e858f164d5ef805dcf Mon Sep 17 00:00:00 2001 From: Robert Pethick Date: Mon, 4 Jan 2016 17:41:15 +0000 Subject: [PATCH 6/6] Accidentally didn't push one file... --- Octokit.Reactive/ObservableGitHubClient.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Octokit.Reactive/ObservableGitHubClient.cs b/Octokit.Reactive/ObservableGitHubClient.cs index 58a6413c..9cbaccb4 100644 --- a/Octokit.Reactive/ObservableGitHubClient.cs +++ b/Octokit.Reactive/ObservableGitHubClient.cs @@ -61,7 +61,8 @@ namespace Octokit.Reactive public IObservablePullRequestsClient PullRequest { get; private set; } public IObservableRepositoriesClient Repository { get; private set; } public IObservableGistsClient Gist { get; private set; } - public IObservableReleasesClient Release { get; private set; } + [Obsolete("Use Repository.Release instead")] + public IObservableReleasesClient Release { get { return Repository.Release; } } public IObservableSshKeysClient SshKey { get; private set; } public IObservableUsersClient User { get; private set; } public IObservableNotificationsClient Notification { get; private set; }