mirror of
https://github.com/zoriya/octokit.net.git
synced 2025-12-05 23:06:10 +00:00
* First Iteration Need to finish tests and docs * Mostly Complete * Fixing tests and adding review comments * Added tests for reactive client * Moved Reviews inside fo the Pull request client for better organization and began initial intigration testing * Fixing bad recursive function breaking tests * test fixes * Add paging support to review comments call * Fixing recursive function * Addressing comments from PR * fixing CI break * Typo build break * Fixing Convention Tests * Adding correct nameof() usage in Ensure * Small consitancy changes * Trigger build * Address PR Comments * Fixup test naming * Fix sub client ordering and incorrect URL * Tidy up comments and remove StringEnum wrapper from Request models as it is only for Response models * Rename GetReview to Get * tweak debugger display * Rework integration tests - implement the easy Get/GetAll ones first... * Implement integration tests for Create method. Move helpers to create PR/review into SetupHelper class Fixed up review status enum to contain correct values Tests for Approve/RequestChanges currently failing as a user cant approve/request changes on their own PR * Implement secondary account settings for integration tests and a new [DualAccountTest] attribute for discovery when configured Change integration test to create PR from the 2nd account, so the main test account is able to perform review actions on the PR * Add integration tests for Delete, Dismiss and Submit methods Fixed up API client implementation for delete (was looking for incorrect 201 http status) Removed unnecessary await/async calls from client implementations that dont need to do anything with the result * Attempting to add comments as part of a review revealed that we cant use the existing PullRequestReviewCommentCreate class as the API throws a validation error due to the CommitId field These newer review APIs need a DraftPullRequestReviewComment (that doesnt have a commitId) instead * add second test account user/password to configure-integration-tests script
84 lines
3.8 KiB
C#
84 lines
3.8 KiB
C#
using System;
|
|
|
|
namespace Octokit.Reactive
|
|
{
|
|
public class ObservableGitHubClient : IObservableGitHubClient
|
|
{
|
|
readonly IGitHubClient _gitHubClient;
|
|
|
|
public ObservableGitHubClient(ProductHeaderValue productInformation)
|
|
: this(new GitHubClient(productInformation))
|
|
{
|
|
}
|
|
|
|
public ObservableGitHubClient(ProductHeaderValue productInformation, ICredentialStore credentialStore)
|
|
: this(new GitHubClient(productInformation, credentialStore))
|
|
{
|
|
}
|
|
|
|
public ObservableGitHubClient(ProductHeaderValue productInformation, Uri baseAddress)
|
|
: this(new GitHubClient(productInformation, baseAddress))
|
|
{
|
|
}
|
|
|
|
public ObservableGitHubClient(ProductHeaderValue productInformation, ICredentialStore credentialStore, Uri baseAddress)
|
|
: this(new GitHubClient(productInformation, credentialStore, baseAddress))
|
|
{
|
|
}
|
|
|
|
public ObservableGitHubClient(IGitHubClient gitHubClient)
|
|
{
|
|
Ensure.ArgumentNotNull(gitHubClient, "githubClient");
|
|
|
|
_gitHubClient = gitHubClient;
|
|
Authorization = new ObservableAuthorizationsClient(gitHubClient);
|
|
Activity = new ObservableActivitiesClient(gitHubClient);
|
|
Issue = new ObservableIssuesClient(gitHubClient);
|
|
Miscellaneous = new ObservableMiscellaneousClient(gitHubClient);
|
|
Oauth = new ObservableOauthClient(gitHubClient);
|
|
Organization = new ObservableOrganizationsClient(gitHubClient);
|
|
PullRequest = new ObservablePullRequestsClient(gitHubClient);
|
|
PullRequestReview = new ObservablePullRequestReviewsClient(gitHubClient);
|
|
Repository = new ObservableRepositoriesClient(gitHubClient);
|
|
User = new ObservableUsersClient(gitHubClient);
|
|
Git = new ObservableGitDatabaseClient(gitHubClient);
|
|
Gist = new ObservableGistsClient(gitHubClient);
|
|
Search = new ObservableSearchClient(gitHubClient);
|
|
Enterprise = new ObservableEnterpriseClient(gitHubClient);
|
|
Migration = new ObservableMigrationClient(gitHubClient);
|
|
Reaction = new ObservableReactionsClient(gitHubClient);
|
|
}
|
|
|
|
public IConnection Connection
|
|
{
|
|
get { return _gitHubClient.Connection; }
|
|
}
|
|
|
|
public IObservableAuthorizationsClient Authorization { get; private set; }
|
|
public IObservableActivitiesClient Activity { get; private set; }
|
|
public IObservableIssuesClient Issue { get; private set; }
|
|
public IObservableMiscellaneousClient Miscellaneous { get; private set; }
|
|
public IObservableOauthClient Oauth { get; private set; }
|
|
public IObservableOrganizationsClient Organization { get; private set; }
|
|
public IObservablePullRequestsClient PullRequest { get; private set; }
|
|
public IObservablePullRequestReviewsClient PullRequestReview { get; private set; }
|
|
public IObservableRepositoriesClient Repository { get; private set; }
|
|
public IObservableGistsClient Gist { get; private set; }
|
|
public IObservableUsersClient User { get; private set; }
|
|
public IObservableGitDatabaseClient Git { get; private set; }
|
|
public IObservableSearchClient Search { get; private set; }
|
|
public IObservableEnterpriseClient Enterprise { get; private set; }
|
|
public IObservableMigrationClient Migration { get; private set; }
|
|
public IObservableReactionsClient Reaction { get; private set; }
|
|
|
|
/// <summary>
|
|
/// Gets the latest API Info - this will be null if no API calls have been made
|
|
/// </summary>
|
|
/// <returns><seealso cref="ApiInfo"/> representing the information returned as part of an Api call</returns>
|
|
public ApiInfo GetLastApiInfo()
|
|
{
|
|
return _gitHubClient.Connection.GetLastApiInfo();
|
|
}
|
|
}
|
|
}
|