diff --git a/Octokit.Reactive/Clients/Enterprise/IObservableEnterpriseAdminStatsClient.cs b/Octokit.Reactive/Clients/Enterprise/IObservableEnterpriseAdminStatsClient.cs
index af46950f..62dccdb0 100644
--- a/Octokit.Reactive/Clients/Enterprise/IObservableEnterpriseAdminStatsClient.cs
+++ b/Octokit.Reactive/Clients/Enterprise/IObservableEnterpriseAdminStatsClient.cs
@@ -1,4 +1,5 @@
using System;
+using System.Diagnostics.CodeAnalysis;
namespace Octokit.Reactive
{
@@ -10,13 +11,114 @@ namespace Octokit.Reactive
///
public interface IObservableEnterpriseAdminStatsClient
{
+ ///
+ /// Gets GitHub Enterprise Issue statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
+ IObservable GetStatisticsIssues();
+
+ ///
+ /// Gets GitHub Enterprise Hook statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
+ IObservable GetStatisticsHooks();
+
+ ///
+ /// Gets GitHub Enterprise Milestone statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
+ IObservable GetStatisticsMilestones();
+
+ ///
+ /// Gets GitHub Enterprise Organization statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
+ IObservable GetStatisticsOrgs();
+
+ ///
+ /// Gets GitHub Enterprise Comment statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
+ IObservable GetStatisticsComments();
+
+ ///
+ /// Gets GitHub Enterprise Pages statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
+ IObservable GetStatisticsPages();
+
+ ///
+ /// Gets GitHub Enterprise User statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
+ IObservable GetStatisticsUsers();
+
+ ///
+ /// Gets GitHub Enterprise Gist statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
+ IObservable GetStatisticsGists();
+
+ ///
+ /// Gets GitHub Enterprise PullRequest statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
+ IObservable GetStatisticsPulls();
+
+ ///
+ /// Gets GitHub Enterprise Repository statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
+ IObservable GetStatisticsRepos();
+
///
/// Gets GitHub Enterprise statistics (must be Site Admin user).
///
///
- ///https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
///
- /// The collection for the requested type.
- IObservable GetStatistics(AdminStatsType type);
+ /// The collection of statistics.
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
+ IObservable GetStatisticsAll();
}
}
diff --git a/Octokit.Reactive/Clients/Enterprise/ObservableEnterpriseAdminStatsClient.cs b/Octokit.Reactive/Clients/Enterprise/ObservableEnterpriseAdminStatsClient.cs
index 1e121a48..1ae1f616 100644
--- a/Octokit.Reactive/Clients/Enterprise/ObservableEnterpriseAdminStatsClient.cs
+++ b/Octokit.Reactive/Clients/Enterprise/ObservableEnterpriseAdminStatsClient.cs
@@ -20,16 +20,136 @@ namespace Octokit.Reactive
_client = client.Enterprise.AdminStats;
}
+ ///
+ /// Gets GitHub Enterprise Issue statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ public IObservable GetStatisticsIssues()
+ {
+ return _client.GetStatisticsIssues().ToObservable();
+ }
+
+ ///
+ /// Gets GitHub Enterprise Hook statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ public IObservable GetStatisticsHooks()
+ {
+ return _client.GetStatisticsHooks().ToObservable();
+ }
+
+ ///
+ /// Gets GitHub Enterprise Milestone statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ public IObservable GetStatisticsMilestones()
+ {
+ return _client.GetStatisticsMilestones().ToObservable();
+ }
+
+ ///
+ /// Gets GitHub Enterprise Organization statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ public IObservable GetStatisticsOrgs()
+ {
+ return _client.GetStatisticsOrgs().ToObservable();
+ }
+
+ ///
+ /// Gets GitHub Enterprise Comment statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ public IObservable GetStatisticsComments()
+ {
+ return _client.GetStatisticsComments().ToObservable();
+ }
+
+ ///
+ /// Gets GitHub Enterprise Pages statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ public IObservable GetStatisticsPages()
+ {
+ return _client.GetStatisticsPages().ToObservable();
+ }
+
+ ///
+ /// Gets GitHub Enterprise User statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ public IObservable GetStatisticsUsers()
+ {
+ return _client.GetStatisticsUsers().ToObservable();
+ }
+
+ ///
+ /// Gets GitHub Enterprise Gist statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ public IObservable GetStatisticsGists()
+ {
+ return _client.GetStatisticsGists().ToObservable();
+ }
+
+ ///
+ /// Gets GitHub Enterprise PullRequest statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ public IObservable GetStatisticsPulls()
+ {
+ return _client.GetStatisticsPulls().ToObservable();
+ }
+
+ ///
+ /// Gets GitHub Enterprise Repository statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ public IObservable GetStatisticsRepos()
+ {
+ return _client.GetStatisticsRepos().ToObservable();
+ }
+
///
/// Gets GitHub Enterprise statistics (must be Site Admin user).
///
///
- ///https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
///
- /// The collection for the requested type.
- public IObservable GetStatistics(AdminStatsType type)
+ /// The collection of statistics.
+ public IObservable GetStatisticsAll()
{
- return _client.GetStatistics(type).ToObservable();
+ return _client.GetStatisticsAll().ToObservable();
}
}
}
diff --git a/Octokit.Tests.Integration/Clients/Enterprise/EnterpriseAdminStatsClientTest.cs b/Octokit.Tests.Integration/Clients/Enterprise/EnterpriseAdminStatsClientTest.cs
index 3e8dc2f1..43b9da9b 100644
--- a/Octokit.Tests.Integration/Clients/Enterprise/EnterpriseAdminStatsClientTest.cs
+++ b/Octokit.Tests.Integration/Clients/Enterprise/EnterpriseAdminStatsClientTest.cs
@@ -1,8 +1,6 @@
-using System.Linq;
-using System.Threading.Tasks;
+using System.Threading.Tasks;
using Octokit;
using Octokit.Tests.Integration;
-using Octokit.Tests.Integration.Helpers;
using Xunit;
public class EnterpriseAdminStatsClientTest
@@ -15,10 +13,100 @@ public class EnterpriseAdminStatsClientTest
}
[GitHubEnterpriseTest]
- public async Task CanGetAllStatistics()
+ public async Task CanGetStatisticsIssues()
+ {
+ var issueStats = await
+ _github.Enterprise.AdminStats.GetStatisticsIssues();
+
+ Assert.NotNull(issueStats);
+ }
+
+ [GitHubEnterpriseTest]
+ public async Task CanGetStatisticsHooks()
+ {
+ var hookStats = await
+ _github.Enterprise.AdminStats.GetStatisticsHooks();
+
+ Assert.NotNull(hookStats);
+ }
+
+ [GitHubEnterpriseTest]
+ public async Task CanGetStatisticsMilestones()
+ {
+ var milestoneStats = await
+ _github.Enterprise.AdminStats.GetStatisticsMilestones();
+
+ Assert.NotNull(milestoneStats);
+ }
+
+ [GitHubEnterpriseTest]
+ public async Task CanGetStatisticsOrgs()
+ {
+ var orgStats = await
+ _github.Enterprise.AdminStats.GetStatisticsOrgs();
+
+ Assert.NotNull(orgStats);
+ }
+
+ [GitHubEnterpriseTest]
+ public async Task CanGetStatisticsComments()
+ {
+ var commentStats = await
+ _github.Enterprise.AdminStats.GetStatisticsComments();
+
+ Assert.NotNull(commentStats);
+ }
+
+ [GitHubEnterpriseTest]
+ public async Task CanGetStatisticsPages()
+ {
+ var pageStats = await
+ _github.Enterprise.AdminStats.GetStatisticsPages();
+
+ Assert.NotNull(pageStats);
+ }
+
+ [GitHubEnterpriseTest]
+ public async Task CanGetStatisticsUsers()
+ {
+ var userStats = await
+ _github.Enterprise.AdminStats.GetStatisticsUsers();
+
+ Assert.NotNull(userStats);
+ }
+
+ [GitHubEnterpriseTest]
+ public async Task CanGetStatisticsGists()
+ {
+ var gistStats = await
+ _github.Enterprise.AdminStats.GetStatisticsGists();
+
+ Assert.NotNull(gistStats);
+ }
+
+ [GitHubEnterpriseTest]
+ public async Task CanGetStatisticsPulls()
+ {
+ var pullStats = await
+ _github.Enterprise.AdminStats.GetStatisticsPulls();
+
+ Assert.NotNull(pullStats);
+ }
+
+ [GitHubEnterpriseTest]
+ public async Task CanGetStatisticsRepos()
+ {
+ var repoStats = await
+ _github.Enterprise.AdminStats.GetStatisticsRepos();
+
+ Assert.NotNull(repoStats);
+ }
+
+ [GitHubEnterpriseTest]
+ public async Task CanGetStatisticsAll()
{
var adminStats = await
- _github.Enterprise.AdminStats.GetStatistics(AdminStatsType.All);
+ _github.Enterprise.AdminStats.GetStatisticsAll();
Assert.NotNull(adminStats);
Assert.NotNull(adminStats.Repos);
@@ -32,194 +120,4 @@ public class EnterpriseAdminStatsClientTest
Assert.NotNull(adminStats.Gists);
Assert.NotNull(adminStats.Comments);
}
-
- [GitHubEnterpriseTest]
- public async Task CanGetReposStatistics()
- {
- var adminStats = await
- _github.Enterprise.AdminStats.GetStatistics(AdminStatsType.Repos);
-
- Assert.NotNull(adminStats);
- Assert.NotNull(adminStats.Repos);
- Assert.Null(adminStats.Hooks);
- Assert.Null(adminStats.Pages);
- Assert.Null(adminStats.Orgs);
- Assert.Null(adminStats.Users);
- Assert.Null(adminStats.Pulls);
- Assert.Null(adminStats.Issues);
- Assert.Null(adminStats.Milestones);
- Assert.Null(adminStats.Gists);
- Assert.Null(adminStats.Comments);
- }
-
- [GitHubEnterpriseTest]
- public async Task CanGetHooksStatistics()
- {
- var adminStats = await
- _github.Enterprise.AdminStats.GetStatistics(AdminStatsType.Hooks);
-
- Assert.NotNull(adminStats);
- Assert.Null(adminStats.Repos);
- Assert.NotNull(adminStats.Hooks);
- Assert.Null(adminStats.Pages);
- Assert.Null(adminStats.Orgs);
- Assert.Null(adminStats.Users);
- Assert.Null(adminStats.Pulls);
- Assert.Null(adminStats.Issues);
- Assert.Null(adminStats.Milestones);
- Assert.Null(adminStats.Gists);
- Assert.Null(adminStats.Comments);
- }
-
- [GitHubEnterpriseTest]
- public async Task CanGetPagesStatistics()
- {
- var adminStats = await
- _github.Enterprise.AdminStats.GetStatistics(AdminStatsType.Pages);
-
- Assert.NotNull(adminStats);
- Assert.Null(adminStats.Repos);
- Assert.Null(adminStats.Hooks);
- Assert.NotNull(adminStats.Pages);
- Assert.Null(adminStats.Orgs);
- Assert.Null(adminStats.Users);
- Assert.Null(adminStats.Pulls);
- Assert.Null(adminStats.Issues);
- Assert.Null(adminStats.Milestones);
- Assert.Null(adminStats.Gists);
- Assert.Null(adminStats.Comments);
- }
-
- [GitHubEnterpriseTest]
- public async Task CanGetOrgsStatistics()
- {
- var adminStats = await
- _github.Enterprise.AdminStats.GetStatistics(AdminStatsType.Orgs);
-
- Assert.NotNull(adminStats);
- Assert.Null(adminStats.Repos);
- Assert.Null(adminStats.Hooks);
- Assert.Null(adminStats.Pages);
- Assert.NotNull(adminStats.Orgs);
- Assert.Null(adminStats.Users);
- Assert.Null(adminStats.Pulls);
- Assert.Null(adminStats.Issues);
- Assert.Null(adminStats.Milestones);
- Assert.Null(adminStats.Gists);
- Assert.Null(adminStats.Comments);
- }
-
- [GitHubEnterpriseTest]
- public async Task CanGetUsersStatistics()
- {
- var adminStats = await
- _github.Enterprise.AdminStats.GetStatistics(AdminStatsType.Users);
-
- Assert.NotNull(adminStats);
- Assert.Null(adminStats.Repos);
- Assert.Null(adminStats.Hooks);
- Assert.Null(adminStats.Pages);
- Assert.Null(adminStats.Orgs);
- Assert.NotNull(adminStats.Users);
- Assert.Null(adminStats.Pulls);
- Assert.Null(adminStats.Issues);
- Assert.Null(adminStats.Milestones);
- Assert.Null(adminStats.Gists);
- Assert.Null(adminStats.Comments);
- }
-
- [GitHubEnterpriseTest]
- public async Task CanGetPullsStatistics()
- {
- var adminStats = await
- _github.Enterprise.AdminStats.GetStatistics(AdminStatsType.Pulls);
-
- Assert.NotNull(adminStats);
- Assert.Null(adminStats.Repos);
- Assert.Null(adminStats.Hooks);
- Assert.Null(adminStats.Pages);
- Assert.Null(adminStats.Orgs);
- Assert.Null(adminStats.Users);
- Assert.NotNull(adminStats.Pulls);
- Assert.Null(adminStats.Issues);
- Assert.Null(adminStats.Milestones);
- Assert.Null(adminStats.Gists);
- Assert.Null(adminStats.Comments);
- }
-
- [GitHubEnterpriseTest]
- public async Task CanGetIssuesStatistics()
- {
- var adminStats = await
- _github.Enterprise.AdminStats.GetStatistics(AdminStatsType.Issues);
-
- Assert.NotNull(adminStats);
- Assert.Null(adminStats.Repos);
- Assert.Null(adminStats.Hooks);
- Assert.Null(adminStats.Pages);
- Assert.Null(adminStats.Orgs);
- Assert.Null(adminStats.Users);
- Assert.Null(adminStats.Pulls);
- Assert.NotNull(adminStats.Issues);
- Assert.Null(adminStats.Milestones);
- Assert.Null(adminStats.Gists);
- Assert.Null(adminStats.Comments);
- }
-
- [GitHubEnterpriseTest]
- public async Task CanGetMilstonesStatistics()
- {
- var adminStats = await
- _github.Enterprise.AdminStats.GetStatistics(AdminStatsType.Milestones);
-
- Assert.NotNull(adminStats);
- Assert.Null(adminStats.Repos);
- Assert.Null(adminStats.Hooks);
- Assert.Null(adminStats.Pages);
- Assert.Null(adminStats.Orgs);
- Assert.Null(adminStats.Users);
- Assert.Null(adminStats.Pulls);
- Assert.Null(adminStats.Issues);
- Assert.NotNull(adminStats.Milestones);
- Assert.Null(adminStats.Gists);
- Assert.Null(adminStats.Comments);
- }
-
- [GitHubEnterpriseTest]
- public async Task CanGetGistsStatistics()
- {
- var adminStats = await
- _github.Enterprise.AdminStats.GetStatistics(AdminStatsType.Gists);
-
- Assert.NotNull(adminStats);
- Assert.Null(adminStats.Repos);
- Assert.Null(adminStats.Hooks);
- Assert.Null(adminStats.Pages);
- Assert.Null(adminStats.Orgs);
- Assert.Null(adminStats.Users);
- Assert.Null(adminStats.Pulls);
- Assert.Null(adminStats.Issues);
- Assert.Null(adminStats.Milestones);
- Assert.NotNull(adminStats.Gists);
- Assert.Null(adminStats.Comments);
- }
-
- [GitHubEnterpriseTest]
- public async Task CanGetCommentsStatistics()
- {
- var adminStats = await
- _github.Enterprise.AdminStats.GetStatistics(AdminStatsType.Comments);
-
- Assert.NotNull(adminStats);
- Assert.Null(adminStats.Repos);
- Assert.Null(adminStats.Hooks);
- Assert.Null(adminStats.Pages);
- Assert.Null(adminStats.Orgs);
- Assert.Null(adminStats.Users);
- Assert.Null(adminStats.Pulls);
- Assert.Null(adminStats.Issues);
- Assert.Null(adminStats.Milestones);
- Assert.Null(adminStats.Gists);
- Assert.NotNull(adminStats.Comments);
- }
}
\ No newline at end of file
diff --git a/Octokit.Tests.Integration/Octokit.Tests.Integration.csproj b/Octokit.Tests.Integration/Octokit.Tests.Integration.csproj
index 1ce27e08..0a54c7a9 100644
--- a/Octokit.Tests.Integration/Octokit.Tests.Integration.csproj
+++ b/Octokit.Tests.Integration/Octokit.Tests.Integration.csproj
@@ -119,6 +119,7 @@
+
diff --git a/Octokit.Tests.Integration/Reactive/Enterprise/ObservableEnterpriseAdminStatsClientTest.cs b/Octokit.Tests.Integration/Reactive/Enterprise/ObservableEnterpriseAdminStatsClientTest.cs
new file mode 100644
index 00000000..a87c1275
--- /dev/null
+++ b/Octokit.Tests.Integration/Reactive/Enterprise/ObservableEnterpriseAdminStatsClientTest.cs
@@ -0,0 +1,126 @@
+using System.Reactive.Linq;
+using System.Threading.Tasks;
+using Octokit.Reactive;
+using Xunit;
+
+namespace Octokit.Tests.Integration
+{
+ public class ObservableEnterpriseAdminStatsClientTest
+ {
+ readonly IObservableGitHubClient _github;
+
+ public ObservableEnterpriseAdminStatsClientTest()
+ {
+ _github = new ObservableGitHubClient(Helper.GetAuthenticatedClient());
+ }
+
+ [GitHubEnterpriseTest]
+ public async Task CanGetStatisticsIssues()
+ {
+ var issueStats = await
+ _github.Enterprise.AdminStats.GetStatisticsIssues();
+
+ Assert.NotNull(issueStats);
+ }
+
+ [GitHubEnterpriseTest]
+ public async Task CanGetStatisticsHooks()
+ {
+ var hookStats = await
+ _github.Enterprise.AdminStats.GetStatisticsHooks();
+
+ Assert.NotNull(hookStats);
+ }
+
+ [GitHubEnterpriseTest]
+ public async Task CanGetStatisticsMilestones()
+ {
+ var milestoneStats = await
+ _github.Enterprise.AdminStats.GetStatisticsMilestones();
+
+ Assert.NotNull(milestoneStats);
+ }
+
+ [GitHubEnterpriseTest]
+ public async Task CanGetStatisticsOrgs()
+ {
+ var orgStats = await
+ _github.Enterprise.AdminStats.GetStatisticsOrgs();
+
+ Assert.NotNull(orgStats);
+ }
+
+ [GitHubEnterpriseTest]
+ public async Task CanGetStatisticsComments()
+ {
+ var commentStats = await
+ _github.Enterprise.AdminStats.GetStatisticsComments();
+
+ Assert.NotNull(commentStats);
+ }
+
+ [GitHubEnterpriseTest]
+ public async Task CanGetStatisticsPages()
+ {
+ var pageStats = await
+ _github.Enterprise.AdminStats.GetStatisticsPages();
+
+ Assert.NotNull(pageStats);
+ }
+
+ [GitHubEnterpriseTest]
+ public async Task CanGetStatisticsUsers()
+ {
+ var userStats = await
+ _github.Enterprise.AdminStats.GetStatisticsUsers();
+
+ Assert.NotNull(userStats);
+ }
+
+ [GitHubEnterpriseTest]
+ public async Task CanGetStatisticsGists()
+ {
+ var gistStats = await
+ _github.Enterprise.AdminStats.GetStatisticsGists();
+
+ Assert.NotNull(gistStats);
+ }
+
+ [GitHubEnterpriseTest]
+ public async Task CanGetStatisticsPulls()
+ {
+ var pullStats = await
+ _github.Enterprise.AdminStats.GetStatisticsPulls();
+
+ Assert.NotNull(pullStats);
+ }
+
+ [GitHubEnterpriseTest]
+ public async Task CanGetStatisticsRepos()
+ {
+ var repoStats = await
+ _github.Enterprise.AdminStats.GetStatisticsRepos();
+
+ Assert.NotNull(repoStats);
+ }
+
+ [GitHubEnterpriseTest]
+ public async Task CanGetStatisticsAll()
+ {
+ var adminStats = await
+ _github.Enterprise.AdminStats.GetStatisticsAll();
+
+ Assert.NotNull(adminStats);
+ Assert.NotNull(adminStats.Repos);
+ Assert.NotNull(adminStats.Hooks);
+ Assert.NotNull(adminStats.Pages);
+ Assert.NotNull(adminStats.Orgs);
+ Assert.NotNull(adminStats.Users);
+ Assert.NotNull(adminStats.Pulls);
+ Assert.NotNull(adminStats.Issues);
+ Assert.NotNull(adminStats.Milestones);
+ Assert.NotNull(adminStats.Gists);
+ Assert.NotNull(adminStats.Comments);
+ }
+ }
+}
\ No newline at end of file
diff --git a/Octokit.Tests/Clients/Enterprise/EnterpriseAdminStatsClientTest.cs b/Octokit.Tests/Clients/Enterprise/EnterpriseAdminStatsClientTest.cs
index ee3b9848..dbb270b3 100644
--- a/Octokit.Tests/Clients/Enterprise/EnterpriseAdminStatsClientTest.cs
+++ b/Octokit.Tests/Clients/Enterprise/EnterpriseAdminStatsClientTest.cs
@@ -6,7 +6,7 @@ namespace Octokit.Tests.Clients
{
public class EnterpriseAdminStatsClientTest
{
- public class TheGetStatisticsMethod
+ public class TheGetStatisticsIssuesMethod
{
[Fact]
public void RequestsCorrectUrl()
@@ -14,70 +14,149 @@ namespace Octokit.Tests.Clients
var connection = Substitute.For();
var client = new EnterpriseAdminStatsClient(connection);
- foreach (AdminStatsType type in Enum.GetValues(typeof(AdminStatsType)))
- {
- client.GetStatistics(type);
+ string expectedUri = "enterprise/stats/issues";
+ client.GetStatisticsIssues();
+ connection.Received().Get(Arg.Is(u => u.ToString() == expectedUri), null);
+ }
+ }
- string expectedUri = String.Format("enterprise/stats/{0}", type.ToString().ToLowerInvariant());
- switch (type)
- {
- case AdminStatsType.All:
- {
- connection.Received().Get(Arg.Is(u => u.ToString() == expectedUri), null);
- break;
- }
- case AdminStatsType.Repos:
- {
- connection.Received().Get(Arg.Is(u => u.ToString() == expectedUri), null);
- break;
- }
- case AdminStatsType.Hooks:
- {
- connection.Received().Get(Arg.Is(u => u.ToString() == expectedUri), null);
- break;
- }
- case AdminStatsType.Pages:
- {
- connection.Received().Get(Arg.Is(u => u.ToString() == expectedUri), null);
- break;
- }
- case AdminStatsType.Orgs:
- {
- connection.Received().Get(Arg.Is(u => u.ToString() == expectedUri), null);
- break;
- }
- case AdminStatsType.Users:
- {
- connection.Received().Get(Arg.Is(u => u.ToString() == expectedUri), null);
- break;
- }
- case AdminStatsType.Pulls:
- {
- connection.Received().Get(Arg.Is(u => u.ToString() == expectedUri), null);
- break;
- }
- case AdminStatsType.Issues:
- {
- connection.Received().Get(Arg.Is(u => u.ToString() == expectedUri), null);
- break;
- }
- case AdminStatsType.Milestones:
- {
- connection.Received().Get(Arg.Is(u => u.ToString() == expectedUri), null);
- break;
- }
- case AdminStatsType.Gists:
- {
- connection.Received().Get(Arg.Is(u => u.ToString() == expectedUri), null);
- break;
- }
- case AdminStatsType.Comments:
- {
- connection.Received().Get(Arg.Is(u => u.ToString() == expectedUri), null);
- break;
- }
- }
- }
+ public class TheGetStatisticsHooksMethod
+ {
+ [Fact]
+ public void RequestsCorrectUrl()
+ {
+ var connection = Substitute.For();
+ var client = new EnterpriseAdminStatsClient(connection);
+
+ string expectedUri = "enterprise/stats/hooks";
+ client.GetStatisticsHooks();
+ connection.Received().Get(Arg.Is(u => u.ToString() == expectedUri), null);
+ }
+ }
+
+ public class TheGetStatisticsMilestonesMethod
+ {
+ [Fact]
+ public void RequestsCorrectUrl()
+ {
+ var connection = Substitute.For();
+ var client = new EnterpriseAdminStatsClient(connection);
+
+ string expectedUri = "enterprise/stats/milestones";
+ client.GetStatisticsMilestones();
+ connection.Received().Get(Arg.Is(u => u.ToString() == expectedUri), null);
+ }
+ }
+
+ public class TheGetStatisticsOrgsMethod
+ {
+ [Fact]
+ public void RequestsCorrectUrl()
+ {
+ var connection = Substitute.For();
+ var client = new EnterpriseAdminStatsClient(connection);
+
+ string expectedUri = "enterprise/stats/orgs";
+ client.GetStatisticsOrgs();
+ connection.Received().Get(Arg.Is(u => u.ToString() == expectedUri), null);
+ }
+ }
+
+ public class TheGetStatisticsCommentsMethod
+ {
+ [Fact]
+ public void RequestsCorrectUrl()
+ {
+ var connection = Substitute.For();
+ var client = new EnterpriseAdminStatsClient(connection);
+
+ string expectedUri = "enterprise/stats/comments";
+ client.GetStatisticsComments();
+ connection.Received().Get(Arg.Is(u => u.ToString() == expectedUri), null);
+ }
+ }
+
+ public class TheGetStatisticsPagesMethod
+ {
+ [Fact]
+ public void RequestsCorrectUrl()
+ {
+ var connection = Substitute.For();
+ var client = new EnterpriseAdminStatsClient(connection);
+
+ string expectedUri = "enterprise/stats/pages";
+ client.GetStatisticsPages();
+ connection.Received().Get(Arg.Is(u => u.ToString() == expectedUri), null);
+ }
+ }
+
+ public class TheGetStatisticsUsersMethod
+ {
+ [Fact]
+ public void RequestsCorrectUrl()
+ {
+ var connection = Substitute.For();
+ var client = new EnterpriseAdminStatsClient(connection);
+
+ string expectedUri = "enterprise/stats/users";
+ client.GetStatisticsUsers();
+ connection.Received().Get(Arg.Is(u => u.ToString() == expectedUri), null);
+ }
+ }
+
+ public class TheGetStatisticsGistsMethod
+ {
+ [Fact]
+ public void RequestsCorrectUrl()
+ {
+ var connection = Substitute.For();
+ var client = new EnterpriseAdminStatsClient(connection);
+
+ string expectedUri = "enterprise/stats/gists";
+ client.GetStatisticsGists();
+ connection.Received().Get(Arg.Is(u => u.ToString() == expectedUri), null);
+ }
+ }
+
+ public class TheGetStatisticsPullsMethod
+ {
+ [Fact]
+ public void RequestsCorrectUrl()
+ {
+ var connection = Substitute.For();
+ var client = new EnterpriseAdminStatsClient(connection);
+
+ string expectedUri = "enterprise/stats/pulls";
+ client.GetStatisticsPulls();
+ connection.Received().Get(Arg.Is(u => u.ToString() == expectedUri), null);
+ }
+ }
+
+ public class TheGetStatisticsReposMethod
+ {
+ [Fact]
+ public void RequestsCorrectUrl()
+ {
+ var connection = Substitute.For();
+ var client = new EnterpriseAdminStatsClient(connection);
+
+ string expectedUri = "enterprise/stats/repos";
+ client.GetStatisticsRepos();
+ connection.Received().Get(Arg.Is(u => u.ToString() == expectedUri), null);
+ }
+ }
+
+ public class TheGetStatisticsAllMethod
+ {
+ [Fact]
+ public void RequestsCorrectUrl()
+ {
+ var connection = Substitute.For();
+ var client = new EnterpriseAdminStatsClient(connection);
+
+ string expectedUri = "enterprise/stats/all";
+ client.GetStatisticsAll();
+ connection.Received().Get(Arg.Is(u => u.ToString() == expectedUri), null);
}
}
}
diff --git a/Octokit.Tests/Reactive/Enterprise/ObservableEnterpriseAdminStatsClientTests.cs b/Octokit.Tests/Reactive/Enterprise/ObservableEnterpriseAdminStatsClientTests.cs
index bfbfc9d5..fb219ba9 100644
--- a/Octokit.Tests/Reactive/Enterprise/ObservableEnterpriseAdminStatsClientTests.cs
+++ b/Octokit.Tests/Reactive/Enterprise/ObservableEnterpriseAdminStatsClientTests.cs
@@ -1,13 +1,27 @@
-using NSubstitute;
+using System;
+using NSubstitute;
using Octokit.Reactive;
-using System;
using Xunit;
namespace Octokit.Tests
{
public class ObservableEnterpriseAdminStatsClientTests
{
- public class TheGetStatisticsMethod
+ public class TheGetStatisticsIssuesMethod
+ {
+ [Fact]
+ public void CallsIntoClient()
+ {
+
+ var github = Substitute.For();
+ var client = new ObservableEnterpriseAdminStatsClient(github);
+
+ client.GetStatisticsIssues();
+ github.Enterprise.AdminStats.Received(1).GetStatisticsIssues();
+ }
+ }
+
+ public class TheGetStatisticsHooksMethod
{
[Fact]
public void CallsIntoClient()
@@ -15,16 +29,132 @@ namespace Octokit.Tests
var github = Substitute.For();
var client = new ObservableEnterpriseAdminStatsClient(github);
- foreach (AdminStatsType type in Enum.GetValues(typeof(AdminStatsType)))
- {
- var expectedUri = "enterprise/stats/{0}".FormatUri(type.ToString().ToLowerInvariant());
- client.GetStatistics(type);
+ client.GetStatisticsHooks();
+ github.Enterprise.AdminStats.Received(1).GetStatisticsHooks();
+ }
+ }
- github.Enterprise.AdminStats.Received(1).GetStatistics(type);
+ public class TheGetStatisticsMilestonesMethod
+ {
+ [Fact]
+ public void CallsIntoClient()
+ {
+ var github = Substitute.For();
+ var client = new ObservableEnterpriseAdminStatsClient(github);
+
+ client.GetStatisticsMilestones();
+ github.Enterprise.AdminStats.Received(1).GetStatisticsMilestones();
+ }
+ }
+
+ public class TheGetStatisticsOrgsMethod
+ {
+ [Fact]
+ public void CallsIntoClient()
+ {
+ var github = Substitute.For();
+ var client = new ObservableEnterpriseAdminStatsClient(github);
+
+ client.GetStatisticsOrgs();
+ github.Enterprise.AdminStats.Received(1).GetStatisticsOrgs();
+ }
+ }
+
+ public class TheGetStatisticsCommentsMethod
+ {
+ [Fact]
+ public void CallsIntoClient()
+ {
+ {
+ var github = Substitute.For();
+ var client = new ObservableEnterpriseAdminStatsClient(github);
+
+ client.GetStatisticsComments();
+ github.Enterprise.AdminStats.Received(1).GetStatisticsComments();
}
}
}
+ public class TheGetStatisticsPagesMethod
+ {
+ [Fact]
+ public void CallsIntoClient()
+ {
+
+ var github = Substitute.For();
+ var client = new ObservableEnterpriseAdminStatsClient(github);
+
+ client.GetStatisticsPages();
+ github.Enterprise.AdminStats.Received(1).GetStatisticsPages();
+ }
+ }
+
+ public class TheGetStatisticsUsersMethod
+ {
+ [Fact]
+ public void CallsIntoClient()
+ {
+ var github = Substitute.For();
+ var client = new ObservableEnterpriseAdminStatsClient(github);
+
+ client.GetStatisticsUsers();
+ github.Enterprise.AdminStats.Received(1).GetStatisticsUsers();
+ }
+ }
+
+ public class TheGetStatisticsGistsMethod
+ {
+ [Fact]
+ public void CallsIntoClient()
+ {
+ var github = Substitute.For();
+ var client = new ObservableEnterpriseAdminStatsClient(github);
+
+ client.GetStatisticsGists();
+ github.Enterprise.AdminStats.Received(1).GetStatisticsGists();
+ }
+ }
+
+ public class TheGetStatisticsPullsMethod
+ {
+ [Fact]
+ public void CallsIntoClient()
+ {
+
+ var github = Substitute.For();
+ var client = new ObservableEnterpriseAdminStatsClient(github);
+
+ client.GetStatisticsPulls();
+ github.Enterprise.AdminStats.Received(1).GetStatisticsPulls();
+ }
+ }
+
+ public class TheGetStatisticsReposMethod
+ {
+ [Fact]
+ public void CallsIntoClient()
+ {
+ var github = Substitute.For();
+ var client = new ObservableEnterpriseAdminStatsClient(github);
+
+ client.GetStatisticsRepos();
+ github.Enterprise.AdminStats.Received(1).GetStatisticsRepos();
+ }
+ }
+
+ public class TheGetStatisticsAllMethod
+ {
+ [Fact]
+ public void CallsIntoClient()
+ {
+ var github = Substitute.For();
+ var client = new ObservableEnterpriseAdminStatsClient(github);
+
+ client.GetStatisticsAll();
+ github.Enterprise.AdminStats.Received(1).GetStatisticsAll();
+ }
+ }
+
public class TheCtor
{
[Fact]
@@ -35,4 +165,4 @@ namespace Octokit.Tests
}
}
}
-}
+}
\ No newline at end of file
diff --git a/Octokit/Clients/Enterprise/EnterpriseAdminStatsClient.cs b/Octokit/Clients/Enterprise/EnterpriseAdminStatsClient.cs
index 03bc8289..69bf34f1 100644
--- a/Octokit/Clients/Enterprise/EnterpriseAdminStatsClient.cs
+++ b/Octokit/Clients/Enterprise/EnterpriseAdminStatsClient.cs
@@ -1,6 +1,4 @@
-using System;
-using System.Diagnostics.CodeAnalysis;
-using System.Threading.Tasks;
+using System.Threading.Tasks;
namespace Octokit
{
@@ -16,100 +14,169 @@ namespace Octokit
: base(apiConnection)
{ }
+ ///
+ /// Gets GitHub Enterprise Issue statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ public async Task GetStatisticsIssues()
+ {
+ var endpoint = ApiUrls.EnterpriseAdminStatsIssues();
+
+ return await ApiConnection.Get(endpoint)
+ .ConfigureAwait(false);
+ }
+
+ ///
+ /// Gets GitHub Enterprise Hook statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ public async Task GetStatisticsHooks()
+ {
+ var endpoint = ApiUrls.EnterpriseAdminStatsHooks();
+
+ return await ApiConnection.Get(endpoint)
+ .ConfigureAwait(false);
+ }
+
+ ///
+ /// Gets GitHub Enterprise Milestone statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ public async Task GetStatisticsMilestones()
+ {
+ var endpoint = ApiUrls.EnterpriseAdminStatsMilestones();
+
+ return await ApiConnection.Get(endpoint)
+ .ConfigureAwait(false);
+ }
+
+ ///
+ /// Gets GitHub Enterprise Organization statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ public async Task GetStatisticsOrgs()
+ {
+ var endpoint = ApiUrls.EnterpriseAdminStatsOrgs();
+
+ return await ApiConnection.Get(endpoint)
+ .ConfigureAwait(false);
+ }
+
+ ///
+ /// Gets GitHub Enterprise Comment statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ public async Task GetStatisticsComments()
+ {
+ var endpoint = ApiUrls.EnterpriseAdminStatsComments();
+
+ return await ApiConnection.Get(endpoint)
+ .ConfigureAwait(false);
+ }
+
+ ///
+ /// Gets GitHub Enterprise Pages statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ public async Task GetStatisticsPages()
+ {
+ var endpoint = ApiUrls.EnterpriseAdminStatsPages();
+
+ return await ApiConnection.Get(endpoint)
+ .ConfigureAwait(false);
+ }
+
+ ///
+ /// Gets GitHub Enterprise User statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ public async Task GetStatisticsUsers()
+ {
+ var endpoint = ApiUrls.EnterpriseAdminStatsUsers();
+
+ return await ApiConnection.Get(endpoint)
+ .ConfigureAwait(false);
+ }
+
+ ///
+ /// Gets GitHub Enterprise Gist statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ public async Task GetStatisticsGists()
+ {
+ var endpoint = ApiUrls.EnterpriseAdminStatsGists();
+
+ return await ApiConnection.Get(endpoint)
+ .ConfigureAwait(false);
+ }
+
+ ///
+ /// Gets GitHub Enterprise PullRequest statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ public async Task GetStatisticsPulls()
+ {
+ var endpoint = ApiUrls.EnterpriseAdminStatsPulls();
+
+ return await ApiConnection.Get(endpoint)
+ .ConfigureAwait(false);
+ }
+
+ ///
+ /// Gets GitHub Enterprise Repository statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ public async Task GetStatisticsRepos()
+ {
+ var endpoint = ApiUrls.EnterpriseAdminStatsRepos();
+
+ return await ApiConnection.Get(endpoint)
+ .ConfigureAwait(false);
+ }
+
///
/// Gets GitHub Enterprise statistics (must be Site Admin user).
///
///
- ///https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
///
- /// The collection for the requested type.
- [SuppressMessage("Microsoft.Globalization", "CA1308:NormalizeStringsToUppercase")]
- public async Task GetStatistics(AdminStatsType type)
+ /// The collection of statistics.
+ public async Task GetStatisticsAll()
{
- var endpoint = ApiUrls.EnterpriseAdminStats(type.ToString().ToLowerInvariant());
+ var endpoint = ApiUrls.EnterpriseAdminStatsAll();
- if (type == AdminStatsType.All)
- {
- return await ApiConnection.Get(endpoint)
+ return await ApiConnection.Get(endpoint)
.ConfigureAwait(false);
- }
-
- AdminStatsRepos repos = null;
- AdminStatsHooks hooks = null;
- AdminStatsPages pages = null;
- AdminStatsOrgs orgs = null;
- AdminStatsUsers users = null;
- AdminStatsPulls pulls = null;
- AdminStatsIssues issues = null;
- AdminStatsMilestones milestones = null;
- AdminStatsGists gists = null;
- AdminStatsComments comments = null;
-
- switch (type)
- {
- case AdminStatsType.Repos:
- {
- repos = await ApiConnection.Get(endpoint)
- .ConfigureAwait(false);
- break;
- }
- case AdminStatsType.Hooks:
- {
- hooks = await ApiConnection.Get(endpoint)
- .ConfigureAwait(false);
- break;
- }
- case AdminStatsType.Pages:
- {
- pages = await ApiConnection.Get(endpoint)
- .ConfigureAwait(false);
- break;
- }
- case AdminStatsType.Orgs:
- {
- orgs = await ApiConnection.Get(endpoint)
- .ConfigureAwait(false);
- break;
- }
- case AdminStatsType.Users:
- {
- users = await ApiConnection.Get(endpoint)
- .ConfigureAwait(false);
- break;
- }
- case AdminStatsType.Pulls:
- {
- pulls = await ApiConnection.Get(endpoint)
- .ConfigureAwait(false);
- break;
- }
- case AdminStatsType.Issues:
- {
- issues = await ApiConnection.Get(endpoint)
- .ConfigureAwait(false);
- break;
- }
- case AdminStatsType.Milestones:
- {
- milestones = await ApiConnection.Get(endpoint)
- .ConfigureAwait(false);
- break;
- }
- case AdminStatsType.Gists:
- {
- gists = await ApiConnection.Get(endpoint)
- .ConfigureAwait(false);
- break;
- }
- case AdminStatsType.Comments:
- {
- comments = await ApiConnection.Get(endpoint)
- .ConfigureAwait(false);
- break;
- }
- }
-
- return new AdminStats(repos, hooks, pages, orgs, users, pulls, issues, milestones, gists, comments);
}
}
}
diff --git a/Octokit/Clients/Enterprise/EnterpriseClient.cs b/Octokit/Clients/Enterprise/EnterpriseClient.cs
index f78d7aac..42e1763a 100644
--- a/Octokit/Clients/Enterprise/EnterpriseClient.cs
+++ b/Octokit/Clients/Enterprise/EnterpriseClient.cs
@@ -1,7 +1,4 @@
-using System;
-using System.Threading.Tasks;
-
-namespace Octokit
+namespace Octokit
{
///
/// A client for GitHub's Enterprise API.
diff --git a/Octokit/Clients/Enterprise/IEnterpriseAdminStatsClient.cs b/Octokit/Clients/Enterprise/IEnterpriseAdminStatsClient.cs
index 718b9f29..52c9e4e6 100644
--- a/Octokit/Clients/Enterprise/IEnterpriseAdminStatsClient.cs
+++ b/Octokit/Clients/Enterprise/IEnterpriseAdminStatsClient.cs
@@ -1,4 +1,5 @@
-using System.Threading.Tasks;
+using System.Diagnostics.CodeAnalysis;
+using System.Threading.Tasks;
namespace Octokit
{
@@ -10,28 +11,115 @@ namespace Octokit
///
public interface IEnterpriseAdminStatsClient
{
+ ///
+ /// Gets GitHub Enterprise Issue statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
+ Task GetStatisticsIssues();
+
+ ///
+ /// Gets GitHub Enterprise Hook statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
+ Task GetStatisticsHooks();
+
+ ///
+ /// Gets GitHub Enterprise Milestone statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
+ Task GetStatisticsMilestones();
+
+ ///
+ /// Gets GitHub Enterprise Organization statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
+ Task GetStatisticsOrgs();
+
+ ///
+ /// Gets GitHub Enterprise Comment statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
+ Task GetStatisticsComments();
+
+ ///
+ /// Gets GitHub Enterprise Pages statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
+ Task GetStatisticsPages();
+
+ ///
+ /// Gets GitHub Enterprise User statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
+ Task GetStatisticsUsers();
+
+ ///
+ /// Gets GitHub Enterprise Gist statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
+ Task GetStatisticsGists();
+
+ ///
+ /// Gets GitHub Enterprise PullRequest statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
+ Task GetStatisticsPulls();
+
+ ///
+ /// Gets GitHub Enterprise Repository statistics (must be Site Admin user).
+ ///
+ ///
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ ///
+ /// The statistics.
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
+ Task GetStatisticsRepos();
+
///
/// Gets GitHub Enterprise statistics (must be Site Admin user).
///
///
- ///https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
+ /// https://developer.github.com/v3/enterprise/admin_stats/#get-statistics
///
- /// The collection for the requested type.
- Task GetStatistics(AdminStatsType type);
- }
-
- public enum AdminStatsType
- {
- Issues,
- Hooks,
- Milestones,
- Orgs,
- Comments,
- Pages,
- Users,
- Gists,
- Pulls,
- Repos,
- All
+ /// The collection of statistics.
+ [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
+ Task GetStatisticsAll();
}
}
diff --git a/Octokit/Helpers/ApiUrls.cs b/Octokit/Helpers/ApiUrls.cs
index 9811e446..734382be 100644
--- a/Octokit/Helpers/ApiUrls.cs
+++ b/Octokit/Helpers/ApiUrls.cs
@@ -1555,9 +1555,64 @@ namespace Octokit
return "repos/{0}/{1}/contents/{2}?ref={3}".FormatUri(owner, name, path, reference);
}
- public static Uri EnterpriseAdminStats(string type)
+ private static Uri EnterpriseAdminStats(string type)
{
return "enterprise/stats/{0}".FormatUri(type);
}
+
+ public static Uri EnterpriseAdminStatsIssues()
+ {
+ return EnterpriseAdminStats("issues");
+ }
+
+ public static Uri EnterpriseAdminStatsHooks()
+ {
+ return EnterpriseAdminStats("hooks");
+ }
+
+ public static Uri EnterpriseAdminStatsMilestones()
+ {
+ return EnterpriseAdminStats("milestones");
+ }
+
+ public static Uri EnterpriseAdminStatsOrgs()
+ {
+ return EnterpriseAdminStats("orgs");
+ }
+
+ public static Uri EnterpriseAdminStatsComments()
+ {
+ return EnterpriseAdminStats("comments");
+ }
+
+ public static Uri EnterpriseAdminStatsPages()
+ {
+ return EnterpriseAdminStats("pages");
+ }
+
+ public static Uri EnterpriseAdminStatsUsers()
+ {
+ return EnterpriseAdminStats("users");
+ }
+
+ public static Uri EnterpriseAdminStatsGists()
+ {
+ return EnterpriseAdminStats("gists");
+ }
+
+ public static Uri EnterpriseAdminStatsPulls()
+ {
+ return EnterpriseAdminStats("pulls");
+ }
+
+ public static Uri EnterpriseAdminStatsRepos()
+ {
+ return EnterpriseAdminStats("repos");
+ }
+
+ public static Uri EnterpriseAdminStatsAll()
+ {
+ return EnterpriseAdminStats("all");
+ }
}
}