public void DoesNotIncrementWhenBaseVersionSaysNotTo() { var semanticVersionBuildMetaData = new SemanticVersionBuildMetaData("ef7d0d7e1e700f1c7c9fa01ea6791bb778a5c37c", 1, MainBranch, "b1a34edbd80e141f7cc046c074f109be7d022074", "b1a34e", DateTimeOffset.Now, 0); var contextBuilder = new GitVersionContextBuilder(); contextBuilder .OverrideServices(services => { var testBaseVersionCalculator = new TestBaseVersionCalculator(false, new SemanticVersion(1), GitToolsTestingExtensions.CreateMockCommit()); services.AddSingleton <IBaseVersionCalculator>(testBaseVersionCalculator); services.AddSingleton <IMainlineVersionCalculator>(new TestMainlineVersionCalculator(semanticVersionBuildMetaData)); }) .WithConfig(new Config()) .Build(); contextBuilder.ServicesProvider.ShouldNotBeNull(); var nextVersionCalculator = contextBuilder.ServicesProvider.GetRequiredService <INextVersionCalculator>(); nextVersionCalculator.ShouldNotBeNull(); var version = nextVersionCalculator.FindVersion(); version.ToString().ShouldBe("1.0.0"); }
public void DoesNotIncrementWhenBaseVersionSaysNotTo() { var baseCalculator = new TestBaseVersionCalculator(false, new SemanticVersion(1), new MockCommit()); var semanticVersionBuildMetaData = new SemanticVersionBuildMetaData(1, "master", "b1a34e", DateTimeOffset.Now); var sut = new NextVersionCalculator(baseCalculator, new TestMetaDataCalculator(semanticVersionBuildMetaData)); var config = new Config(); var context = new GitVersionContextBuilder().WithConfig(config).Build(); var version = sut.FindVersion(context); version.ToString().ShouldBe("1.0.0"); }
public void ShouldIncrementVersionBasedOnConfig() { var baseCalculator = new TestBaseVersionCalculator(true, new SemanticVersion(1), new MockCommit()); var semanticVersionBuildMetaData = new SemanticVersionBuildMetaData(1, "master", "b1a34edbd80e141f7cc046c074f109be7d022074", "b1a34e", DateTimeOffset.Now); var sut = new NextVersionCalculator(baseCalculator, new TestMetaDataCalculator(semanticVersionBuildMetaData)); var config = new Config(); var context = new GitVersionContextBuilder().WithConfig(config).Build(); var version = sut.FindVersion(context); version.ToString().ShouldBe("1.0.1"); }
public void DoesNotIncrementWhenBaseVersionSaysNotTo() { var baseCalculator = new TestBaseVersionCalculator(false, new SemanticVersion(1), new MockCommit()); var semanticVersionBuildMetaData = new SemanticVersionBuildMetaData("ef7d0d7e1e700f1c7c9fa01ea6791bb778a5c37c", 1, "master", "b1a34edbd80e141f7cc046c074f109be7d022074", "b1a34e", DateTimeOffset.Now); var sut = new NextVersionCalculator(baseCalculator, new TestMetaDataCalculator(semanticVersionBuildMetaData)); var config = new Config(); var context = new GitVersionContextBuilder().WithConfig(config).Build(); var version = sut.FindVersion(context); version.ToString().ShouldBe("1.0.0"); }
public void DoesNotIncrementWhenBaseVersionSaysNotTo() { var baseCalculator = new TestBaseVersionCalculator(false, new SemanticVersion(1), new MockCommit()); var semanticVersionBuildMetaData = new SemanticVersionBuildMetaData(1, "master", "b1a34e", DateTimeOffset.Now); var sut = new NextVersionCalculator(baseCalculator, new TestMetaDataCalculator(semanticVersionBuildMetaData)); var config = new Config(); var context = new GitVersionContextBuilder().WithConfig(config).Build(); var version = sut.FindVersion(context); version.ToString().ShouldBe("1.0.0"); }
public void AppliesBranchPreReleaseTag() { var baseCalculator = new TestBaseVersionCalculator(false, new SemanticVersion(1), new MockCommit()); var semanticVersionBuildMetaData = new SemanticVersionBuildMetaData(2, "develop", "b1a34e", DateTimeOffset.Now); var sut = new NextVersionCalculator(baseCalculator, new TestMetaDataCalculator(semanticVersionBuildMetaData)); var context = new GitVersionContextBuilder() .WithDevelopBranch() .Build(); var version = sut.FindVersion(context); version.ToString("f").ShouldBe("1.0.0-alpha.1+2"); }
public void AppliesBranchPreReleaseTag() { var baseCalculator = new TestBaseVersionCalculator(false, new SemanticVersion(1), new MockCommit()); var semanticVersionBuildMetaData = new SemanticVersionBuildMetaData("ef7d0d7e1e700f1c7c9fa01ea6791bb778a5c37c", 2, "develop", "b1a34edbd80e141f7cc046c074f109be7d022074", "b1a34e", DateTimeOffset.Now); var sut = new NextVersionCalculator(baseCalculator, new TestMetaDataCalculator(semanticVersionBuildMetaData)); var context = new GitVersionContextBuilder() .WithDevelopBranch() .Build(); var version = sut.FindVersion(context); version.ToString("f").ShouldBe("1.0.0-alpha.1+2"); }
public void AppliesBranchPreReleaseTag() { var baseCalculator = new TestBaseVersionCalculator(false, new SemanticVersion(1), new MockCommit()); var semanticVersionBuildMetaData = new SemanticVersionBuildMetaData(2, "develop", "b1a34e", DateTimeOffset.Now); var sut = new NextVersionCalculator(baseCalculator, new TestMetaDataCalculator(semanticVersionBuildMetaData)); var context = new GitVersionContextBuilder() .WithDevelopBranch() .Build(); var version = sut.FindVersion(context); version.ToString("f").ShouldBe("1.0.0-unstable.1+2"); }
public void DoesNotIncrementWhenBaseVersionSaysNotTo() { var semanticVersionBuildMetaData = new SemanticVersionBuildMetaData("ef7d0d7e1e700f1c7c9fa01ea6791bb778a5c37c", 1, "master", "b1a34edbd80e141f7cc046c074f109be7d022074", "b1a34e", DateTimeOffset.Now); var sp = ConfigureServices(services => { services.AddSingleton <IBaseVersionCalculator>(new TestBaseVersionCalculator(false, new SemanticVersion(1), new MockCommit())); services.AddSingleton <IMetaDataCalculator>(new TestMetaDataCalculator(semanticVersionBuildMetaData)); }); var nextVersionCalculator = sp.GetService <INextVersionCalculator>(); var context = new GitVersionContextBuilder().WithConfig(new Config()).Build(); var version = nextVersionCalculator.FindVersion(context); version.ToString().ShouldBe("1.0.0"); }
public void PreReleaseTagCanUseBranchNameVariable() { var baseCalculator = new TestBaseVersionCalculator(false, new SemanticVersion(1), new MockCommit()); var semanticVersionBuildMetaData = new SemanticVersionBuildMetaData(2, "develop", "b1a34e", DateTimeOffset.Now); var sut = new NextVersionCalculator(baseCalculator, new TestMetaDataCalculator(semanticVersionBuildMetaData)); var config = new Config(); config.Branches.Add("custom/", new BranchConfig { Tag = "alpha.{BranchName}" }); var context = new GitVersionContextBuilder() .WithConfig(config) .WithDevelopBranch() .AddBranch("custom/foo") .Build(); var version = sut.FindVersion(context); version.ToString("f").ShouldBe("1.0.0-alpha.foo.1+2"); }
public void AppliesBranchPreReleaseTag() { var semanticVersionBuildMetaData = new SemanticVersionBuildMetaData("ef7d0d7e1e700f1c7c9fa01ea6791bb778a5c37c", 2, "develop", "b1a34edbd80e141f7cc046c074f109be7d022074", "b1a34e", DateTimeOffset.Now); var sp = ConfigureServices(services => { services.AddSingleton <IBaseVersionCalculator>(new TestBaseVersionCalculator(false, new SemanticVersion(1), new MockCommit())); services.AddSingleton <IMetaDataCalculator>(new TestMetaDataCalculator(semanticVersionBuildMetaData)); }); var nextVersionCalculator = sp.GetService <INextVersionCalculator>(); var context = new GitVersionContextBuilder() .WithDevelopBranch() .Build(); var version = nextVersionCalculator.FindVersion(context); version.ToString("f").ShouldBe("1.0.0-alpha.1+2"); }
public void CommitDateFormatTest(string format, string expectedOutcome) { var date = new DateTime(2017, 10, 6); var semanticVersionBuildMetaData = new SemanticVersionBuildMetaData( "950d2f830f5a2af12a6779a48d20dcbb02351f25", 0, MainBranch, "3139d4eeb044f46057693473eacc2655b3b27e7d", "3139d4eeb", new DateTimeOffset(date, TimeSpan.Zero), 0); var semanticVersion = new SemanticVersion { BuildMetaData = semanticVersionBuildMetaData // assume time zone is UTC }; var configuration = new TestEffectiveConfiguration(commitDateFormat: format); var formatValues = new SemanticVersionFormatValues(semanticVersion, configuration); Assert.That(formatValues.CommitDate, Is.EqualTo(expectedOutcome)); }
public void PreReleaseTagCanUseBranchNameVariable() { var baseCalculator = new TestBaseVersionCalculator(false, new SemanticVersion(1), new MockCommit()); var semanticVersionBuildMetaData = new SemanticVersionBuildMetaData(2, "develop", "b1a34e", DateTimeOffset.Now); var sut = new NextVersionCalculator(baseCalculator, new TestMetaDataCalculator(semanticVersionBuildMetaData)); var config = new Config(); config.Branches.Add("custom/", new BranchConfig { Tag = "alpha.{BranchName}" }); var context = new GitVersionContextBuilder() .WithConfig(config) .WithDevelopBranch() .AddBranch("custom/foo") .Build(); var version = sut.FindVersion(context); version.ToString("f").ShouldBe("1.0.0-alpha.foo.1+2"); }
public void ShouldIncrementVersionBasedOnConfig() { var semanticVersionBuildMetaData = new SemanticVersionBuildMetaData("ef7d0d7e1e700f1c7c9fa01ea6791bb778a5c37c", 1, "master", "b1a34edbd80e141f7cc046c074f109be7d022074", "b1a34e", DateTimeOffset.Now, 0); var contextBuilder = new GitVersionContextBuilder(); contextBuilder .OverrideServices(services => { services.AddSingleton <IBaseVersionCalculator>(new TestBaseVersionCalculator(true, new SemanticVersion(1), new MockCommit())); services.AddSingleton <IMainlineVersionCalculator>(new TestMainlineVersionCalculator(semanticVersionBuildMetaData)); }) .WithConfig(new Config()) .Build(); var nextVersionCalculator = contextBuilder.ServicesProvider.GetService <INextVersionCalculator>(); nextVersionCalculator.ShouldNotBeNull(); var version = nextVersionCalculator.FindVersion(); version.ToString().ShouldBe("1.0.1"); }
public void AppliesBranchPreReleaseTag() { var semanticVersionBuildMetaData = new SemanticVersionBuildMetaData("ef7d0d7e1e700f1c7c9fa01ea6791bb778a5c37c", 2, "develop", "b1a34edbd80e141f7cc046c074f109be7d022074", "b1a34e", DateTimeOffset.Now, 0); var contextBuilder = new GitVersionContextBuilder(); contextBuilder .OverrideServices(services => { var testBaseVersionCalculator = new TestBaseVersionCalculator(false, new SemanticVersion(1), GitToolsTestingExtensions.CreateMockCommit()); services.AddSingleton <IBaseVersionCalculator>(testBaseVersionCalculator); services.AddSingleton <IMainlineVersionCalculator>(new TestMainlineVersionCalculator(semanticVersionBuildMetaData)); }) .WithDevelopBranch() .Build(); var nextVersionCalculator = contextBuilder.ServicesProvider.GetService <INextVersionCalculator>(); nextVersionCalculator.ShouldNotBeNull(); var version = nextVersionCalculator.FindVersion(); version.ToString("f").ShouldBe("1.0.0-alpha.1+2"); }
public TestMainlineVersionCalculator(SemanticVersionBuildMetaData metaData) => this.metaData = metaData;
public TestMetaDataCalculator(SemanticVersionBuildMetaData metaData) { this.metaData = metaData; }
public TestMetaDataCalculator(SemanticVersionBuildMetaData metaData) { this.metaData = metaData; }