Skip to content

Commit b108870

Browse files
committed
add test that tests one GitVersionTask
we need to cover more tasks with different scenarios
1 parent 0c60e65 commit b108870

File tree

14 files changed

+516
-21
lines changed

14 files changed

+516
-21
lines changed

build/test.cake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Task("UnitTest")
55
.IsDependentOn("Build")
66
.Does<BuildParameters>((parameters) =>
77
{
8-
var frameworks = new[] { parameters.CoreFxVersion21, parameters.CoreFxVersion31, parameters.FullFxVersion472 };
8+
var frameworks = new[] { parameters.CoreFxVersion31, parameters.FullFxVersion472 };
99
var testResultsPath = parameters.Paths.Directories.TestResultsOutput;
1010

1111
foreach(var framework in frameworks)

src/Directory.Build.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
<PackageVersion_NSubstitute>4.2.1</PackageVersion_NSubstitute>
2929
<PackageVersion_CoverletMsBuild>2.8.0</PackageVersion_CoverletMsBuild>
3030
<PackageVersion_NUnit>3.12.0</PackageVersion_NUnit>
31+
<PackageVersion_GitToolsTesting>1.2.0</PackageVersion_GitToolsTesting>
3132
<PackageVersion_NUnit3TestAdapter>3.16.1</PackageVersion_NUnit3TestAdapter>
3233
<PackageVersion_NunitXmlTestLogger>2.1.41</PackageVersion_NunitXmlTestLogger>
3334
<PackageVersion_Shouldly>4.0.0-beta0002</PackageVersion_Shouldly>

src/GitVersionCore.Tests/GitVersionCore.Tests.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
<Import Project="..\test.props" />
1313
<ItemGroup>
1414
<PackageReference Include="FluentDateTime" Version="2.0.0" />
15-
<PackageReference Include="GitTools.Testing" Version="1.2.0" />
1615
<PackageReference Include="LibGit2Sharp.NativeBinaries" Version="$(PackageVersion_LibGit2Sharp_NativeBinaries)" />
1716
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="$(PackageVersion_MicrosoftExtensions)" />
1817
<PackageReference Include="Microsoft.Extensions.Options" Version="$(PackageVersion_MicrosoftExtensions)" />

src/GitVersionExe.Tests/GitVersionExe.Tests.csproj

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@
66

77
<Import Project="..\test.props" />
88
<ItemGroup>
9-
<PackageReference Include="GitTools.Testing" Version="1.2.0"></PackageReference>
10-
<PackageReference Include="Mono.Cecil" Version="0.11.2"></PackageReference>
9+
<PackageReference Include="Mono.Cecil" Version="0.11.2" />
1110
</ItemGroup>
1211
<ItemGroup>
1312
<ProjectReference Include="..\GitVersionCore.Tests\GitVersionCore.Tests.csproj" />

src/GitVersionTask.MsBuild/GitVersionTaskBase.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ namespace GitVersion.MSBuildTask
55
{
66
public abstract class GitVersionTaskBase : ITask
77
{
8+
public IBuildEngine BuildEngine { get; set; }
9+
public ITaskHost HostObject { get; set; }
10+
811
protected GitVersionTaskBase()
912
{
1013
Log = new TaskLoggingHelper(this);
@@ -18,8 +21,6 @@ protected GitVersionTaskBase()
1821
public bool NoFetch { get; set; }
1922

2023
public bool NoNormalize { get; set; }
21-
public IBuildEngine BuildEngine { get; set; }
22-
public ITaskHost HostObject { get; set; }
2324

2425
public TaskLoggingHelper Log { get; }
2526

@@ -34,6 +35,5 @@ public bool Execute()
3435
}
3536

3637
protected abstract bool OnExecute();
37-
3838
}
3939
}

src/GitVersionTask.MsBuild/TaskProxy.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ static TaskProxy()
3333
{
3434
InitialiseException = e;
3535
}
36-
3736
}
3837

3938
private static Func<T, bool> GetMethod<T>(TypeInfo type, string name) => (Func<T, bool>)type.GetDeclaredMethod(name).CreateDelegate(typeof(Func<T, bool>));

src/GitVersionTask.MsBuild/Tasks/GetVersion.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,5 @@ public class GetVersion : GitVersionTaskBase
9898
public string CommitsSinceVersionSourcePadded { get; set; }
9999

100100
protected override bool OnExecute() => TaskProxy.GetVersion(this);
101-
102101
}
103102
}

src/GitVersionTask.Tests/GetVersionTaskTests.cs

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1+
using System.Collections.Generic;
12
using System.Linq;
3+
using GitTools.Testing;
4+
using GitVersion.BuildServers;
25
using GitVersion.MSBuildTask.Tasks;
36
using GitVersion.OutputVariables;
47
using GitVersionCore.Tests.Helpers;
8+
using GitVersionTask.Tests.Helpers;
59
using Microsoft.Build.Framework;
610
using NUnit.Framework;
711
using Shouldly;
@@ -23,5 +27,43 @@ public void OutputsShouldMatchVariableProvider()
2327

2428
taskProperties.ShouldBe(variablesProperties, ignoreOrder: true);
2529
}
30+
31+
[Test]
32+
public void GetVersionTaskShouldReturnVersionOutputVariables()
33+
{
34+
ResetEnvironment();
35+
using var fixture = new EmptyRepositoryFixture();
36+
fixture.MakeATaggedCommit("1.2.3");
37+
fixture.MakeACommit();
38+
39+
var task = new GetVersion
40+
{
41+
SolutionDirectory = fixture.RepositoryPath,
42+
};
43+
44+
var result = MsBuildHelper.Execute(task);
45+
46+
result.Success.ShouldBe(true);
47+
result.Errors.ShouldBe(0);
48+
result.Task.FullSemVer.ShouldBe("1.2.4+1");
49+
}
50+
51+
private static void ResetEnvironment()
52+
{
53+
var environmentalVariables = new Dictionary<string, string>
54+
{
55+
{ TeamCity.EnvironmentVariableName, null },
56+
{ AppVeyor.EnvironmentVariableName, null },
57+
{ TravisCi.EnvironmentVariableName, null },
58+
{ Jenkins.EnvironmentVariableName, null },
59+
{ AzurePipelines.EnvironmentVariableName, null },
60+
{ GitHubActions.EnvironmentVariableName, null },
61+
};
62+
63+
foreach (var variable in environmentalVariables)
64+
{
65+
System.Environment.SetEnvironmentVariable(variable.Key, variable.Value);
66+
}
67+
}
2668
}
2769
}

src/GitVersionTask.Tests/GitVersionTask.Tests.csproj

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@
1010
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="$(PackageVersion_MicrosoftExtensions)" />
1111
</ItemGroup>
1212
<ItemGroup>
13-
<Content Include="Approved\**\*.txt" />
14-
</ItemGroup>
15-
<ItemGroup>
16-
<Compile Remove="Common\**" />
17-
<EmbeddedResource Remove="Common\**" />
18-
<None Remove="Common\**" />
13+
<Compile Update="MsBuildExecutionResult.cs">
14+
<Link>Helpers\MsBuildExecutionResult.cs</Link>
15+
</Compile>
16+
<Compile Update="MsBuildHelper.cs">
17+
<Link>Helpers\MsBuildHelper.cs</Link>
18+
</Compile>
1919
</ItemGroup>
2020
<ItemGroup>
2121
<Compile Include="..\GitVersionCore.Tests\Helpers\DirectoryHelper.cs" Link="Helpers\DirectoryHelper.cs" />

0 commit comments

Comments
 (0)