コード例 #1
0
        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);
        }
コード例 #2
0
 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());
 }
コード例 #3
0
        public TheEditBranchesMethod()
        {
            var github = Helper.GetAuthenticatedClient();

            _context = github.CreateRepositoryContext("source-repo").Result;
            _fixture = github.Repository;
        }
コード例 #4
0
        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));
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        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);
        }
コード例 #8
0
        /// <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));
        }
コード例 #9
0
        public ObservableRepositoriesClient(IGitHubClient client)
        {
            Ensure.ArgumentNotNull(client, "client");

            _client      = client.Repository;
            _connection  = client.Connection;
            CommitStatus = new ObservableCommitStatusClient(client);
        }
コード例 #10
0
 public ObservableRepositoriesClient(IGitHubClient client)
 {
     Ensure.ArgumentNotNull(client, "client");
     
     _client = client.Repository;
     _connection = client.Connection;
     CommitStatus = new ObservableCommitStatusClient(client);
 }
コード例 #11
0
 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;
 }
コード例 #12
0
        private async Task <PullRequest> FetchPullRequestObj(IRepositoriesClient repo)
        {
            var pr =
                await
                repo.PullRequest.Get(PullRequestLocator.Owner, PullRequestLocator.Repository,
                                     PullRequestLocator.PullRequestNumber);

            return(pr);
        }
コード例 #13
0
        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);
        }
コード例 #14
0
 public PostBlogComment(
     GitHubClient githubClient,
     CommentInfo info,
     ISerializer yamlSerializer)
 {
     _githubClient     = githubClient;
     _githubRepoClient = _githubClient.Repository;
     _info             = info;
     _yamlSerializer   = yamlSerializer;
 }
コード例 #15
0
        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);
        }
コード例 #16
0
 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);
 }
コード例 #17
0
ファイル: GithubExtensions.cs プロジェクト: cythral/cfn
        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));
        }
コード例 #19
0
        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);
        }
コード例 #20
0
        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);
        }
コード例 #21
0
 private void FetchCommitsInPrAsync(IRepositoriesClient repo)
 {
     _backgroundTaskRunner.RunInBackground(() => RetrieveCommits(repo.PullRequest,
                                                                 _PullRequestLocator, new CommitsCombiner(Commits)));
 }
コード例 #22
0
 public TheEditBranchMethod()
 {
     var github = Helper.GetAuthenticatedClient();
     _context = github.CreateRepositoryContext("source-repo").Result;
     _fixture = github.Repository;
 }
コード例 #23
0
        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();
        }
コード例 #24
0
 public static void Init()
 {
     Git = new GitHubClient(new ProductHeaderValue("NTRClient"));
     Rep = Git.Repository;
 }
コード例 #25
0
ファイル: Octo.cs プロジェクト: imthe666st/NTRClient
 public static void Init()
 {
     Git = new GitHubClient(new ProductHeaderValue("NTRClient"));
     Rep = Git.Repository;
 }
コード例 #26
0
ファイル: Octo.cs プロジェクト: MasterScott/NTRClient
 public static void init()
 {
     git = new GitHubClient(new ProductHeaderValue("ntrclient"));
     rep = git.Repository;
 }
コード例 #27
0
 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)));
 }
コード例 #28
0
 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))));
 }