Exemple #1
0
        public static async Task HasVersionOverride()
        {
            // arrange
            var path = MethodBase.GetCurrentMethod().GetTestDirectory();
            await Sdk.CreateProject(path);

            await Git.Init(path);

            await Git.Commit(path);

            await Git.Tag(path, "2.3.4");

            var envVars = ("MinVerVersionOverride".ToAltCase(), "3.4.5-alpha.6+build.7");

            var expected = Package.WithVersion(3, 4, 5, new[] { "alpha", "6" }, 0, "build.7");

            // act
            var(actual, _, _) = await Sdk.BuildProject(path, envVars : envVars);

            var(cliStandardOutput, _) = await MinVerCli.ReadAsync(path, envVars : envVars);

            // assert
            Assert.Equal(expected, actual);
            Assert.Equal(expected.Version, cliStandardOutput.Trim());
        }
Exemple #2
0
    public static async Task HeightIsIgnored()
    {
        // arrange
        var path = MethodBase.GetCurrentMethod().GetTestDirectory();
        await Sdk.CreateProject(path);

        await Git.Init(path);

        await Git.Commit(path);

        await Git.Tag(path, "2.3.4");

        await Git.Commit(path);

        var envVars = ("MinVerIgnoreHeight".ToAltCase(), "true".ToAltCase());

        var expected = Package.WithVersion(2, 3, 4);

        // act
        var(actual, _, _) = await Sdk.BuildProject(path, envVars);

        var(cliStandardOutput, _) = await MinVerCli.ReadAsync(path, envVars : envVars);

        // assert
        Assert.Equal(expected, actual);
        Assert.Equal(expected.Version, cliStandardOutput.Trim());
    }
Exemple #3
0
        public static async Task HasCustomDefaultPreReleasePhase()
        {
            // arrange
            var path = MethodBase.GetCurrentMethod().GetTestDirectory();
            await Sdk.CreateProject(path);

            await Git.Init(path);

            await Git.Commit(path);

            await Git.Tag(path, "2.3.4");

            await Git.Commit(path);

            var envVars = ("MinVerDefaultPreReleasePhase".ToAltCase(), "preview");

            var expected = Package.WithVersion(2, 3, 5, new[] { "preview", "0" }, 1);

            // act
            var(sdkActual, _) = await Sdk.BuildProject(path, envVars : envVars);

            var(cliActual, _) = await MinVerCli.Run(path, envVars : envVars);

            // assert
            Assert.Equal(expected, sdkActual);
            Assert.Equal(expected.Version, cliActual);
        }
Exemple #4
0
        public static async Task DoesNotHaveBuildMetadata()
        {
            // arrange
            var path = MethodBase.GetCurrentMethod().GetTestDirectory();
            await Sdk.CreateProject(path);

            await Git.Init(path);

            await Git.Commit(path);

            await Git.Tag(path, "2.3.4+build.5");

            await Git.Commit(path);

            var expected = Package.WithVersion(2, 3, 5, new[] { "alpha", "0" }, 1);

            // act
            var(sdkActual, _) = await Sdk.BuildProject(path);

            var(cliActual, _) = await MinVerCli.Run(path);

            // assert
            Assert.Equal(expected, sdkActual);
            Assert.Equal(expected.Version, cliActual);
        }
    public static async Task HasHeightTwo()
    {
        // arrange
        var path = MethodBase.GetCurrentMethod().GetTestDirectory();
        await Sdk.CreateProject(path);

        await Git.Init(path);

        await Git.Commit(path);

        await Git.Tag(path, "2.3.4-alpha.5");

        await Git.Commit(path);

        await Git.Commit(path);

        var expected = Package.WithVersion(2, 3, 4, new[] { "alpha", "5", }, 2);

        // act
        var(actual, _, _) = await Sdk.BuildProject(path);

        var(cliStandardOutput, _) = await MinVerCli.ReadAsync(path);

        // assert
        Assert.Equal(expected, actual);
        Assert.Equal(expected.Version, cliStandardOutput.Trim());
    }
Exemple #6
0
        public static async Task HasTagVersion()
        {
            // arrange
            var path = MethodBase.GetCurrentMethod().GetTestDirectory();
            await Sdk.CreateProject(path);

            await Git.Init(path);

            await Git.Commit(path);

            await Git.Tag(path, "v.2.3.4-alpha.5");

            var envVars = ("MinVerTagPrefix", "v.");

            var expected = Package.WithVersion(2, 3, 4, new[] { "alpha", "5" });

            // act
            var(sdkActual, _) = await Sdk.BuildProject(path, envVars : envVars);

            var(cliActual, _) = await MinVerCli.Run(path, envVars : envVars);

            // assert
            Assert.Equal(expected, sdkActual);
            Assert.Equal(expected.Version, cliActual);
        }
Exemple #7
0
        public static async Task HasMinimumMajorMinorWithHeightOne()
        {
            // arrange
            var path = MethodBase.GetCurrentMethod().GetTestDirectory();
            await Sdk.CreateProject(path);

            await Git.Init(path);

            await Git.Commit(path);

            await Git.Tag(path, "2.3.4");

            await Git.Commit(path);

            var envVars = ("MinVerMinimumMajorMinor".ToAltCase(), "3.0");

            var expected = Package.WithVersion(3, 0, 0, new[] { "alpha", "0" }, 1);

            // act
            var(actual, _, _) = await Sdk.BuildProject(path, envVars : envVars);

            var(cliStandardOutput, _) = await MinVerCli.ReadAsync(path, envVars : envVars);

            // assert
            Assert.Equal(expected, actual);
            Assert.Equal(expected.Version, cliStandardOutput.Trim());
        }
Exemple #8
0
        public static async Task HasCustomAutoIncrement()
        {
            // arrange
            var path = MethodBase.GetCurrentMethod().GetTestDirectory();
            await Sdk.CreateProject(path);

            await Git.Init(path);

            await Git.Commit(path);

            await Git.Tag(path, "2.3.4");

            await Git.Commit(path);

            var envVars = ("MinVerAutoIncrement".ToAltCase(), "minor");

            var expected = Package.WithVersion(2, 4, 0, new[] { "alpha", "0" }, 1);

            // act
            var(sdkActual, _) = await Sdk.BuildProject(path, envVars : envVars);

            var(cliActual, _) = await MinVerCli.Run(path, envVars : envVars);

            // assert
            Assert.Equal(expected, sdkActual);
            Assert.Equal(expected.Version, cliActual);
        }
Exemple #9
0
        public static async Task DefaultPreReleasePhaseBackToDefault(string value)
        {
            // arrange
            var path = MethodBase.GetCurrentMethod().GetTestDirectory();

            FileSystem.EnsureEmptyDirectory(path);

            await Git.Init(path);

            await Git.Commit(path);

            await Git.Tag(path, "2.3.4");

            await Git.Commit(path);

            var envVars = ("MinVerDefaultPreReleasePhase".ToAltCase(), "preview");
            var args    = $"--default-pre-release-phase {value}";

            var expected = Package.WithVersion(2, 3, 5, new[] { "alpha", "0" }, 1);

            // act
            var(cliStandardOutput, _) = await MinVerCli.ReadAsync(path, args : args, envVars : envVars);

            // assert
            Assert.Equal(expected.Version, cliStandardOutput.Trim());
        }
Exemple #10
0
        public static async Task VerbosityBackToDefault(string value)
        {
            // arrange
            var path = MethodBase.GetCurrentMethod().GetTestDirectory();

            FileSystem.EnsureEmptyDirectory(path);

            var envVars = ("MinVerVerbosity", "error");
            var args    = $"--verbosity {value}";

            // act
            var(_, cliStandardError) = await MinVerCli.ReadAsync(path, args : args, envVars : envVars);

            // assert
            Assert.Contains("MinVer:", cliStandardError, StringComparison.Ordinal);
        }
Exemple #11
0
        public static async Task HasBuildMetadata()
        {
            // arrange
            var path = MethodBase.GetCurrentMethod().GetTestDirectory();
            await Sdk.CreateProject(path);

            var envVars  = ("MinVerBuildMetadata", "build.123");
            var expected = Package.WithVersion(0, 0, 0, new[] { "alpha", "0" }, 0, "build.123");

            // act
            var(sdkActual, _) = await Sdk.BuildProject(path, envVars : envVars);

            var(cliActual, _) = await MinVerCli.Run(path, envVars : envVars);

            // assert
            Assert.Equal(expected, sdkActual);
            Assert.Equal(expected.Version, cliActual);
        }
Exemple #12
0
        public static async Task BuildMetadataBackToDefault(string value)
        {
            // arrange
            var path = MethodBase.GetCurrentMethod().GetTestDirectory();

            FileSystem.EnsureEmptyDirectory(path);

            var envVars = ("MinVerBuildMetadata", "build.123");
            var args    = $"--build-metadata {value}";

            var expected = Package.WithVersion(0, 0, 0, new[] { "alpha", "0" }, 0);

            // act
            var(cliStandardOutput, _) = await MinVerCli.ReadAsync(path, args : args, envVars : envVars);

            // assert
            Assert.Equal(expected.Version, cliStandardOutput.Trim());
        }
Exemple #13
0
    public static async Task HasDefaultVersion()
    {
        // arrange
        var path = MethodBase.GetCurrentMethod().GetTestDirectory();
        await Sdk.CreateProject(path);

        var expected = Package.WithVersion(0, 0, 0, new[] { "alpha", "0", });

        // act
        var(actual, sdkStandardOutput, _) = await Sdk.BuildProject(path);

        var(cliStandardOutput, cliStandardError) = await MinVerCli.ReadAsync(path);

        // assert
        Assert.Equal(expected, actual);
        Assert.Contains("MINVER1001", sdkStandardOutput, StringComparison.Ordinal);

        Assert.Equal(expected.Version, cliStandardOutput.Trim());
        Assert.Contains("not a valid Git working directory", cliStandardError, StringComparison.Ordinal);
    }
Exemple #14
0
        public static async Task HasDefaultVersion()
        {
            // arrange
            var path = MethodBase.GetCurrentMethod().GetTestDirectory();
            await Sdk.CreateProject(path);

            await Git.Init(path);

            await Git.Commit(path);

            var expected = Package.WithVersion(0, 0, 0, new[] { "alpha", "0" });

            // act
            var(sdkActual, _) = await Sdk.BuildProject(path);

            var(cliActual, _) = await MinVerCli.Run(path);

            // assert
            Assert.Equal(expected, sdkActual);
            Assert.Equal(expected.Version, cliActual);
        }
Exemple #15
0
        public static async Task HasTagVersion()
        {
            // arrange
            var path = MethodBase.GetCurrentMethod().GetTestDirectory();
            await Sdk.CreateProject(path);

            await Git.Init(path);

            await Git.Commit(path);

            await Git.AnnotatedTag(path, "2.3.4-alpha.5+build.6", "foo");

            var expected = Package.WithVersion(2, 3, 4, new[] { "alpha", "5" }, 0, "build.6");

            // act
            var(sdkActual, _) = await Sdk.BuildProject(path);

            var(cliActual, _) = await MinVerCli.Run(path);

            // assert
            Assert.Equal(expected, sdkActual);
            Assert.Equal(expected.Version, cliActual);
        }
Exemple #16
0
        public static async Task MinimumMajorMinorBackToDefault(string value)
        {
            // arrange
            var path = MethodBase.GetCurrentMethod().GetTestDirectory();

            FileSystem.EnsureEmptyDirectory(path);

            await Git.Init(path);

            await Git.Commit(path);

            await Git.Tag(path, "2.3.4");

            var envVars = ("MinVerMinimumMajorMinor".ToAltCase(), "3.0");
            var args    = $"--minimum-major-minor {value}";

            var expected = Package.WithVersion(2, 3, 4);

            // act
            var(cliStandardOutput, _) = await MinVerCli.ReadAsync(path, args : args, envVars : envVars);

            // assert
            Assert.Equal(expected.Version, cliStandardOutput.Trim());
        }
Exemple #17
0
        public static async Task TagPrefixBackToDefault(string value)
        {
            // arrange
            var path = MethodBase.GetCurrentMethod().GetTestDirectory();

            FileSystem.EnsureEmptyDirectory(path);

            await Git.Init(path);

            await Git.Commit(path);

            await Git.Tag(path, "2.3.4-alpha.5");

            var envVars = ("MinVerTagPrefix", "v.");
            var args    = $"--tag-prefix {value}";

            var expected = Package.WithVersion(2, 3, 4, new[] { "alpha", "5" });

            // act
            var(cliStandardOutput, _) = await MinVerCli.ReadAsync(path, args : args, envVars : envVars);

            // assert
            Assert.Equal(expected.Version, cliStandardOutput.Trim());
        }