public void CanCalculatePullRequestChanges()
    {
        using (var fixture = new EmptyRepositoryFixture(new Config()))
        {
            fixture.Repository.MakeATaggedCommit("0.1.0");
            fixture.Repository.CreateBranch("feature/Foo").Checkout();
            fixture.Repository.MakeACommit();

            fixture.Repository.CreatePullRequest("feature/Foo", "master");

            fixture.DumpGraph();
            fixture.AssertFullSemver("0.1.1-PullRequest.2+2");
        }
    }
示例#2
0
    public void CanCalculatePullRequestChangesFromRemoteRepo()
    {
        using (var fixture = new EmptyRepositoryFixture(new Config()))
        {
            fixture.Repository.MakeATaggedCommit("0.1.0");
            fixture.Repository.CreateBranch("feature/Foo").Checkout();
            fixture.Repository.MakeACommit();

            fixture.Repository.CreatePullRequest("feature/Foo", "master");

            fixture.DumpGraph();
            fixture.AssertFullSemver("0.1.1-PullRequest.2+2");
        }
    }
    public void CanCalculatePullRequestChangesInheritingConfig()
    {
        using (var fixture = new EmptyRepositoryFixture(new Config()))
        {
            fixture.Repository.MakeATaggedCommit("0.1.0");
            fixture.Repository.CreateBranch("develop").Checkout();
            fixture.Repository.MakeACommit();
            fixture.Repository.CreateBranch("feature/Foo").Checkout();
            fixture.Repository.MakeACommit();

            fixture.Repository.CreatePullRequest("feature/Foo", "develop", 44);

            fixture.DumpGraph();
            fixture.AssertFullSemver("0.2.0-PullRequest.44+3");
        }
    }
示例#4
0
    public void CanCalculatePullRequestChangesInheritingConfig()
    {
        using (var fixture = new EmptyRepositoryFixture(new Config()))
        {
            fixture.Repository.MakeATaggedCommit("0.1.0");
            fixture.Repository.CreateBranch("develop").Checkout();
            fixture.Repository.MakeACommit();
            fixture.Repository.CreateBranch("feature/Foo").Checkout();
            fixture.Repository.MakeACommit();

            fixture.Repository.CreatePullRequest("feature/Foo", "develop", 44);

            fixture.DumpGraph();
            fixture.AssertFullSemver("0.2.0-PullRequest.44+3");
        }
    }
示例#5
0
    public void UpdatesExistingDynamicRepository()
    {
        var repoName = Guid.NewGuid().ToString();
        var tempPath = Path.GetTempPath();
        var tempDir  = Path.Combine(tempPath, repoName);

        Directory.CreateDirectory(tempDir);
        string dynamicRepositoryPath = null;

        try
        {
            using (var mainRepositoryFixture = new EmptyRepositoryFixture(new Config()))
            {
                mainRepositoryFixture.Repository.MakeCommits(1);

                var arguments = new Arguments
                {
                    TargetPath   = tempDir,
                    TargetUrl    = mainRepositoryFixture.RepositoryPath,
                    TargetBranch = "master"
                };

                var gitPreparer = new GitPreparer(arguments.TargetUrl, arguments.DynamicRepositoryLocation, arguments.Authentication, arguments.TargetBranch, arguments.NoFetch, arguments.TargetPath);
                gitPreparer.Initialise(false);
                dynamicRepositoryPath = gitPreparer.GetDotGitDirectory();

                var newCommit = mainRepositoryFixture.Repository.MakeACommit();
                gitPreparer.Initialise(false);

                using (var repository = new Repository(dynamicRepositoryPath))
                {
                    mainRepositoryFixture.DumpGraph();
                    repository.DumpGraph();
                    repository.Commits.ShouldContain(c => c.Sha == newCommit.Sha);
                }
            }
        }
        finally
        {
            Directory.Delete(tempDir, true);
            if (dynamicRepositoryPath != null)
            {
                DeleteHelper.DeleteGitRepository(dynamicRepositoryPath);
            }
        }
    }