示例#1
0
        async Task TestQueryByPath()
        {
            var db = getDataContext();

            ICommitRepository cmrepo = new CommitRepository(db);
            ITreeRepository   trrepo = new TreeRepository(db);

            var rf = await cmrepo.GetCommitByRef("HEAD");

            if (rf == null)
            {
                return;
            }

            try
            {
                var tree = await trrepo.GetTreeRecursivelyFromPath(rf.Item2.TreeID, ((AbsoluteTreePath)"/src/Persists/").Canonicalize());

                if (tree != null)
                {
                    RecursivePrint(tree.Item1, tree.Item2);
                }
            }
            catch (Exception e)
            {
                Console.Error.WriteLine(e);
            }
        }
        public async Task GetStatus_ResultsPerPageIsLessThanMinimum_ThrowsArgumentOutOfRangeException()
        {
            var sut = new CommitRepository(_requestFactory);

            await Assert.ThrowsAsync <ArgumentOutOfRangeException>(
                () => sut.GetStatus(0, "commitSha", resultsPerPage: uint.MinValue));
        }
示例#3
0
        async Task <CommitID> TestCreateCommit(TreeID treeid, int num)
        {
            var db = getDataContext();

            ICommitRepository cmrepo = new CommitRepository(db);
            IRefRepository    rfrepo = new RefRepository(db);

            Tuple <Ref, Commit> parent = await cmrepo.GetCommitByRef("HEAD");

            Commit cm = new Commit.Builder(
                pParents:       parent == null ? new List <CommitID>(0) : new List <CommitID>(1)
            {
                parent.Item2.ID
            },
                pTreeID:        treeid,
                pCommitter:     "James Dunne <*****@*****.**>",
                pDateCommitted: DateTimeOffset.Parse("2011-08-29 00:00:00 -0500"),
                pMessage:       "Commit #" + num.ToString() + "."
                );

            Console.WriteLine("CommitID {0}", cm.ID);

            // Persist the commit:
            await cmrepo.PersistCommit(cm);

            // Once the commit is persisted, update HEAD ref:
            await rfrepo.PersistRef(new Ref.Builder("HEAD", cm.ID));

            return(cm.ID);
        }
示例#4
0
        async Task TestCreateTag(CommitID cmid)
        {
            var db = getDataContext();

            ICommitRepository cmrepo = new CommitRepository(db);
            ITagRepository    tgrepo = new TagRepository(db);

            Console.WriteLine("Get commit by tag 'v1.0'");
            var cm = await cmrepo.GetCommitByTagName("v1.0");

            if (cm != null)
            {
                Console.WriteLine("v1.0 was {0}", cm.Item2.ID);
#if false
                Console.WriteLine("Deleting Tag by ID {0}", cm.Item1.ID);
                await tgrepo.DeleteTag(cm.Item1.ID).Wait();
#else
                Console.WriteLine("Deleting Tag by name 'v1.0'");
                await tgrepo.DeleteTagByName("v1.0");
#endif
            }

            Tag tg = new Tag.Builder("v1.0", cmid, "James Dunne <*****@*****.**>", DateTimeOffset.Now, "Tagged for version 1.0");

            await tgrepo.PersistTag(tg);

            var tgByName = await cmrepo.GetCommitByTagName("v1.0");

            Debug.Assert(tgByName.Item2.ID == cmid);

            Console.WriteLine("Completed.");
        }
        public async Task GetDiff_ValidParameters_SetsCorrectResourceAndMethod()
        {
            var sut = new CommitRepository(_requestFactory);

            await sut.GetDiff(0, "commitSha");

            _requestFactory.Received().Create("projects/{projectId}/repository/commits/{commitSha}/diff", Method.Get);
        }
        public async Task UpdateStatus_ValidParameters_SetsCorrectResourceAndMethod()
        {
            var sut = new CommitRepository(_requestFactory);

            await sut.UpdateStatus(0, "commitSha", BuildStatus.Pending);

            _requestFactory.Received().Create("projects/{projectId}/statuses/{commitSha}", Method.Post);
        }
        public async Task GetStatus_AllIsSet_AddsAllParameter()
        {
            const bool expected = true;
            var        sut      = new CommitRepository(_requestFactory);

            await sut.GetStatus(0, "commitSha", all : expected);

            _request.Received().AddParameterIfNotNull("all", expected);
        }
        public async Task GetComments_PageIsSet_AddsPageParameter()
        {
            const uint expected = 5;
            var        sut      = new CommitRepository(_requestFactory);

            await sut.GetComments(0, "commitSha", expected);

            _request.Received().AddParameter("page", expected);
        }
        public async Task CreateComment_LineIsSet_AddsLineParameter()
        {
            const uint expected = 0;
            var        sut      = new CommitRepository(_requestFactory);

            await sut.CreateComment(0, "commitSha", "note", line : expected);

            _request.Received().AddParameterIfNotNull("line", expected);
        }
        public async Task GetAll_ValidParameters_AddsProjectIdUrlSegment()
        {
            const uint expected = 0;
            var        sut      = new CommitRepository(_requestFactory);

            await sut.GetAll(expected);

            _request.Received().AddUrlSegment("projectId", expected);
        }
        public async Task GetAll_UntilIsSet_AddsUntilParameter()
        {
            var expected = DateTime.MaxValue;
            var sut      = new CommitRepository(_requestFactory);

            await sut.GetAll(0, until : expected);

            _request.Received().AddParameterIfNotNull("until", expected);
        }
        public async Task GetAll_SinceIsSet_AddsSinceParameter()
        {
            var expected = DateTime.MinValue;
            var sut      = new CommitRepository(_requestFactory);

            await sut.GetAll(0, since : expected);

            _request.Received().AddParameterIfNotNull("since", expected);
        }
        public async Task GetAll_RefNameIsSet_AddsRefNameParameter()
        {
            const string expected = "refName";
            var          sut      = new CommitRepository(_requestFactory);

            await sut.GetAll(0, expected);

            _request.Received().AddParameterIfNotNull("ref_name", expected);
        }
        public async Task CreateCommit_ValidParameters_AddsNoteParameter()
        {
            const string expected = "note";
            var          sut      = new CommitRepository(_requestFactory);

            await sut.CreateComment(0, "commitSha", expected);

            _request.Received().AddParameter("note", expected);
        }
        public async Task CreateComment_ValidParameters_SetsCorrectResourceAndMethod()
        {
            var sut = new CommitRepository(_requestFactory);

            await sut.CreateComment(0, "commitSha", "note");

            _requestFactory.Received()
            .Create("projects/{projectId}/repository/commits/{commitSha}/comments", Method.Post);
        }
        public async Task CreateComment_ValidParameters_AddsProjectIdUrlSegment()
        {
            const uint expected = 0;
            var        sut      = new CommitRepository(_requestFactory);

            await sut.CreateComment(expected, "commitSha", "note");

            _request.Received().AddUrlSegment("projectId", expected);
        }
        public async Task GetStatus_ResultsPerPageIsSet_AddsPerPageParameter()
        {
            const uint expected = 5;
            var        sut      = new CommitRepository(_requestFactory);

            await sut.GetStatus(0, "commitSha", resultsPerPage : expected);

            _request.Received().AddParameter("per_page", expected);
        }
        public async Task UpdateStatus_ValidParameters_AddsProjectIdUrlSegment()
        {
            const uint expected = 0;
            var        sut      = new CommitRepository(_requestFactory);

            await sut.UpdateStatus(expected, "commitSha", BuildStatus.Pending);

            _request.Received().AddUrlSegment("projectId", expected);
        }
        public async Task CreateComment_ValidParameters_AddsCommitShaUrlSegment()
        {
            const string expected = "commitSha";
            var          sut      = new CommitRepository(_requestFactory);

            await sut.CreateComment(0, expected, "note");

            _request.Received().AddUrlSegment("commitSha", expected);
        }
        public async Task UpdateStatus_TargetUrlIsSet_AddsTargetUrlParameter()
        {
            const string expected = "targetUrl";
            var          sut      = new CommitRepository(_requestFactory);

            await sut.UpdateStatus(0, "commitSha", BuildStatus.Pending, targetUrl : expected);

            _request.Received().AddParameterIfNotNull("target_url", expected);
        }
        public async Task UpdateStatus_ValidParameters_AddsCommitShaUrlSegment()
        {
            const string expected = "commitSha";
            var          sut      = new CommitRepository(_requestFactory);

            await sut.UpdateStatus(0, expected, BuildStatus.Pending);

            _request.Received().AddUrlSegment("commitSha", expected);
        }
        public async Task CreateComment_PathIsSet_AddsPathParameter()
        {
            const string expected = "path";
            var          sut      = new CommitRepository(_requestFactory);

            await sut.CreateComment(0, "commitSha", "note", expected);

            _request.Received().AddParameterIfNotNull("path", expected);
        }
        public async Task UpdateStatus_RefNameIsSet_AddsRefNameParameter()
        {
            const string expected = "refName";
            var          sut      = new CommitRepository(_requestFactory);

            await sut.UpdateStatus(0, "commitSha", BuildStatus.Pending, expected);

            _request.Received().AddParameterIfNotNull("ref", expected);
        }
        public async Task UpdateStatus_DescriptionIsSet_AddsDescriptionParameter()
        {
            const string expected = "description";
            var          sut      = new CommitRepository(_requestFactory);

            await sut.UpdateStatus(0, "commitSha", BuildStatus.Pending, description : expected);

            _request.Received().AddParameterIfNotNull("description", expected);
        }
        public async Task GetStatus_StageIsSet_AddsStageParameter()
        {
            const string expected = "stage";
            var          sut      = new CommitRepository(_requestFactory);

            await sut.GetStatus(0, "commitSha", stage : expected);

            _request.Received().AddParameterIfNotNull("stage", expected);
        }
        public async Task CreateComment_LineTypeIsSet_AddsLineTypeParameter()
        {
            const string   expected = "new";
            const LineType lineType = LineType.New;
            var            sut      = new CommitRepository(_requestFactory);

            await sut.CreateComment(0, "commitSha", "note", lineType : lineType);

            _request.Received().AddParameterIfNotNull("line_type", expected);
        }
        public async Task UpdateStatus_ValidParameters_AddsStateParameter()
        {
            const string      expected = "pending";
            const BuildStatus state    = BuildStatus.Pending;
            var sut = new CommitRepository(_requestFactory);

            await sut.UpdateStatus(0, "commitSha", state);

            _request.Received().AddParameter("state", expected);
        }
        protected override CommonTest.RefRepositoryTestMethods getTestMethods(DataContext db)
        {
            IStreamedBlobRepository blrepo = new StreamedBlobRepository(db);
            ITreeRepository         trrepo = new TreeRepository(db);
            ICommitRepository       cmrepo = new CommitRepository(db);
            ITagRepository          tgrepo = new TagRepository(db);
            IRefRepository          rfrepo = new RefRepository(db);

            return(new CommonTest.RefRepositoryTestMethods(cmrepo, blrepo, trrepo, tgrepo, rfrepo));
        }
示例#29
0
        protected override CommonTest.TagRepositoryTestMethods getTestMethods(FileSystem system)
        {
            IStreamedBlobRepository blrepo = new StreamedBlobRepository(system);
            ITreeRepository         trrepo = new TreeRepository(system);
            ICommitRepository       cmrepo = new CommitRepository(system);
            ITagRepository          tgrepo = new TagRepository(system);
            IRefRepository          rfrepo = new RefRepository(system);

            return(new CommonTest.TagRepositoryTestMethods(cmrepo, blrepo, trrepo, tgrepo, rfrepo));
        }
示例#30
0
            public override void Execute()
            {
                // Taking first 3 commits.
                var commits = CommitRepository.GetAllCommits().Take(3);

                foreach (var commit in commits)
                {
                    WriteLog(commit);
                }
            }