public ObservableRepositoriesClient(IGitHubClient client) { Ensure.ArgumentNotNull(client, "client"); _client = client.Repository; _connection = client.Connection; Status = new ObservableCommitStatusClient(client); Hooks = new ObservableRepositoryHooksClient(client); Forks = new ObservableRepositoryForksClient(client); #pragma warning disable CS0618 // Type or member is obsolete RepoCollaborators = new ObservableRepoCollaboratorsClient(client); #pragma warning restore CS0618 // Type or member is obsolete Collaborator = new ObservableRepoCollaboratorsClient(client); Deployment = new ObservableDeploymentsClient(client); Statistics = new ObservableStatisticsClient(client); PullRequest = new ObservablePullRequestsClient(client); #pragma warning disable CS0618 // Type or member is obsolete RepositoryComments = new ObservableRepositoryCommentsClient(client); #pragma warning restore CS0618 // Type or member is obsolete Comment = new ObservableRepositoryCommentsClient(client); #pragma warning disable CS0618 // Type or member is obsolete 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); Page = new ObservableRepositoryPagesClient(client); }
public static IObservable <RepositoryTag> LastTag(this IRepositoriesClient repositoriesClient, Repository repository, Func <RepositoryTag, bool> gitagFilter = null) { gitagFilter ??= (tag => true); return(repositoriesClient.GetAllTags(repository.Id).ToObservable() .Select(tags => tags.Where(gitagFilter)) .Select(list => list.First()).FirstAsync()); }
public TheEditBranchesMethod() { var github = Helper.GetAuthenticatedClient(); _context = github.CreateRepositoryContext("source-repo").Result; _fixture = github.Repository; }
private async Task UpdateChangelogFileInRepository(IRepositoriesClient repositoriesClient, Repository repository, string document) { var branch = string.IsNullOrWhiteSpace(Branch) ? repository.DefaultBranch : Branch; var existingChangelog = (await repositoriesClient.Content.GetAllContentsByRef(repository.Id, branch)) .FirstOrDefault(any => any.Name == "CHANGELOG.md"); if (existingChangelog is null) { await repositoriesClient.Content.CreateFile( repository.Id, "CHANGELOG.md", new CreateFileRequest("Added CHANGELOG.md", document, branch)); } else { await repositoriesClient.Content.UpdateFile( repository.Id, "CHANGELOG.md", new UpdateFileRequest("Updated CHANGELOG.md", document, existingChangelog.Sha, branch)); } }
private static GitHubUserModelService CreateTarget( IGitHubAppInstallationsClient gitHubAppsInstallationsClient = null, IGitHubAppsClient gitHubAppsClient = null, IGitHubUserClientFactory gitHubUserClientFactory = null, IGitHubClient gitHubClient = null, IRepositoriesClient repositoryClient = null) { gitHubAppsInstallationsClient = gitHubAppsInstallationsClient ?? Substitute.For <IGitHubAppInstallationsClient>(); gitHubAppsClient = gitHubAppsClient ?? Substitute.For <IGitHubAppsClient>(); gitHubAppsClient.Installation.Returns(gitHubAppsInstallationsClient); gitHubClient = gitHubClient ?? Substitute.For <IGitHubClient>(); gitHubClient.GitHubApps.Returns(gitHubAppsClient); repositoryClient = repositoryClient ?? Substitute.For <IRepositoriesClient>(); gitHubClient.Repository.Returns(repositoryClient); gitHubUserClientFactory = gitHubUserClientFactory ?? Substitute.For <IGitHubUserClientFactory>(); gitHubUserClientFactory.CreateClient().Returns(gitHubClient); return(new GitHubUserModelService(gitHubUserClientFactory)); }
public ObservableRepositoriesClient(IGitHubClient client) { Ensure.ArgumentNotNull(client, nameof(client)); _client = client.Repository; _connection = client.Connection; Status = new ObservableCommitStatusClient(client); Hooks = new ObservableRepositoryHooksClient(client); Forks = new ObservableRepositoryForksClient(client); Collaborator = new ObservableRepoCollaboratorsClient(client); Deployment = new ObservableDeploymentsClient(client); Statistics = new ObservableStatisticsClient(client); PullRequest = new ObservablePullRequestsClient(client); Branch = new ObservableRepositoryBranchesClient(client); Comment = new ObservableRepositoryCommentsClient(client); Commit = new ObservableRepositoryCommitsClient(client); Release = new ObservableReleasesClient(client); DeployKeys = new ObservableRepositoryDeployKeysClient(client); Content = new ObservableRepositoryContentsClient(client); Merging = new ObservableMergingClient(client); Page = new ObservableRepositoryPagesClient(client); Invitation = new ObservableRepositoryInvitationsClient(client); Traffic = new ObservableRepositoryTrafficClient(client); Project = new ObservableProjectsClient(client); }
/// <summary>Asynchronously returns a <see cref="IReadOnlyList{Release}"/> of all available <see cref="Release"/>(s) from GitHub.</summary> /// <returns><see cref="IReadOnlyList{Release}"/></returns> public static async Task <IReadOnlyList <Release> > GetReleasesAsync() { GitHubClient Client = new GitHubClient(new ProductHeaderValue(@"osu-backgroundpurger", $"v{Version}")); IRepositoriesClient Repo = Client.Repository; // ReSharper disable once AsyncConverter.AsyncAwaitMayBeElidedHighlighting return(await Repo.Release.GetAll("starflash-studios", @"osu-backgroundpurger").ConfigureAwait(false)); }
public ObservableRepositoriesClient(IGitHubClient client) { Ensure.ArgumentNotNull(client, "client"); _client = client.Repository; _connection = client.Connection; CommitStatus = new ObservableCommitStatusClient(client); }
public CovidDataCollectorController(ICosmosRepository cosmosRepository, IGitHubClient gitHubClient, IDataCollector dataCollector, DbConnection dbConnection, IOptions <GitHubConfig> gitHubConfig) { this.cosmosRepository = cosmosRepository; this.gitHubRepo = gitHubClient.Repository; this.dataCollector = dataCollector; this.dbConnection = (SqlConnection)dbConnection; this.gitHubConfig = gitHubConfig; covid19Services = cosmosRepository.CosmosServices["covid19-ita"].Value; }
private async Task <PullRequest> FetchPullRequestObj(IRepositoriesClient repo) { var pr = await repo.PullRequest.Get(PullRequestLocator.Owner, PullRequestLocator.Repository, PullRequestLocator.PullRequestNumber); return(pr); }
private async Task <CompareResult> FetchCompareResult(IRepositoriesClient repo, PullRequest pr) { var commitsClient = repo.Commit; var compareResult = await commitsClient.Compare(PullRequestLocator.Owner, PullRequestLocator.Repository, pr.Base.Sha, pr.Head.Sha); return(compareResult); }
public PostBlogComment( GitHubClient githubClient, CommentInfo info, ISerializer yamlSerializer) { _githubClient = githubClient; _githubRepoClient = _githubClient.Repository; _info = info; _yamlSerializer = yamlSerializer; }
public ObservableRepositoriesClient(IGitHubClient client) { Ensure.ArgumentNotNull(client, "client"); _client = client.Repository; _connection = client.Connection; CommitStatus = new ObservableCommitStatusClient(client); RepoCollaborators = new ObservableRepoCollaboratorsClient(client); Deployment = new ObservableDeploymentsClient(client); Statistics = new ObservableStatisticsClient(client); PullRequest = new ObservablePullRequestsClient(client); }
public static async Task <bool> Exists(this IRepositoriesClient client, string owner, string name) { try { await client.Get(owner, name); return(true); } catch (Exception) { return(false); } }
private static GitHubAppModelService CreateTarget( IGitHubAppClientFactory gitHubAppClientFactory = null, IGitHubClient gitHubClient = null, IChecksClient checkClient = null, IRepositoryContentsClient repositoryContentsClient = null, IRepositoriesClient repositoriesClient = null, ICheckRunsClient checkRunsClient = null, ITokenGenerator tokenGenerator = null) { if (checkRunsClient == null) { checkRunsClient = Substitute.For <ICheckRunsClient>(); } if (checkClient == null) { checkClient = Substitute.For <IChecksClient>(); checkClient.Run.Returns(checkRunsClient); } if (repositoryContentsClient == null) { repositoryContentsClient = Substitute.For <IRepositoryContentsClient>(); } if (repositoriesClient == null) { repositoriesClient = Substitute.For <IRepositoriesClient>(); repositoriesClient.Content.Returns(repositoryContentsClient); } if (gitHubClient == null) { gitHubClient = Substitute.For <IGitHubClient>(); gitHubClient.Check.Returns(checkClient); gitHubClient.Repository.Returns(repositoriesClient); } if (gitHubAppClientFactory == null) { gitHubAppClientFactory = Substitute.For <IGitHubAppClientFactory>(); gitHubAppClientFactory.CreateAppClient(Arg.Any <ITokenGenerator>()).Returns(gitHubClient); gitHubAppClientFactory.CreateAppClientForLoginAsync(Arg.Any <ITokenGenerator>(), Arg.Any <string>()) .Returns(gitHubClient); } tokenGenerator = tokenGenerator ?? Substitute.For <ITokenGenerator>(); return(new GitHubAppModelService(gitHubAppClientFactory, tokenGenerator)); }
public void Setup() { var logger = Substitute.For <ILogger <GitHubReporter> >(); _mockClient = Substitute.For <IGitHubClient>(); _mockIssuesClient = Substitute.For <IIssuesClient>(); _mockClient.Issue.Returns(_mockIssuesClient); _mockUsersClient = Substitute.For <IUsersClient>(); _mockClient.User.Returns(_mockUsersClient); _mockRepositoryClient = Substitute.For <IRepositoriesClient>(); _mockClient.Repository.Returns(_mockRepositoryClient); var user = new User(null, null, null, 0, null, DateTime.UtcNow, DateTime.UtcNow, 0, null, 0, 0, false, null, 0, 0, null, "LOGIN", null, null, 0, null, 0, 0, 0, null, new RepositoryPermissions(), false, null, null); _mockUsersClient.Current().Returns(Task.FromResult(user)); _mockRepositoryClient.Get(Arg.Any <string>(), Arg.Any <string>()).Returns((args) => Task.FromResult(CreateRepository((string)args[0], (string)args[1], true, false))); _reporter = new GitHubReporter(logger, _mockClient, _config); }
public ObservableRepositoriesClient(IGitHubClient client) { Ensure.ArgumentNotNull(client, "client"); _client = client.Repository; _connection = client.Connection; Status = new ObservableCommitStatusClient(client); Hooks = new ObservableRepositoryHooksClient(client); Forks = new ObservableRepositoryForksClient(client); Collaborator = new ObservableRepoCollaboratorsClient(client); Deployment = new ObservableDeploymentsClient(client); Statistics = new ObservableStatisticsClient(client); PullRequest = new ObservablePullRequestsClient(client); Comment = new ObservableRepositoryCommentsClient(client); Commit = new ObservableRepositoryCommitsClient(client); Release = new ObservableReleasesClient(client); DeployKeys = new ObservableRepositoryDeployKeysClient(client); Content = new ObservableRepositoryContentsClient(client); Merging = new ObservableMergingClient(client); Page = new ObservableRepositoryPagesClient(client); Invitation = new ObservableRepositoryInvitationsClient(client); }
private void FetchCommitsInPrAsync(IRepositoriesClient repo) { _backgroundTaskRunner.RunInBackground(() => RetrieveCommits(repo.PullRequest, _PullRequestLocator, new CommitsCombiner(Commits))); }
public TheEditBranchMethod() { var github = Helper.GetAuthenticatedClient(); _context = github.CreateRepositoryContext("source-repo").Result; _fixture = github.Repository; }
public void SetUp() { _compareResults = new MockCompareResult(); _gitHubClient = Substitute.For <IGitHubClient>(); _repoClient = Substitute.For <IRepositoriesClient>(); _commitsClient = Substitute.For <IRepositoryCommitsClient>(); _prClient = Substitute.For <IPullRequestsClient>(); _contentsClient = Substitute.For <IRepositoryContentsClient>(); _fileContentPersist = Substitute.For <IFileContentPersist>(); _diffTool = Substitute.For <IDiffToolLauncher>(); _patchService = Substitute.For <IPatchService>(); _reviewClient = Substitute.For <IIssueCommentsClient>(); _commentsBuilder = Substitute.For <ICommentsBuilder>(); _commentsPersist = Substitute.For <ICommentsPersist>(); _repoHistoryPersist = Substitute.For <IRepoHistoryPersist>(); _backgroundTaskRunner = Substitute.For <IBackgroundTaskRunner>(); var userManager = Substitute.For <IUserManager>(); _gitHubClient.Repository.Returns(_repoClient); _repoClient.Commit.Returns(_commitsClient); _repoClient.PullRequest.Returns(_prClient); _repoClient.Content.Returns(_contentsClient); _gitHubClient.Issue.Comment.Returns(_reviewClient); _commitsClient.Compare(Arg.Any <string>(), Arg.Any <string>(), Arg.Any <string>(), Arg.Any <string>() ).Returns(Task.FromResult((CompareResult)_compareResults)); _mainWindowVm = new MainWindowVm(_gitHubClient, _fileContentPersist, _diffTool, _patchService, _commentsBuilder, _commentsPersist, _repoHistoryPersist, _backgroundTaskRunner, userManager) { PullRequestLocator = _pullRequestLocator, IsUrlMode = false }; _pullRequest = new MockPullRequest { Number = _pullRequestLocator.PullRequestNumber }; _prClient.Get(_mainWindowVm.PullRequestLocator.Owner, _mainWindowVm.PullRequestLocator.Repository, _mainWindowVm.PullRequestLocator.PullRequestNumber).Returns(Task.FromResult((PullRequest)_pullRequest)); _baseFileName = MainWindowVm.BuildBaseFileName(_pullRequest.Base.Sha, _compareResults.File1.Filename); _headFileName = MainWindowVm.BuildHeadFileName(_pullRequest.Head.Sha, _compareResults.File1.Filename); _commentsContainer = new CommentsContainer { GeneralComments = GeneralComments }; _commentsContainer.FileComments.Add(new FileComment { FileName = _compareResults.File1.Filename, Comments = Comment1, ReviewStatus = ReviewStatus1 }); _commentsContainer.FileComments.Add(new FileComment { FileName = _compareResults.File2.Filename, Comments = Comment2, ReviewStatus = ReviewStatus2 }); _commentsPersist.Load(Arg.Is <PullRequestLocator>(x => x.Equals(_pullRequestLocator))) .Returns(Task.FromResult(_commentsContainer)); _backgroundTaskRunner.WhenForAnyArgs(x => x.RunInBackground(null)).Do(args => { var a = args[0] as Action; a.Invoke(); }); _commentsPersist.ClearReceivedCalls(); _backgroundTaskRunner.ClearReceivedCalls(); }
public static void Init() { Git = new GitHubClient(new ProductHeaderValue("NTRClient")); Rep = Git.Repository; }
public static void init() { git = new GitHubClient(new ProductHeaderValue("ntrclient")); rep = git.Repository; }
public static IObservable <Repository> GetForOrg(this IRepositoriesClient repositoriesClient, string organization, string repositoryName) { return(repositoriesClient.GetAllForOrg(organization).ToObservable() .Select(list => list.First(repository => repository.Name == repositoryName))); }
public static IObservable <Release> LastRelease(this IRepositoriesClient repositoriesClient, Repository repository, string millestone) { return(repositoriesClient.LastTag(repository, tag => tag.Name != millestone).Select(tag => tag.Name) .SelectMany(tagName => repositoriesClient.Release.GetAll(repository.Id).ToObservable().Select(list => list.First(release => release.TagName == tagName)))); }