Skip to content

Commit f337709

Browse files
committed
Created some tests around EffectiveConfig
1 parent 952659f commit f337709

16 files changed

+95
-53
lines changed

GitVersionCore.Tests/ConfigProviderTests.cs

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -51,22 +51,6 @@ public void CanReadDocument()
5151
config.Branches["develop"].VersioningMode.ShouldBe(VersioningMode.ContinuousDeployment);
5252
}
5353

54-
[Test]
55-
public void CanInheritVersioningMode()
56-
{
57-
const string text = @"
58-
mode: ContinuousDelivery
59-
branches:
60-
develop:
61-
mode: ContinuousDeployment
62-
";
63-
SetupConfigFileContent(text);
64-
var config = ConfigurationProvider.Provide(gitDirectory, fileSystem);
65-
config.Branches["develop"].VersioningMode.ShouldBe(VersioningMode.ContinuousDeployment);
66-
config.Branches["develop"].Tag.ShouldBe("unstable");
67-
config.Branches["release[/-]"].VersioningMode.ShouldBe(VersioningMode.ContinuousDelivery);
68-
}
69-
7054
[Test]
7155
public void CanReadOldDocument()
7256
{
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
namespace GitVersionCore.Tests
2+
{
3+
using GitVersion;
4+
using NUnit.Framework;
5+
using Shouldly;
6+
7+
public class GitVersionContextTests
8+
{
9+
[Test]
10+
[Theory]
11+
public void CanInheritVersioningMode(VersioningMode mode)
12+
{
13+
var config = new Config
14+
{
15+
VersioningMode = mode
16+
};
17+
18+
var mockBranch = new MockBranch("master") { new MockCommit { CommitterEx = SignatureBuilder.SignatureNow() } };
19+
var mockRepository = new MockRepository
20+
{
21+
Branches = new MockBranchCollection
22+
{
23+
mockBranch
24+
}
25+
};
26+
27+
var context = new GitVersionContext(mockRepository, mockBranch, config);
28+
context.Configuration.VersioningMode.ShouldBe(mode);
29+
}
30+
31+
[Test]
32+
public void UsesBranchSpecificConfigOverTopLevelDefaults()
33+
{
34+
var config = new Config
35+
{
36+
VersioningMode = VersioningMode.ContinuousDelivery
37+
};
38+
config.Branches["develop"].VersioningMode = VersioningMode.ContinuousDeployment;
39+
config.Branches["develop"].Tag = "alpha";
40+
var develop = new MockBranch("develop") { new MockCommit { CommitterEx = SignatureBuilder.SignatureNow() } };
41+
var mockRepository = new MockRepository
42+
{
43+
Branches = new MockBranchCollection
44+
{
45+
new MockBranch("master") { new MockCommit { CommitterEx = SignatureBuilder.SignatureNow() } },
46+
develop
47+
}
48+
};
49+
var context = new GitVersionContext(mockRepository, develop, config);
50+
context.Configuration.VersioningMode.ShouldBe(VersioningMode.ContinuousDeployment);
51+
context.Configuration.Tag.ShouldBe("alpha");
52+
}
53+
}
54+
}

GitVersionCore.Tests/GitVersionCore.Tests.csproj

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@
7474
<Compile Include="Fixtures\RemoteRepositoryFixture.cs" />
7575
<Compile Include="GitDirFinderTests.cs" />
7676
<Compile Include="Fixtures\BaseGitFlowRepositoryFixture.cs" />
77+
<Compile Include="GitVersionContextTests.cs" />
7778
<Compile Include="IntegrationTests\RemoteRepositoryTests.cs" />
7879
<Compile Include="IntegrationTests\GitFlow\DevelopScenarios.cs" />
7980
<Compile Include="IntegrationTests\GitFlow\FeatureBranchTests.cs" />
@@ -91,6 +92,18 @@
9192
<Compile Include="InformationalVersionBuilderTests.cs" />
9293
<Compile Include="IntegrationTests\GitHubFlow\SupportBranchScenarios.cs" />
9394
<Compile Include="JsonVersionBuilderTests.cs" />
95+
<Compile Include="Mocks\MockBranch.cs" />
96+
<Compile Include="Mocks\MockBranchCollection.cs" />
97+
<Compile Include="Mocks\MockCommit.cs" />
98+
<Compile Include="Mocks\MockCommitLog.cs" />
99+
<Compile Include="Mocks\MockMergeCommit.cs" />
100+
<Compile Include="Mocks\MockReferenceCollection.cs" />
101+
<Compile Include="Mocks\MockReflogCollection.cs" />
102+
<Compile Include="Mocks\MockRepository.cs" />
103+
<Compile Include="Mocks\MockTag.cs" />
104+
<Compile Include="Mocks\MockTagAnnotation.cs" />
105+
<Compile Include="Mocks\MockTagCollection.cs" />
106+
<Compile Include="Mocks\SignatureBuilder.cs" />
94107
<Compile Include="ModuleInitializer.cs" />
95108
<Compile Include="Fixtures\EmptyRepositoryFixture.cs" />
96109
<Compile Include="Helpers\GitTestExtensions.cs" />

GitVersionTask.Tests/Mocks/MockBranch.cs renamed to GitVersionCore.Tests/Mocks/MockBranch.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public MockBranch(string name, string canonicalName)
1818

1919
public MockBranch()
2020
{
21-
21+
2222
}
2323
MockCommitLog commits = new MockCommitLog();
2424
string name;
@@ -66,7 +66,7 @@ public bool Remove(Commit item)
6666
return commits.Remove(item);
6767
}
6868

69-
public int Count{get{return commits.Count;}}
69+
public int Count { get { return commits.Count; } }
7070

71-
public bool IsReadOnly { get{return false;} }
71+
public bool IsReadOnly { get { return false; } }
7272
}

GitVersionTask.Tests/Mocks/MockBranchCollection.cs renamed to GitVersionCore.Tests/Mocks/MockBranchCollection.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public override IEnumerator<Branch> GetEnumerator()
1313

1414
public override Branch this[string name]
1515
{
16-
get { return Branches.FirstOrDefault(x=>x.Name ==name); }
16+
get { return Branches.FirstOrDefault(x => x.Name == name); }
1717
}
1818

1919
public void Add(Branch item)
@@ -40,16 +40,17 @@ public override void Remove(Branch item)
4040
{
4141
Branches.Remove(item);
4242
}
43-
bool ICollection<Branch>.Remove(Branch item)
43+
bool ICollection<Branch>.Remove(Branch item)
4444
{
4545
return Branches.Remove(item);
4646
}
4747

4848
public int Count
4949
{
50-
get {
50+
get
51+
{
5152
return Branches.Count;
5253
}
5354
}
54-
public bool IsReadOnly { get{return false;}}
55+
public bool IsReadOnly { get { return false; } }
5556
}

GitVersionTask.Tests/Mocks/MockCommit.cs renamed to GitVersionCore.Tests/Mocks/MockCommit.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,24 @@
44
using LibGit2Sharp;
55

66
[DebuggerDisplay("{DebuggerDisplay}")]
7-
public class MockCommit:Commit
7+
public class MockCommit : Commit
88
{
99
public MockCommit(ObjectId id = null)
1010
{
11-
idEx = id ?? new ObjectId(Guid.NewGuid().ToString().Replace("-", "")+ "00000000");
11+
idEx = id ?? new ObjectId(Guid.NewGuid().ToString().Replace("-", "") + "00000000");
1212
MessageEx = "";
1313
ParentsEx = new List<Commit> { null };
1414
CommitterEx = new Signature("Joe", "[email protected]", DateTimeOffset.Now);
1515
}
1616

1717
public string MessageEx;
18-
public override string Message{get { return MessageEx; }}
18+
public override string Message { get { return MessageEx; } }
1919

2020
public Signature CommitterEx;
21-
public override Signature Committer{get { return CommitterEx; }}
21+
public override Signature Committer { get { return CommitterEx; } }
2222

2323
ObjectId idEx;
24-
public override ObjectId Id{get { return idEx; }}
24+
public override ObjectId Id { get { return idEx; } }
2525

2626
public override string Sha { get { return idEx.Sha; } }
2727

@@ -39,4 +39,4 @@ string DebuggerDisplay
3939
return MessageEx;
4040
}
4141
}
42-
}
42+
}

GitVersionTask.Tests/Mocks/MockCommitLog.cs renamed to GitVersionCore.Tests/Mocks/MockCommitLog.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
using System.Collections.Generic;
33
using LibGit2Sharp;
44

5-
public class MockCommitLog:ICommitLog,ICollection<Commit>
5+
public class MockCommitLog : ICommitLog, ICollection<Commit>
66
{
77
public List<Commit> Commits = new List<Commit>();
88

@@ -26,7 +26,7 @@ public void Clear()
2626
{
2727
Commits.Clear();
2828
}
29-
29+
3030

3131
public bool Contains(Commit item)
3232
{
@@ -44,6 +44,8 @@ public bool Remove(Commit item)
4444
}
4545

4646
public int Count { get { return Commits.Count; } }
47-
public bool IsReadOnly {get { return false; }
47+
public bool IsReadOnly
48+
{
49+
get { return false; }
4850
}
4951
}

GitVersionTask.Tests/Mocks/MockMergeCommit.cs renamed to GitVersionCore.Tests/Mocks/MockMergeCommit.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ public MockMergeCommit(ObjectId id = null) : base(id)
66
{
77
ParentsEx.Add(null);
88
}
9-
}
9+
}

GitVersionTask.Tests/Mocks/MockReferenceCollection.cs renamed to GitVersionCore.Tests/Mocks/MockReferenceCollection.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ public class MockReferenceCollection : ReferenceCollection, ICollection<Commit>
88
public override ReflogCollection Log(string canonicalName)
99
{
1010
return new MockReflogCollection
11-
{
12-
Commits = Commits
13-
};
11+
{
12+
Commits = Commits
13+
};
1414
}
1515

1616
public List<Commit> Commits = new List<Commit>();

GitVersionTask.Tests/Mocks/MockRepository.cs renamed to GitVersionCore.Tests/Mocks/MockRepository.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,4 +136,4 @@ public StashCollection Stashes
136136
{
137137
get { throw new NotImplementedException(); }
138138
}
139-
}
139+
}

GitVersionTask.Tests/Mocks/MockTag.cs renamed to GitVersionCore.Tests/Mocks/MockTag.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using LibGit2Sharp;
22

3-
public class MockTag:Tag
3+
public class MockTag : Tag
44
{
55

66
public string NameEx;

GitVersionTask.Tests/Mocks/MockTagAnnotation.cs renamed to GitVersionCore.Tests/Mocks/MockTagAnnotation.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using LibGit2Sharp;
22

3-
public class MockTagAnnotation:TagAnnotation
3+
public class MockTagAnnotation : TagAnnotation
44
{
55

66
public Signature TaggerEx;

GitVersionTask.Tests/Mocks/MockTagCollection.cs renamed to GitVersionCore.Tests/Mocks/MockTagCollection.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
using System.Collections.Generic;
33
using LibGit2Sharp;
44

5-
public class MockTagCollection : TagCollection,ICollection<Tag>
5+
public class MockTagCollection : TagCollection, ICollection<Tag>
66
{
77

88
public List<Tag> Tags = new List<Tag>();

GitVersionTask.Tests/GitVersionTask.Tests.csproj

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@
9292
<Compile Include="BuildServers\MyGetTests.cs" />
9393
<Compile Include="BuildServers\TeamCityTests.cs" />
9494
<Compile Include="BuildServers\ContinuaCiTests.cs" />
95+
<Compile Include="Mocks\MockBuildEngine.cs" />
9596
<Compile Include="VersionAndBranchFinderTests.cs" />
9697
<Compile Include="GitHubFlow\MergedBranchesWithVersionFinderTests.cs" />
9798
<Compile Include="LambdaEqualityHelperFixture.cs" />
@@ -107,24 +108,11 @@
107108
<Compile Include="Helpers\SelfCleaningDirectory.cs" />
108109
<Compile Include="Helpers\Lg2sHelperBase.cs" />
109110
<Compile Include="LibGitExtensionsTests.cs" />
110-
<Compile Include="Mocks\MockBuildEngine.cs" />
111-
<Compile Include="Mocks\MockMergeCommit.cs" />
112-
<Compile Include="Mocks\MockReflogCollection.cs" />
113-
<Compile Include="Mocks\MockTagAnnotation.cs" />
114111
<Compile Include="UpdateAssemblyInfoTests.cs" />
115112
<Compile Include="VersionOnMasterFinderTests.cs" />
116-
<Compile Include="Mocks\SignatureBuilder.cs" />
117-
<Compile Include="Mocks\MockCommitLog.cs" />
118-
<Compile Include="Mocks\MockBranch.cs" />
119-
<Compile Include="Mocks\MockBranchCollection.cs" />
120-
<Compile Include="Mocks\MockCommit.cs" />
121-
<Compile Include="Mocks\MockReferenceCollection.cs" />
122-
<Compile Include="Mocks\MockRepository.cs" />
123113
<Compile Include="IntegrationTests.cs" />
124114
<Compile Include="BranchFinders\MasterTests.cs" />
125115
<Compile Include="MergeMessageParserTests.cs" />
126-
<Compile Include="Mocks\MockTag.cs" />
127-
<Compile Include="Mocks\MockTagCollection.cs" />
128116
<Compile Include="ModuleInitializer.cs" />
129117
<Compile Include="BranchFinders\FeatureBranchTests.cs" />
130118
<Compile Include="BranchFinders\PullBranchTests.cs" />

0 commit comments

Comments
 (0)