Skip to content

Commit 7b72120

Browse files
committed
Added unit tests for integration of EnvRun.
1 parent 5126d3d commit 7b72120

File tree

1 file changed

+67
-0
lines changed

1 file changed

+67
-0
lines changed
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
using System;
2+
using System.IO;
3+
using GitVersion;
4+
using GitVersionCore.Tests;
5+
using NUnit.Framework;
6+
using Shouldly;
7+
8+
[TestFixture]
9+
public class EnvRunTests : TestBase
10+
{
11+
private const string EnvVarName = "ENVRUN_DATABASE";
12+
private string mFilePath;
13+
14+
[SetUp]
15+
public void SetEnvironmentVariableForTest()
16+
{
17+
// set environment variable and create an empty envrun file to indicate that EnvRun is running...
18+
mFilePath = Path.Combine(Path.GetTempPath(), "envrun.db");
19+
Environment.SetEnvironmentVariable(EnvVarName, mFilePath, EnvironmentVariableTarget.Process);
20+
File.OpenWrite(mFilePath).Dispose();
21+
}
22+
23+
[TearDown]
24+
public void ClearEnvironmentVariableForTest()
25+
{
26+
Environment.SetEnvironmentVariable(EnvVarName, null, EnvironmentVariableTarget.Process);
27+
File.Delete(mFilePath);
28+
}
29+
30+
[Test]
31+
public void CanApplyToCurrentContext()
32+
{
33+
EnvRun envrun = new EnvRun();
34+
bool applys = envrun.CanApplyToCurrentContext();
35+
applys.ShouldBeTrue();
36+
}
37+
38+
[Test]
39+
public void CanApplyToCurrentContext_EnvironmentVariableNotSet()
40+
{
41+
Environment.SetEnvironmentVariable(EnvVarName, null, EnvironmentVariableTarget.Process);
42+
EnvRun envrun = new EnvRun();
43+
bool applys = envrun.CanApplyToCurrentContext();
44+
applys.ShouldBeFalse();
45+
}
46+
47+
[TestCase("1.2.3")]
48+
[TestCase("1.2.3-rc4")]
49+
public void GenerateSetVersionMessage(string fullSemVer)
50+
{
51+
EnvRun envrun = new EnvRun();
52+
var vars = new TestableVersionVariables(fullSemVer: fullSemVer);
53+
var version = envrun.GenerateSetVersionMessage(vars);
54+
version.ShouldBe(fullSemVer);
55+
}
56+
57+
[TestCase("Version", "1.2.3", "@@envrun[set name='GitVersion_Version' value='1.2.3']")]
58+
[TestCase("Version", "1.2.3-rc4", "@@envrun[set name='GitVersion_Version' value='1.2.3-rc4']")]
59+
public void GenerateSetParameterMessage(string name, string value, string expected)
60+
{
61+
EnvRun envrun = new EnvRun();
62+
var output = envrun.GenerateSetParameterMessage(name, value);
63+
output.ShouldHaveSingleItem();
64+
output[0].ShouldBe(expected);
65+
}
66+
67+
}

0 commit comments

Comments
 (0)