-
Notifications
You must be signed in to change notification settings - Fork 652
/
Copy pathVersionInCurrentBranchNameScenarios.cs
69 lines (55 loc) · 2.41 KB
/
VersionInCurrentBranchNameScenarios.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
using GitVersion.Configuration;
using GitVersion.Core.Tests.Helpers;
using LibGit2Sharp;
namespace GitVersion.Core.Tests.IntegrationTests;
[TestFixture]
public class VersionInCurrentBranchNameScenarios : TestBase
{
[Test]
public void TakesVersionFromNameOfReleaseBranch()
{
using var fixture = new BaseGitFlowRepositoryFixture("1.0.0");
fixture.BranchTo("release/2.0.0");
fixture.AssertFullSemver("2.0.0-beta.1+1");
}
[Test]
public void DoesNotTakeVersionFromNameOfNonReleaseBranch()
{
using var fixture = new BaseGitFlowRepositoryFixture("1.0.0");
fixture.BranchTo("feature/upgrade-power-level-to-9000.0.1");
fixture.AssertFullSemver("1.1.0-upgrade-power-level-to-9000-0-1.1+1");
}
[Test]
public void TakesVersionFromNameOfBranchThatIsReleaseByConfig()
{
var configuration = GitFlowConfigurationBuilder.New
.WithBranch("support", builder => builder.WithIsReleaseBranch(true))
.Build();
using var fixture = new BaseGitFlowRepositoryFixture("1.0.0");
fixture.BranchTo("support/2.0.0");
fixture.AssertFullSemver("2.0.0-1", configuration);
}
[Test]
public void TakesVersionFromNameOfRemoteReleaseBranchInOrigin()
{
using var fixture = new RemoteRepositoryFixture();
fixture.BranchTo("release/2.0.0");
fixture.MakeACommit();
Commands.Fetch(fixture.LocalRepositoryFixture.Repository, fixture.LocalRepositoryFixture.Repository.Network.Remotes.First().Name, [], new(), null);
fixture.LocalRepositoryFixture.Checkout("origin/release/2.0.0");
fixture.LocalRepositoryFixture.AssertFullSemver("2.0.0-beta.1+6");
}
[Category("LibGitSharp 0.31.0")]
[Ignore("LibGitSharp 0.31.0 fails")]
[Test]
public void DoesNotTakeVersionFromNameOfRemoteReleaseBranchInCustomRemote()
{
using var fixture = new RemoteRepositoryFixture();
fixture.LocalRepositoryFixture.Repository.Network.Remotes.Rename("origin", "upstream");
fixture.BranchTo("release/2.0.0");
fixture.MakeACommit();
Commands.Fetch(fixture.LocalRepositoryFixture.Repository, fixture.LocalRepositoryFixture.Repository.Network.Remotes.First().Name, [], new(), null);
fixture.LocalRepositoryFixture.Checkout("upstream/release/2.0.0");
fixture.LocalRepositoryFixture.AssertFullSemver("0.0.1-upstream-release-2-0-0.1+6");
}
}