public void UsesDefaultClientNameWhenNotInTestModeAndNoneSet()
        {
            var builder = new UserAgentStringBuilder();

            var userAgentString = NuGetTestMode.InvokeTestFunctionAgainstTestMode(
                () => builder.Build(),
                testModeEnabled: false);

            _output.WriteLine(userAgentString);
            Assert.True(userAgentString.StartsWith(UserAgentStringBuilder.DefaultNuGetClientName));
        }
        public void UsesProvidedClientNameWhenNotInTestMode()
        {
            var builder = new UserAgentStringBuilder("Dummy Test Client Name");

            var userAgentString = NuGetTestMode.InvokeTestFunctionAgainstTestMode(
                () => builder.Build(),
                testModeEnabled: false);

            _output.WriteLine(userAgentString);
            Assert.True(userAgentString.StartsWith("Dummy Test Client Name"));
        }
        public void UsesTestClientNameInTestMode()
        {
            var builder = new UserAgentStringBuilder();

            var userAgentString = NuGetTestMode.InvokeTestFunctionAgainstTestMode(
                () => builder.Build(),
                testModeEnabled: true);

            _output.WriteLine(userAgentString);
            Assert.True(userAgentString.StartsWith(NuGetTestMode.NuGetTestClientName));
        }
        public void UsesComputedNuGetClientVersion()
        {
            var builder = new UserAgentStringBuilder();

            var userAgentString  = builder.WithOSDescription("OSName/OSVersion").WithVisualStudioSKU("VS SKU/Version").Build();
            var userAgentString2 = builder.WithOSDescription("OSName/OSVersion").Build();
            var userAgentString3 = builder.WithVisualStudioSKU("VS SKU/Version").Build();
            var userAgentString4 = builder.Build();

            _output.WriteLine("NuGet client version: " + builder.NuGetClientVersion);
            Assert.NotNull(builder.NuGetClientVersion);
            Assert.NotEmpty(builder.NuGetClientVersion);
            Assert.True(userAgentString.Contains(builder.NuGetClientVersion));
            Assert.True(userAgentString2.Contains(builder.NuGetClientVersion));
            Assert.True(userAgentString3.Contains(builder.NuGetClientVersion));
            Assert.True(userAgentString4.Contains(builder.NuGetClientVersion));
        }