Exemple #1
0
            public async Task FetchesAllFilesForPullRequestWithRepositoryId()
            {
                var file         = new PullRequestFile(null, null, null, 0, 0, 0, null, null, null, null, null);
                var expectedUrl  = "repositories/1/pulls/42/files";
                var gitHubClient = Substitute.For <IGitHubClient>();
                var connection   = Substitute.For <IConnection>();
                IApiResponse <List <PullRequestFile> > response = new ApiResponse <List <PullRequestFile> >
                                                                  (
                    new Response(),
                    new List <PullRequestFile> {
                    file
                }
                                                                  );

                connection.Get <List <PullRequestFile> >(Args.Uri, null, null)
                .Returns(Task.FromResult(response));
                gitHubClient.Connection.Returns(connection);
                var client = new ObservablePullRequestsClient(gitHubClient);

                var files = await client.Files(1, 42).ToList();

                Assert.Equal(1, files.Count);
                Assert.Same(file, files[0]);
                connection.Received().Get <List <PullRequestFile> >(new Uri(expectedUrl, UriKind.Relative), null, null);
            }
Exemple #2
0
        private async Task <string> GetFileContent(string owner, string name, PullRequestFile file)
        {
            var blob = await _githubClient.Git.Blob.Get(owner, name, file.Sha);

            var fileData = Convert.FromBase64String(blob.Content);

            return(Encoding.UTF8.GetString(fileData));
        }
        private async Task <File> GetFile(PullRequestFile pullRequestFile, long subscriptionId)
        {
            var file = _files.GetValueOrDefault(pullRequestFile.Path);

            if (!_loadMegaInfo && file == null)
            {
                file = await _dbContext.FileHistories
                       .Where(q => q.SubscriptionId == subscriptionId && q.Path == pullRequestFile.Path)
                       .OrderBy(q => q.Contribution.DateTime)
                       .Select(q => q.File)
                       .LastOrDefaultAsync();

                _files[pullRequestFile.Path] = file;
            }

            return(file);
        }
            public async Task FetchesAllFilesForPullRequest()
            {
                var file = new PullRequestFile(null, null, null, 0, 0, 0, null, null, null, null);
                var expectedUrl = string.Format("repos/fake/repo/pulls/42/files");
                var gitHubClient = Substitute.For<IGitHubClient>();
                var connection = Substitute.For<IConnection>();
                IApiResponse<List<PullRequestFile>> response = new ApiResponse<List<PullRequestFile>>
                (
                    new Response(),
                    new List<PullRequestFile> { file }
                );
                connection.Get<List<PullRequestFile>>(Args.Uri, null, null)
                    .Returns(Task.FromResult(response));
                gitHubClient.Connection.Returns(connection);
                var client = new ObservablePullRequestsClient(gitHubClient);

                var files = await client.Files("fake", "repo", 42).ToList();

                Assert.Equal(1, files.Count);
                Assert.Same(file, files[0]);
                connection.Received().Get<List<PullRequestFile>>(new Uri(expectedUrl, UriKind.Relative), null, null);
            }
Exemple #5
0
 public PullRequestFileCacheItem(PullRequestFile file)
 {
     FileName = file.FileName;
     Status   = (PullRequestFileStatus)Enum.Parse(typeof(PullRequestFileStatus), file.Status, true);
 }
 public PullRequestFileNode(PullRequestFile file)
 {
     _file = file;
 }
        private async Task AddContribution(long subscriptionId, long pullRequestNumber, PullRequestFile pullRequestFile, string login, ContributionType contributionType, DateTimeOffset?mergedDateTime)
        {
            var file = await GetFile(pullRequestFile, subscriptionId);

            if (file == null || login == null)
            {
                return;
            }

            var contributor = await GetContributor(login, subscriptionId);

            var contribution = new Contribution()
            {
                ActivityId             = pullRequestNumber.ToString(),
                ContributionType       = contributionType,
                ContributorId          = contributor.Id,
                SubscriptionId         = subscriptionId,
                FileId                 = file.Id,
                DateTime               = mergedDateTime,
                ContributorGithubLogin = login
            };

            _dbContext.Add(contribution);
        }
Exemple #8
0
 private static bool IsWebsiteFile(PullRequestFile file)
 {
     return(file.FileName.StartsWith("site/"));
 }
 public PullRequestDiffViewModel Init(PullRequestFilesViewModel parentViewModel, PullRequestFile pullRequestFile)
 {
     PullRequestFile = pullRequestFile;
     ParentViewModel = parentViewModel;
     return(this);
 }