Skip to content

Commit 9215034

Browse files
committed
Add integration tests: Given a main branch with two commits
1 parent e5831d7 commit 9215034

File tree

15 files changed

+1286
-0
lines changed

15 files changed

+1286
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
using GitVersion.Configuration;
2+
using GitVersion.Core.Tests;
3+
using GitVersion.Core.Tests.IntegrationTests;
4+
using GitVersion.VersionCalculation;
5+
6+
namespace GitVersion.Core.TrunkBased;
7+
8+
internal partial class TrunkBasedScenariosWithAGitHubFlow
9+
{
10+
[Parallelizable(ParallelScope.All)]
11+
public class GivenAMainBranchWithTwoCommitsWhen
12+
{
13+
private EmptyRepositoryFixture? fixture;
14+
15+
private static GitHubFlowConfigurationBuilder TrunkBasedBuilder => GitHubFlowConfigurationBuilder.New
16+
.WithVersionStrategy(VersionStrategies.TrunkBased).WithLabel(null)
17+
.WithBranch("main", _ => _.WithDeploymentMode(DeploymentMode.ManualDeployment));
18+
19+
[OneTimeSetUp]
20+
public void OneTimeSetUp()
21+
{
22+
// B 58 minutes ago (HEAD -> main)
23+
// A 59 minutes ago
24+
25+
fixture = new EmptyRepositoryFixture("main");
26+
27+
fixture.MakeACommit("A");
28+
fixture.MakeACommit("B");
29+
}
30+
31+
[OneTimeTearDown]
32+
public void OneTimeTearDown() => fixture?.Dispose();
33+
34+
[TestCase(IncrementStrategy.None, null, ExpectedResult = "0.0.0-2+1")]
35+
[TestCase(IncrementStrategy.Patch, null, ExpectedResult = "0.0.2-1+1")]
36+
[TestCase(IncrementStrategy.Minor, null, ExpectedResult = "0.2.0-1+1")]
37+
[TestCase(IncrementStrategy.Major, null, ExpectedResult = "2.0.0-1+1")]
38+
39+
[TestCase(IncrementStrategy.None, "", ExpectedResult = "0.0.0-2+1")]
40+
[TestCase(IncrementStrategy.Patch, "", ExpectedResult = "0.0.2-1+1")]
41+
[TestCase(IncrementStrategy.Minor, "", ExpectedResult = "0.2.0-1+1")]
42+
[TestCase(IncrementStrategy.Major, "", ExpectedResult = "2.0.0-1+1")]
43+
44+
[TestCase(IncrementStrategy.None, "foo", ExpectedResult = "0.0.0-foo.2+1")]
45+
[TestCase(IncrementStrategy.Patch, "foo", ExpectedResult = "0.0.2-foo.1+1")]
46+
[TestCase(IncrementStrategy.Minor, "foo", ExpectedResult = "0.2.0-foo.1+1")]
47+
[TestCase(IncrementStrategy.Major, "foo", ExpectedResult = "2.0.0-foo.1+1")]
48+
49+
[TestCase(IncrementStrategy.None, "bar", ExpectedResult = "0.0.0-bar.2+1")]
50+
[TestCase(IncrementStrategy.Patch, "bar", ExpectedResult = "0.0.2-bar.1+1")]
51+
[TestCase(IncrementStrategy.Minor, "bar", ExpectedResult = "0.2.0-bar.1+1")]
52+
[TestCase(IncrementStrategy.Major, "bar", ExpectedResult = "2.0.0-bar.1+1")]
53+
public string GetVersion(IncrementStrategy increment, string? label)
54+
{
55+
IGitVersionConfiguration trunkBased = TrunkBasedBuilder
56+
.WithBranch("main", _ => _.WithIncrement(increment).WithLabel(label))
57+
.Build();
58+
59+
return fixture!.GetVersion(trunkBased).FullSemVer;
60+
}
61+
}
62+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
using GitVersion.Configuration;
2+
using GitVersion.Core.Tests;
3+
using GitVersion.Core.Tests.IntegrationTests;
4+
using GitVersion.VersionCalculation;
5+
6+
namespace GitVersion.Core.TrunkBased;
7+
8+
internal partial class TrunkBasedScenariosWithAGitHubFlow
9+
{
10+
[Parallelizable(ParallelScope.All)]
11+
public class GivenAMainBranchWithTwoCommitsWhenFirstCommitHasBumpMessageMajor
12+
{
13+
private EmptyRepositoryFixture? fixture;
14+
15+
private static GitHubFlowConfigurationBuilder TrunkBasedBuilder => GitHubFlowConfigurationBuilder.New
16+
.WithVersionStrategy(VersionStrategies.TrunkBased).WithLabel(null)
17+
.WithBranch("main", _ => _.WithDeploymentMode(DeploymentMode.ManualDeployment));
18+
19+
[OneTimeSetUp]
20+
public void OneTimeSetUp()
21+
{
22+
// B 58 minutes ago (HEAD -> main)
23+
// A 59 minutes ago
24+
25+
fixture = new EmptyRepositoryFixture("main");
26+
27+
fixture.MakeACommit("A +semver: major");
28+
fixture.MakeACommit("B");
29+
}
30+
31+
[OneTimeTearDown]
32+
public void OneTimeTearDown() => fixture?.Dispose();
33+
34+
[TestCase(IncrementStrategy.None, null, ExpectedResult = "1.0.0-2+1")]
35+
[TestCase(IncrementStrategy.Patch, null, ExpectedResult = "1.0.1-1+1")]
36+
[TestCase(IncrementStrategy.Minor, null, ExpectedResult = "1.1.0-1+1")]
37+
[TestCase(IncrementStrategy.Major, null, ExpectedResult = "2.0.0-1+1")]
38+
39+
[TestCase(IncrementStrategy.None, "", ExpectedResult = "1.0.0-2+1")]
40+
[TestCase(IncrementStrategy.Patch, "", ExpectedResult = "1.0.1-1+1")]
41+
[TestCase(IncrementStrategy.Minor, "", ExpectedResult = "1.1.0-1+1")]
42+
[TestCase(IncrementStrategy.Major, "", ExpectedResult = "2.0.0-1+1")]
43+
44+
[TestCase(IncrementStrategy.None, "foo", ExpectedResult = "1.0.0-foo.2+1")]
45+
[TestCase(IncrementStrategy.Patch, "foo", ExpectedResult = "1.0.1-foo.1+1")]
46+
[TestCase(IncrementStrategy.Minor, "foo", ExpectedResult = "1.1.0-foo.1+1")]
47+
[TestCase(IncrementStrategy.Major, "foo", ExpectedResult = "2.0.0-foo.1+1")]
48+
49+
[TestCase(IncrementStrategy.None, "bar", ExpectedResult = "1.0.0-bar.2+1")]
50+
[TestCase(IncrementStrategy.Patch, "bar", ExpectedResult = "1.0.1-bar.1+1")]
51+
[TestCase(IncrementStrategy.Minor, "bar", ExpectedResult = "1.1.0-bar.1+1")]
52+
[TestCase(IncrementStrategy.Major, "bar", ExpectedResult = "2.0.0-bar.1+1")]
53+
public string GetVersion(IncrementStrategy increment, string? label)
54+
{
55+
IGitVersionConfiguration trunkBased = TrunkBasedBuilder
56+
.WithBranch("main", _ => _.WithIncrement(increment).WithLabel(label))
57+
.Build();
58+
59+
return fixture!.GetVersion(trunkBased).FullSemVer;
60+
}
61+
62+
[TestCase(IncrementStrategy.None, null, ExpectedResult = "0.0.0-2+1")]
63+
[TestCase(IncrementStrategy.Patch, null, ExpectedResult = "0.0.2-1+1")]
64+
[TestCase(IncrementStrategy.Minor, null, ExpectedResult = "0.2.0-1+1")]
65+
[TestCase(IncrementStrategy.Major, null, ExpectedResult = "2.0.0-1+1")]
66+
67+
[TestCase(IncrementStrategy.None, "", ExpectedResult = "0.0.0-2+1")]
68+
[TestCase(IncrementStrategy.Patch, "", ExpectedResult = "0.0.2-1+1")]
69+
[TestCase(IncrementStrategy.Minor, "", ExpectedResult = "0.2.0-1+1")]
70+
[TestCase(IncrementStrategy.Major, "", ExpectedResult = "2.0.0-1+1")]
71+
72+
[TestCase(IncrementStrategy.None, "foo", ExpectedResult = "0.0.0-foo.2+1")]
73+
[TestCase(IncrementStrategy.Patch, "foo", ExpectedResult = "0.0.2-foo.1+1")]
74+
[TestCase(IncrementStrategy.Minor, "foo", ExpectedResult = "0.2.0-foo.1+1")]
75+
[TestCase(IncrementStrategy.Major, "foo", ExpectedResult = "2.0.0-foo.1+1")]
76+
77+
[TestCase(IncrementStrategy.None, "bar", ExpectedResult = "0.0.0-bar.2+1")]
78+
[TestCase(IncrementStrategy.Patch, "bar", ExpectedResult = "0.0.2-bar.1+1")]
79+
[TestCase(IncrementStrategy.Minor, "bar", ExpectedResult = "0.2.0-bar.1+1")]
80+
[TestCase(IncrementStrategy.Major, "bar", ExpectedResult = "2.0.0-bar.1+1")]
81+
public string GetVersionWithDisabledMessageIncrementing(IncrementStrategy increment, string? label)
82+
{
83+
IGitVersionConfiguration trunkBased = TrunkBasedBuilder
84+
.WithBranch("main", _ => _.WithIncrement(increment).WithLabel(label)
85+
.WithCommitMessageIncrementing(CommitMessageIncrementMode.Disabled)
86+
).Build();
87+
88+
return fixture!.GetVersion(trunkBased).FullSemVer;
89+
}
90+
91+
[TestCase(IncrementStrategy.None, null, ExpectedResult = "0.0.0-2+1")]
92+
[TestCase(IncrementStrategy.Patch, null, ExpectedResult = "0.0.2-1+1")]
93+
[TestCase(IncrementStrategy.Minor, null, ExpectedResult = "0.2.0-1+1")]
94+
[TestCase(IncrementStrategy.Major, null, ExpectedResult = "2.0.0-1+1")]
95+
96+
[TestCase(IncrementStrategy.None, "", ExpectedResult = "0.0.0-2+1")]
97+
[TestCase(IncrementStrategy.Patch, "", ExpectedResult = "0.0.2-1+1")]
98+
[TestCase(IncrementStrategy.Minor, "", ExpectedResult = "0.2.0-1+1")]
99+
[TestCase(IncrementStrategy.Major, "", ExpectedResult = "2.0.0-1+1")]
100+
101+
[TestCase(IncrementStrategy.None, "foo", ExpectedResult = "0.0.0-foo.2+1")]
102+
[TestCase(IncrementStrategy.Patch, "foo", ExpectedResult = "0.0.2-foo.1+1")]
103+
[TestCase(IncrementStrategy.Minor, "foo", ExpectedResult = "0.2.0-foo.1+1")]
104+
[TestCase(IncrementStrategy.Major, "foo", ExpectedResult = "2.0.0-foo.1+1")]
105+
106+
[TestCase(IncrementStrategy.None, "bar", ExpectedResult = "0.0.0-bar.2+1")]
107+
[TestCase(IncrementStrategy.Patch, "bar", ExpectedResult = "0.0.2-bar.1+1")]
108+
[TestCase(IncrementStrategy.Minor, "bar", ExpectedResult = "0.2.0-bar.1+1")]
109+
[TestCase(IncrementStrategy.Major, "bar", ExpectedResult = "2.0.0-bar.1+1")]
110+
public string GetVersionWithMergeMessageOnlyIncrementing(IncrementStrategy increment, string? label)
111+
{
112+
IGitVersionConfiguration trunkBased = TrunkBasedBuilder
113+
.WithBranch("main", _ => _.WithIncrement(increment).WithLabel(label)
114+
.WithCommitMessageIncrementing(CommitMessageIncrementMode.MergeMessageOnly)
115+
).Build();
116+
117+
return fixture!.GetVersion(trunkBased).FullSemVer;
118+
}
119+
}
120+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
using GitVersion.Configuration;
2+
using GitVersion.Core.Tests;
3+
using GitVersion.Core.Tests.IntegrationTests;
4+
using GitVersion.VersionCalculation;
5+
6+
namespace GitVersion.Core.TrunkBased;
7+
8+
internal partial class TrunkBasedScenariosWithAGitHubFlow
9+
{
10+
[Parallelizable(ParallelScope.All)]
11+
public class GivenAMainBranchWithTwoCommitsWhenFirstCommitHasBumpMessageMinor
12+
{
13+
private EmptyRepositoryFixture? fixture;
14+
15+
private static GitHubFlowConfigurationBuilder TrunkBasedBuilder => GitHubFlowConfigurationBuilder.New
16+
.WithVersionStrategy(VersionStrategies.TrunkBased).WithLabel(null)
17+
.WithBranch("main", _ => _.WithDeploymentMode(DeploymentMode.ManualDeployment));
18+
19+
[OneTimeSetUp]
20+
public void OneTimeSetUp()
21+
{
22+
// B 58 minutes ago (HEAD -> main)
23+
// A 59 minutes ago
24+
25+
fixture = new EmptyRepositoryFixture("main");
26+
27+
fixture.MakeACommit("A +semver: minor");
28+
fixture.MakeACommit("B");
29+
}
30+
31+
[OneTimeTearDown]
32+
public void OneTimeTearDown() => fixture?.Dispose();
33+
34+
[TestCase(IncrementStrategy.None, null, ExpectedResult = "0.1.0-2+1")]
35+
[TestCase(IncrementStrategy.Patch, null, ExpectedResult = "0.1.1-1+1")]
36+
[TestCase(IncrementStrategy.Minor, null, ExpectedResult = "0.2.0-1+1")]
37+
[TestCase(IncrementStrategy.Major, null, ExpectedResult = "2.0.0-1+1")]
38+
39+
[TestCase(IncrementStrategy.None, "", ExpectedResult = "0.1.0-2+1")]
40+
[TestCase(IncrementStrategy.Patch, "", ExpectedResult = "0.1.1-1+1")]
41+
[TestCase(IncrementStrategy.Minor, "", ExpectedResult = "0.2.0-1+1")]
42+
[TestCase(IncrementStrategy.Major, "", ExpectedResult = "2.0.0-1+1")]
43+
44+
[TestCase(IncrementStrategy.None, "foo", ExpectedResult = "0.1.0-foo.2+1")]
45+
[TestCase(IncrementStrategy.Patch, "foo", ExpectedResult = "0.1.1-foo.1+1")]
46+
[TestCase(IncrementStrategy.Minor, "foo", ExpectedResult = "0.2.0-foo.1+1")]
47+
[TestCase(IncrementStrategy.Major, "foo", ExpectedResult = "2.0.0-foo.1+1")]
48+
49+
[TestCase(IncrementStrategy.None, "bar", ExpectedResult = "0.1.0-bar.2+1")]
50+
[TestCase(IncrementStrategy.Patch, "bar", ExpectedResult = "0.1.1-bar.1+1")]
51+
[TestCase(IncrementStrategy.Minor, "bar", ExpectedResult = "0.2.0-bar.1+1")]
52+
[TestCase(IncrementStrategy.Major, "bar", ExpectedResult = "2.0.0-bar.1+1")]
53+
public string GetVersion(IncrementStrategy increment, string? label)
54+
{
55+
IGitVersionConfiguration trunkBased = TrunkBasedBuilder
56+
.WithBranch("main", _ => _.WithIncrement(increment).WithLabel(label))
57+
.Build();
58+
59+
return fixture!.GetVersion(trunkBased).FullSemVer;
60+
}
61+
62+
[TestCase(IncrementStrategy.None, null, ExpectedResult = "0.0.0-2+1")]
63+
[TestCase(IncrementStrategy.Patch, null, ExpectedResult = "0.0.2-1+1")]
64+
[TestCase(IncrementStrategy.Minor, null, ExpectedResult = "0.2.0-1+1")]
65+
[TestCase(IncrementStrategy.Major, null, ExpectedResult = "2.0.0-1+1")]
66+
67+
[TestCase(IncrementStrategy.None, "", ExpectedResult = "0.0.0-2+1")]
68+
[TestCase(IncrementStrategy.Patch, "", ExpectedResult = "0.0.2-1+1")]
69+
[TestCase(IncrementStrategy.Minor, "", ExpectedResult = "0.2.0-1+1")]
70+
[TestCase(IncrementStrategy.Major, "", ExpectedResult = "2.0.0-1+1")]
71+
72+
[TestCase(IncrementStrategy.None, "foo", ExpectedResult = "0.0.0-foo.2+1")]
73+
[TestCase(IncrementStrategy.Patch, "foo", ExpectedResult = "0.0.2-foo.1+1")]
74+
[TestCase(IncrementStrategy.Minor, "foo", ExpectedResult = "0.2.0-foo.1+1")]
75+
[TestCase(IncrementStrategy.Major, "foo", ExpectedResult = "2.0.0-foo.1+1")]
76+
77+
[TestCase(IncrementStrategy.None, "bar", ExpectedResult = "0.0.0-bar.2+1")]
78+
[TestCase(IncrementStrategy.Patch, "bar", ExpectedResult = "0.0.2-bar.1+1")]
79+
[TestCase(IncrementStrategy.Minor, "bar", ExpectedResult = "0.2.0-bar.1+1")]
80+
[TestCase(IncrementStrategy.Major, "bar", ExpectedResult = "2.0.0-bar.1+1")]
81+
public string GetVersionWithDisabledMessageIncrementing(IncrementStrategy increment, string? label)
82+
{
83+
IGitVersionConfiguration trunkBased = TrunkBasedBuilder
84+
.WithBranch("main", _ => _.WithIncrement(increment).WithLabel(label)
85+
.WithCommitMessageIncrementing(CommitMessageIncrementMode.Disabled)
86+
).Build();
87+
88+
return fixture!.GetVersion(trunkBased).FullSemVer;
89+
}
90+
91+
[TestCase(IncrementStrategy.None, null, ExpectedResult = "0.0.0-2+1")]
92+
[TestCase(IncrementStrategy.Patch, null, ExpectedResult = "0.0.2-1+1")]
93+
[TestCase(IncrementStrategy.Minor, null, ExpectedResult = "0.2.0-1+1")]
94+
[TestCase(IncrementStrategy.Major, null, ExpectedResult = "2.0.0-1+1")]
95+
96+
[TestCase(IncrementStrategy.None, "", ExpectedResult = "0.0.0-2+1")]
97+
[TestCase(IncrementStrategy.Patch, "", ExpectedResult = "0.0.2-1+1")]
98+
[TestCase(IncrementStrategy.Minor, "", ExpectedResult = "0.2.0-1+1")]
99+
[TestCase(IncrementStrategy.Major, "", ExpectedResult = "2.0.0-1+1")]
100+
101+
[TestCase(IncrementStrategy.None, "foo", ExpectedResult = "0.0.0-foo.2+1")]
102+
[TestCase(IncrementStrategy.Patch, "foo", ExpectedResult = "0.0.2-foo.1+1")]
103+
[TestCase(IncrementStrategy.Minor, "foo", ExpectedResult = "0.2.0-foo.1+1")]
104+
[TestCase(IncrementStrategy.Major, "foo", ExpectedResult = "2.0.0-foo.1+1")]
105+
106+
[TestCase(IncrementStrategy.None, "bar", ExpectedResult = "0.0.0-bar.2+1")]
107+
[TestCase(IncrementStrategy.Patch, "bar", ExpectedResult = "0.0.2-bar.1+1")]
108+
[TestCase(IncrementStrategy.Minor, "bar", ExpectedResult = "0.2.0-bar.1+1")]
109+
[TestCase(IncrementStrategy.Major, "bar", ExpectedResult = "2.0.0-bar.1+1")]
110+
public string GetVersionWithMergeMessageOnlyIncrementing(IncrementStrategy increment, string? label)
111+
{
112+
IGitVersionConfiguration trunkBased = TrunkBasedBuilder
113+
.WithBranch("main", _ => _.WithIncrement(increment).WithLabel(label)
114+
.WithCommitMessageIncrementing(CommitMessageIncrementMode.MergeMessageOnly)
115+
).Build();
116+
117+
return fixture!.GetVersion(trunkBased).FullSemVer;
118+
}
119+
}
120+
}

0 commit comments

Comments
 (0)