Skip to content

Commit d755bf2

Browse files
committed
added output file integration tests
1 parent baa55fd commit d755bf2

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

src/GitVersionExe.Tests/JsonOutputOnBuildServerTest.cs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
using System.Collections.Generic;
2+
using System.IO;
23
using GitTools.Testing;
34
using GitVersion.BuildAgents;
5+
using GitVersion.OutputVariables;
6+
using Newtonsoft.Json;
47
using NUnit.Framework;
58
using Shouldly;
69

@@ -41,5 +44,31 @@ public void BeingOnBuildServerWithOutputJsonDoesNotFail()
4144
result.OutputVariables.ShouldNotBeNull();
4245
result.OutputVariables.FullSemVer.ShouldBeEquivalentTo(version);
4346
}
47+
48+
[TestCase("", "GitVersion.json")]
49+
[TestCase("version.json", "version.json")]
50+
public void BeingOnBuildServerWithOutputJsonAndOutputFileDoesNotFail(string outputFile, string fileName)
51+
{
52+
using var fixture = new RemoteRepositoryFixture();
53+
fixture.Repository.MakeATaggedCommit("1.2.3");
54+
fixture.Repository.MakeACommit();
55+
56+
var env = new KeyValuePair<string, string>(TeamCity.EnvironmentVariableName, "8.0.0");
57+
58+
var result = GitVersionHelper.ExecuteIn(fixture.LocalRepositoryFixture.RepositoryPath, arguments: $" /output json /output buildserver /output file /outputfile {outputFile}", environments: env);
59+
60+
result.ExitCode.ShouldBe(0);
61+
const string version = "0.1.0+4";
62+
result.Output.ShouldContain($"##teamcity[buildNumber '{version}']");
63+
result.OutputVariables.ShouldNotBeNull();
64+
result.OutputVariables.FullSemVer.ShouldBeEquivalentTo(version);
65+
66+
var filePath = Path.Combine(fixture.LocalRepositoryFixture.RepositoryPath, fileName);
67+
var json = File.ReadAllText(filePath);
68+
69+
var outputVariables = VersionVariables.FromDictionary(JsonConvert.DeserializeObject<Dictionary<string, string>>(json));
70+
outputVariables.ShouldNotBeNull();
71+
outputVariables.FullSemVer.ShouldBeEquivalentTo(version);
72+
}
4473
}
4574
}

0 commit comments

Comments
 (0)