Skip to content

Commit 637c91c

Browse files
committed
Merge pull request #302 from JakeGinnivan/ConfigFileUpdates
Config file updates
2 parents cdca529 + 9264a60 commit 637c91c

File tree

77 files changed

+657
-304
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+657
-304
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
using System.IO;
2+
using GitVersion;
3+
using NUnit.Framework;
4+
using Shouldly;
5+
6+
[TestFixture]
7+
public class ConfigReaderTests
8+
{
9+
10+
[Test]
11+
public void CanReadDocument()
12+
{
13+
const string text = @"
14+
assemblyVersioningScheme: MajorMinor
15+
develop-branch-tag: alpha
16+
release-branch-tag: rc
17+
";
18+
var config = ConfigReader.Read(new StringReader(text));
19+
config.AssemblyVersioningScheme.ShouldBe(AssemblyVersioningScheme.MajorMinor);
20+
config.DevelopBranchTag.ShouldBe("alpha");
21+
config.ReleaseBranchTag.ShouldBe("rc");
22+
}
23+
24+
[Test]
25+
public void CanReadDefaultDocument()
26+
{
27+
const string text = "";
28+
var config = ConfigReader.Read(new StringReader(text));
29+
config.AssemblyVersioningScheme.ShouldBe(AssemblyVersioningScheme.MajorMinorPatch);
30+
config.DevelopBranchTag.ShouldBe("unstable");
31+
config.ReleaseBranchTag.ShouldBe("beta");
32+
}
33+
}

GitVersionCore.Tests/GitFlow/BaseGitFlowRepositoryFixture.cs renamed to GitVersionCore.Tests/Fixtures/BaseGitFlowRepositoryFixture.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
using System;
22
using System.IO;
3+
using GitVersion;
34
using LibGit2Sharp;
45

56
public class BaseGitFlowRepositoryFixture : EmptyRepositoryFixture
67
{
7-
public BaseGitFlowRepositoryFixture(string initialVersion)
8+
public BaseGitFlowRepositoryFixture(string initialVersion) : base(new Config())
89
{
910
SetupRepo(r => r.MakeATaggedCommit(initialVersion));
1011
}
1112

12-
public BaseGitFlowRepositoryFixture(Action<IRepository> initialMasterAction)
13+
public BaseGitFlowRepositoryFixture(Action<IRepository> initialMasterAction) : base(new Config())
1314
{
1415
SetupRepo(initialMasterAction);
1516
}

GitVersionCore.Tests/CommitCountingRepoFixture.cs renamed to GitVersionCore.Tests/Fixtures/CommitCountingRepoFixture.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
using System;
22
using System.IO;
3+
using GitVersion;
34
using LibGit2Sharp;
45

56
public class CommitCountingRepoFixture : RepositoryFixtureBase
67
{
78
public CommitCountingRepoFixture() :
8-
base(CloneTestRepo)
9+
base(CloneTestRepo, new Config())
910
{
1011
}
1112

GitVersionCore.Tests/EmptyRepositoryFixture.cs renamed to GitVersionCore.Tests/Fixtures/EmptyRepositoryFixture.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
using System;
2+
using GitVersion;
23
using LibGit2Sharp;
34

45
public class EmptyRepositoryFixture : RepositoryFixtureBase
56
{
6-
public EmptyRepositoryFixture() :
7-
base(CreateNewRepository)
7+
public EmptyRepositoryFixture(Config configuration) :
8+
base(CreateNewRepository, configuration)
89
{
910
}
1011

GitVersionCore.Tests/RepositoryFixtureBase.cs renamed to GitVersionCore.Tests/Fixtures/RepositoryFixtureBase.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@ public abstract class RepositoryFixtureBase : IDisposable
77
{
88
public string RepositoryPath;
99
public IRepository Repository;
10+
private Config configuration;
1011

11-
protected RepositoryFixtureBase(Func<string, IRepository> repoBuilder)
12+
protected RepositoryFixtureBase(Func<string, IRepository> repoBuilder, Config configuration)
1213
{
14+
this.configuration = configuration;
1315
RepositoryPath = PathHelper.GetTempPath();
1416
Repository = repoBuilder(RepositoryPath);
1517
Repository.Config.Set("user.name", "Test");
@@ -19,7 +21,7 @@ protected RepositoryFixtureBase(Func<string, IRepository> repoBuilder)
1921
public SemanticVersion ExecuteGitVersion()
2022
{
2123
var vf = new GitVersionFinder();
22-
return vf.FindVersion(new GitVersionContext(Repository));
24+
return vf.FindVersion(new GitVersionContext(Repository, configuration));
2325
}
2426

2527
public void AssertFullSemver(string fullSemver)

GitVersionCore.Tests/GitFlow/DevelopScenarios.cs

Lines changed: 0 additions & 32 deletions
This file was deleted.

GitVersionCore.Tests/GitVersionCore.Tests.csproj

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -65,27 +65,29 @@
6565
<Compile Include="..\GitVersionTask.Tests\Helpers\DirectoryHelper.cs">
6666
<Link>Helpers\DirectoryHelper.cs</Link>
6767
</Compile>
68-
<Compile Include="CommitCountingRepoFixture.cs" />
68+
<Compile Include="Fixtures\CommitCountingRepoFixture.cs" />
69+
<Compile Include="ConfigReaderTests.cs" />
6970
<Compile Include="GitDirFinderTests.cs" />
70-
<Compile Include="GitFlow\BaseGitFlowRepositoryFixture.cs" />
71-
<Compile Include="GitFlow\DevelopScenarios.cs" />
72-
<Compile Include="GitFlow\MetaDataByCommitFixture.cs" />
73-
<Compile Include="GitFlow\PatchScenarios.cs" />
74-
<Compile Include="GitFlow\WikiScenarios.cs" />
75-
<Compile Include="GitHubFlow\OtherBranchTests.cs" />
76-
<Compile Include="GitHubFlow\ReleaseBranchTests.cs" />
71+
<Compile Include="Fixtures\BaseGitFlowRepositoryFixture.cs" />
72+
<Compile Include="IntegrationTests\GitFlow\DevelopScenarios.cs" />
73+
<Compile Include="IntegrationTests\GitFlow\MetaDataByCommitScenarios.cs" />
74+
<Compile Include="IntegrationTests\GitFlow\PatchScenarios.cs" />
75+
<Compile Include="IntegrationTests\GitFlow\ReleaseBranchTests.cs" />
76+
<Compile Include="IntegrationTests\GitFlow\WikiScenarios.cs" />
77+
<Compile Include="IntegrationTests\GitHubFlow\OtherBranchTests.cs" />
78+
<Compile Include="IntegrationTests\GitHubFlow\ReleaseBranchTests.cs" />
7779
<Compile Include="Helpers\Constants.cs" />
7880
<Compile Include="Helpers\NextVersionWriter.cs" />
7981
<Compile Include="InformationalVersionBuilderTests.cs" />
8082
<Compile Include="JsonVersionBuilderTests.cs" />
8183
<Compile Include="LastVersionOnMasterFinderTests.cs" />
8284
<Compile Include="ModuleInitializer.cs" />
83-
<Compile Include="EmptyRepositoryFixture.cs" />
85+
<Compile Include="Fixtures\EmptyRepositoryFixture.cs" />
8486
<Compile Include="Helpers\GitHelper.cs" />
8587
<Compile Include="Helpers\PathHelper.cs" />
86-
<Compile Include="GitHubFlow\MasterTests.cs" />
88+
<Compile Include="IntegrationTests\GitHubFlow\MasterTests.cs" />
8789
<Compile Include="ApprovalTestsConfig.cs" />
88-
<Compile Include="RepositoryFixtureBase.cs" />
90+
<Compile Include="Fixtures\RepositoryFixtureBase.cs" />
8991
<Compile Include="SemanticVersionTests.cs" />
9092
<Compile Include="ShortVersionParserTests.cs" />
9193
<Compile Include="VariableProviderTests.cs" />
@@ -103,6 +105,7 @@
103105
<Content Include="FodyWeavers.xml" />
104106
<Content Include="JsonVersionBuilderTests.Json.approved.txt" />
105107
</ItemGroup>
108+
<ItemGroup />
106109
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
107110
<PropertyGroup>
108111
<PostBuildEvent>

GitVersionCore.Tests/GitVersionCore.Tests.v2.ncrunchproject

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,6 @@
2222
<UseCPUArchitecture>AutoDetect</UseCPUArchitecture>
2323
<MSTestThreadApartmentState>STA</MSTestThreadApartmentState>
2424
<BuildProcessArchitecture>x86</BuildProcessArchitecture>
25-
<AdditionalFilesToInclude>..\Packages\LibGit2Sharp.0.19.0.0\lib\net40\NativeBinaries\**.*</AdditionalFilesToInclude>
25+
<AdditionalFilesToInclude>..\Packages\LibGit2Sharp.0.19.0.0\lib\net40\NativeBinaries\**.*;Resources\**.*</AdditionalFilesToInclude>
2626
<HiddenWarnings>PostBuildEventDisabled</HiddenWarnings>
2727
</ProjectConfiguration>
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
using GitVersion;
2+
using LibGit2Sharp;
3+
using NUnit.Framework;
4+
5+
[TestFixture]
6+
public class DevelopScenarios
7+
{
8+
[Test]
9+
public void WhenDevelopBranchedFromMaster_MinorIsIncreased()
10+
{
11+
using (var fixture = new EmptyRepositoryFixture(new Config()))
12+
{
13+
fixture.Repository.MakeATaggedCommit("1.0.0");
14+
fixture.Repository.CreateBranch("develop").Checkout();
15+
fixture.AssertFullSemver("1.1.0-unstable.0+0");
16+
}
17+
}
18+
19+
[Test]
20+
public void CanChangeDevelopTagViaConfig()
21+
{
22+
using (var fixture = new EmptyRepositoryFixture(new Config
23+
{
24+
DevelopBranchTag = "alpha"
25+
}))
26+
{
27+
fixture.Repository.MakeATaggedCommit("1.0.0");
28+
fixture.Repository.CreateBranch("develop").Checkout();
29+
fixture.AssertFullSemver("1.1.0-alpha.0+0");
30+
}
31+
}
32+
33+
[Test]
34+
public void CanClearDevelopTagViaConfig()
35+
{
36+
using (var fixture = new EmptyRepositoryFixture(new Config
37+
{
38+
DevelopBranchTag = ""
39+
}))
40+
{
41+
fixture.Repository.MakeATaggedCommit("1.0.0");
42+
fixture.Repository.CreateBranch("develop").Checkout();
43+
fixture.AssertFullSemver("1.1.0+0");
44+
}
45+
}
46+
47+
[Test]
48+
public void WhenDevelopBranchedFromMasterDetachedHead_MinorIsIncreased()
49+
{
50+
using (var fixture = new EmptyRepositoryFixture(new Config()))
51+
{
52+
fixture.Repository.MakeATaggedCommit("1.0.0");
53+
fixture.Repository.CreateBranch("develop").Checkout();
54+
fixture.Repository.MakeACommit();
55+
var commit = fixture.Repository.Head.Tip;
56+
fixture.Repository.MakeACommit();
57+
fixture.Repository.Checkout(commit);
58+
fixture.AssertFullSemver("1.1.0-unstable.1+1");
59+
}
60+
}
61+
}

GitVersionCore.Tests/GitFlow/MetaDataByCommitFixture.cs renamed to GitVersionCore.Tests/IntegrationTests/GitFlow/MetaDataByCommitScenarios.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
using Shouldly;
44

55
[TestFixture]
6-
public class MetaDataByCommitFixture
6+
public class MetaDataByCommitScenarios
77
{
88
/*
99
* hotfix-1.2.1 -----------C--

0 commit comments

Comments
 (0)