Skip to content

Feature/di #1861

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 24 commits into from
Oct 18, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 34 additions & 28 deletions src/GitVersionCore.Tests/AssemblyInfoFileUpdaterTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,23 @@
using GitVersion.Extensions;
using GitVersion.Extensions.VersionAssemblyInfoResources;
using GitVersion.Common;
using GitVersion.Logging;

namespace GitVersionCore.Tests
{
[TestFixture]
[Parallelizable(ParallelScope.None)]
public class AssemblyInfoFileUpdaterTests : TestBase
{
private IVariableProvider variableProvider;
private ILog log;

[SetUp]
public void Setup()
{
ShouldlyConfiguration.ShouldMatchApprovedDefaults.LocateTestMethodUsingAttribute<TestCaseAttribute>();
log = new NullLog();
variableProvider = new VariableProvider(log);
}

[TestCase("cs")]
Expand All @@ -33,9 +39,9 @@ public void ShouldCreateAssemblyInfoFileWhenNotExistsAndEnsureAssemblyInfo(strin
var workingDir = Path.GetTempPath();
var assemblyInfoFile = "VersionAssemblyInfo." + fileExtension;
var fullPath = Path.Combine(workingDir, assemblyInfoFile);
var variables = VariableProvider.GetVariablesFor(SemanticVersion.Parse("1.0.0", "v"), new TestEffectiveConfiguration(), false);
var variables = variableProvider.GetVariablesFor(SemanticVersion.Parse("1.0.0", "v"), new TestEffectiveConfiguration(), false);

using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, true))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, true))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -54,9 +60,9 @@ public void ShouldCreateAssemblyInfoFileAtPathWhenNotExistsAndEnsureAssemblyInfo
var workingDir = Path.GetTempPath();
var assemblyInfoFile = Path.Combine("src", "Project", "Properties", "VersionAssemblyInfo." + fileExtension);
var fullPath = Path.Combine(workingDir, assemblyInfoFile);
var variables = VariableProvider.GetVariablesFor(SemanticVersion.Parse("1.0.0", "v"), new TestEffectiveConfiguration(), false);
var variables = variableProvider.GetVariablesFor(SemanticVersion.Parse("1.0.0", "v"), new TestEffectiveConfiguration(), false);

using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, true))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, true))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -78,9 +84,9 @@ public void ShouldCreateAssemblyInfoFilesAtPathWhenNotExistsAndEnsureAssemblyInf
"AssemblyInfo." + fileExtension,
Path.Combine("src", "Project", "Properties", "VersionAssemblyInfo." + fileExtension)
};
var variables = VariableProvider.GetVariablesFor(SemanticVersion.Parse("1.0.0", "v"), new TestEffectiveConfiguration(), false);
var variables = variableProvider.GetVariablesFor(SemanticVersion.Parse("1.0.0", "v"), new TestEffectiveConfiguration(), false);

using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFiles, workingDir, variables, fileSystem, true))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFiles, workingDir, variables, fileSystem, log, true))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -101,9 +107,9 @@ public void ShouldNotCreateAssemblyInfoFileWhenNotExistsAndNotEnsureAssemblyInfo
var workingDir = Path.GetTempPath();
var assemblyInfoFile = "VersionAssemblyInfo." + fileExtension;
var fullPath = Path.Combine(workingDir, assemblyInfoFile);
var variables = VariableProvider.GetVariablesFor(SemanticVersion.Parse("1.0.0", "v"), new TestEffectiveConfiguration(), false);
var variables = variableProvider.GetVariablesFor(SemanticVersion.Parse("1.0.0", "v"), new TestEffectiveConfiguration(), false);

using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -118,9 +124,9 @@ public void ShouldNotCreateAssemblyInfoFileForUnknownSourceCodeAndEnsureAssembly
var workingDir = Path.GetTempPath();
var assemblyInfoFile = "VersionAssemblyInfo.js";
var fullPath = Path.Combine(workingDir, assemblyInfoFile);
var variables = VariableProvider.GetVariablesFor(SemanticVersion.Parse("1.0.0", "v"), new TestEffectiveConfiguration(), false);
var variables = variableProvider.GetVariablesFor(SemanticVersion.Parse("1.0.0", "v"), new TestEffectiveConfiguration(), false);

using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, true))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, true))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -134,9 +140,9 @@ public void ShouldStartSearchFromWorkingDirectory()
var fileSystem = Substitute.For<IFileSystem>();
var workingDir = Path.GetTempPath();
var assemblyInfoFiles = new HashSet<string>();
var variables = VariableProvider.GetVariablesFor(SemanticVersion.Parse("1.0.0", "v"), new TestEffectiveConfiguration(), false);
var variables = variableProvider.GetVariablesFor(SemanticVersion.Parse("1.0.0", "v"), new TestEffectiveConfiguration(), false);

using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFiles, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFiles, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -155,7 +161,7 @@ public void ShouldReplaceAssemblyVersion(string fileExtension, string assemblyFi

VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.MajorMinor, (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -180,7 +186,7 @@ public void ShouldNotReplaceAssemblyVersionWhenVersionSchemeIsNone(string fileEx

VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.None, verify: (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -201,7 +207,7 @@ public void ShouldReplaceAssemblyVersionInRelativePath(string fileExtension, str

VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.MajorMinor, (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -224,7 +230,7 @@ public void ShouldReplaceAssemblyVersionInRelativePathWithWhiteSpace(string file

VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.MajorMinor, (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -247,7 +253,7 @@ public void ShouldReplaceAssemblyVersionWithStar(string fileExtension, string as

VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.MajorMinor, (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -270,7 +276,7 @@ public void ShouldReplaceAssemblyVersionWithAtttributeSuffix(string fileExtensio

VerifyAssemblyInfoFile(assemblyFileContent, fileName, verify: (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -296,7 +302,7 @@ public void ShouldAddAssemblyVersionIfMissingFromInfoFile(string fileExtension)

VerifyAssemblyInfoFile("", fileName, AssemblyVersioningScheme.MajorMinor, (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -319,7 +325,7 @@ public void ShouldReplaceAlreadySubstitutedValues(string fileExtension, string a

VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.MajorMinor, (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -342,7 +348,7 @@ public void ShouldReplaceAssemblyVersionWhenCreatingAssemblyVersionFileAndEnsure

VerifyAssemblyInfoFile(assemblyFileContent, fileName, verify: (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -365,7 +371,7 @@ public void ShouldReplaceAssemblyVersionInRelativePathWithVariables(string fileE

VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.MajorMinor, (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -388,7 +394,7 @@ public void ShouldReplaceAssemblyVersionInRelativePathWithVariablesAndWhiteSpace

VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.MajorMinor, (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -413,7 +419,7 @@ public void ShouldAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionFile

VerifyAssemblyInfoFile(assemblyFileContent, fileName, verify: (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -436,7 +442,7 @@ public void Issue1183_ShouldAddFSharpAssemblyInformationalVersionBesideOtherAttr

VerifyAssemblyInfoFile(assemblyFileContent, fileName, verify: (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -459,7 +465,7 @@ public void ShouldNotAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionF

VerifyAssemblyInfoFile(assemblyFileContent, fileName, AssemblyVersioningScheme.None, verify: (fileSystem, variables) =>
{
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, false))
using (var assemblyInfoFileUpdater = new AssemblyInfoFileUpdater(assemblyInfoFile, workingDir, variables, fileSystem, log, false))
{
assemblyInfoFileUpdater.Update();

Expand All @@ -469,7 +475,7 @@ public void ShouldNotAddAssemblyInformationalVersionWhenUpdatingAssemblyVersionF
});
}

private static void VerifyAssemblyInfoFile(
private void VerifyAssemblyInfoFile(
string assemblyFileContent,
string fileName,
AssemblyVersioningScheme versioningScheme = AssemblyVersioningScheme.MajorMinorPatch,
Expand All @@ -493,7 +499,7 @@ private static void VerifyAssemblyInfoFile(
});

var config = new TestEffectiveConfiguration(assemblyVersioningScheme: versioningScheme);
var variables = VariableProvider.GetVariablesFor(version, config, false);
var variables = variableProvider.GetVariablesFor(version, config, false);

verify?.Invoke(fileSystem, variables);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,30 @@
using Shouldly;
using GitVersion.BuildServers;
using GitVersion.Common;
using GitVersion.Logging;

namespace GitVersionCore.Tests.BuildServers
{
[TestFixture]
public class VsoAgentBuildNumberTests : TestBase
public class AzurePipelinesBuildNumberTests : TestBase
{
string key = "BUILD_BUILDNUMBER";
string logPrefix = "##vso[build.updatebuildnumber]";
VsoAgent versionBuilder;
AzurePipelines versionBuilder;

private IEnvironment environment;
private ILog log;

[SetUp]
public void SetUp()
{
environment = new TestEnvironment();
versionBuilder = new VsoAgent(environment);
log = new NullLog();
versionBuilder = new AzurePipelines(environment, log);
}

[TearDown]
public void TearDownVsoAgentBuildNumberTest()
public void TearDownAzurePipelinesBuildNumberTest()
{
environment.SetEnvironmentVariable(key, null);
}
Expand All @@ -32,7 +35,7 @@ public void TearDownVsoAgentBuildNumberTest()
[TestCase("$(GITVERSION_FULLSEMVER)", "1.0.0", "1.0.0")]
[TestCase("$(GitVersion.FullSemVer)-Build.1234", "1.0.0", "1.0.0-Build.1234")]
[TestCase("$(GITVERSION_FULLSEMVER)-Build.1234", "1.0.0", "1.0.0-Build.1234")]
public void VsoAgentBuildNumberWithFullSemVer(string buildNumberFormat, string myFullSemVer, string expectedBuildNumber)
public void AzurePipelinesBuildNumberWithFullSemVer(string buildNumberFormat, string myFullSemVer, string expectedBuildNumber)
{
environment.SetEnvironmentVariable(key, buildNumberFormat);
var vars = new TestableVersionVariables(fullSemVer: myFullSemVer);
Expand All @@ -45,7 +48,7 @@ public void VsoAgentBuildNumberWithFullSemVer(string buildNumberFormat, string m
[TestCase("$(GITVERSION_SEMVER)", "1.0.0", "1.0.0")]
[TestCase("$(GitVersion.SemVer)-Build.1234", "1.0.0", "1.0.0-Build.1234")]
[TestCase("$(GITVERSION_SEMVER)-Build.1234", "1.0.0", "1.0.0-Build.1234")]
public void VsoAgentBuildNumberWithSemVer(string buildNumberFormat, string mySemVer, string expectedBuildNumber)
public void AzurePipelinesBuildNumberWithSemVer(string buildNumberFormat, string mySemVer, string expectedBuildNumber)
{
environment.SetEnvironmentVariable(key, buildNumberFormat);
var vars = new TestableVersionVariables(semVer: mySemVer);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,23 @@
using Shouldly;
using GitVersion.BuildServers;
using GitVersion.Common;
using GitVersion.Logging;

namespace GitVersionCore.Tests.BuildServers
{
[TestFixture]
public class VsoAgentTests : TestBase
public class AzurePipelinesTests : TestBase
{
string key = "BUILD_BUILDNUMBER";

private IEnvironment environment;
private ILog log;

[SetUp]
public void SetEnvironmentVariableForTest()
{
environment = new TestEnvironment();
log = new NullLog();
environment.SetEnvironmentVariable(key, "Some Build_Value $(GitVersion_FullSemVer) 20151310.3 $(UnknownVar) Release");
}

Expand All @@ -28,7 +31,7 @@ public void ClearEnvironmentVariableForTest()
[Test]
public void Develop_branch()
{
var versionBuilder = new VsoAgent(environment);
var versionBuilder = new AzurePipelines(environment, log);
var vars = new TestableVersionVariables(fullSemVer: "0.0.0-Unstable4");
var vsVersion = versionBuilder.GenerateSetVersionMessage(vars);

Expand All @@ -38,7 +41,7 @@ public void Develop_branch()
[Test]
public void EscapeValues()
{
var versionBuilder = new VsoAgent(environment);
var versionBuilder = new AzurePipelines(environment, log);
var vsVersion = versionBuilder.GenerateSetParameterMessage("Foo", "0.8.0-unstable568 Branch:'develop' Sha:'ee69bff1087ebc95c6b43aa2124bd58f5722e0cb'");

vsVersion[0].ShouldBe("##vso[task.setvariable variable=GitVersion.Foo;]0.8.0-unstable568 Branch:'develop' Sha:'ee69bff1087ebc95c6b43aa2124bd58f5722e0cb'");
Expand All @@ -49,7 +52,7 @@ public void MissingEnvShouldNotBlowUp()
{
environment.SetEnvironmentVariable(key, null);

var versionBuilder = new VsoAgent(environment);
var versionBuilder = new AzurePipelines(environment, log);
var semver = "0.0.0-Unstable4";
var vars = new TestableVersionVariables(fullSemVer: semver);
var vsVersion = versionBuilder.GenerateSetVersionMessage(vars);
Expand Down
Loading