public async Task ApplicationIdIsIncluded()
        {
            var transport       = new MockTransport(new MockResponse(200));
            var telemetryPolicy = new TelemetryPolicy(new UserAgentValue(GetType(), "application-id"));

            await SendGetRequest(transport, telemetryPolicy);

            Assert.True(transport.SingleRequest.TryGetHeader("User-Agent", out var userAgent));
            StringAssert.StartsWith("application-id ", userAgent);
        }
        public async Task IncludesComponentNameAndVersion()
        {
            var transport       = new MockTransport(new MockResponse(200));
            var telemetryPolicy = new TelemetryPolicy("base-test", "1.0.0", null);

            await SendGetRequest(transport, telemetryPolicy);

            Assert.True(transport.SingleRequest.TryGetHeader("User-Agent", out var userAgent));
            Assert.AreEqual(userAgent, $"azsdk-net-base-test/1.0.0 ({RuntimeInformation.FrameworkDescription}; {RuntimeInformation.OSDescription})");
        }
        public async Task ComponentNameAndVersionReadFromAssembly()
        {
            var transport       = new MockTransport(new MockResponse(200));
            var telemetryPolicy = new TelemetryPolicy(typeof(TelemetryPolicyTests).Assembly, null);

            var assemblyVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString();

            await SendGetRequest(transport, telemetryPolicy);

            Assert.True(transport.SingleRequest.TryGetHeader("User-Agent", out var userAgent));
            Assert.AreEqual(userAgent, $"azsdk-net-base-test/{assemblyVersion} ({RuntimeInformation.FrameworkDescription}; {RuntimeInformation.OSDescription})");
        }
Пример #4
0
        public async Task CanDisableTelemetryWithEnvironmentVariable(string value)
        {
            try
            {
                Environment.SetEnvironmentVariable("AZURE_TELEMETRY_DISABLED", value);

                var transport       = new MockTransport(new MockResponse(200));
                var telemetryPolicy = new TelemetryPolicy(typeof(TelemetryPolicyTests).Assembly);
                await SendGetRequest(transport, telemetryPolicy);

                Assert.False(transport.SingleRequest.TryGetHeader("User-Agent", out var userAgent));
            }
            finally
            {
                Environment.SetEnvironmentVariable("AZURE_TELEMETRY_DISABLED", null);
            }
        }
Пример #5
0
        public async Task UsesDefaultApplicationId()
        {
            try
            {
                TelemetryPolicy.DefaultApplicationId = "Global-application-id";

                var transport       = new MockTransport(new MockResponse(200));
                var telemetryPolicy = new TelemetryPolicy(typeof(TelemetryPolicyTests).Assembly);

                await SendGetRequest(transport, telemetryPolicy);

                Assert.True(transport.SingleRequest.TryGetHeader("User-Agent", out var userAgent));
                StringAssert.StartsWith("Global-application-id ", userAgent);
            }
            finally
            {
                TelemetryPolicy.DefaultApplicationId = null;
            }
        }
        public async Task IncludesComponentNameAndVersion()
        {
            var assembly        = Assembly.GetAssembly(GetType());
            var transport       = new MockTransport(new MockResponse(200));
            var telemetryPolicy = new TelemetryPolicy(new UserAgentValue(GetType()));

            await SendGetRequest(transport, telemetryPolicy);

            Assert.True(transport.SingleRequest.TryGetHeader("User-Agent", out var userAgent));

            AssemblyInformationalVersionAttribute versionAttribute = assembly.GetCustomAttribute <AssemblyInformationalVersionAttribute>();
            string version       = versionAttribute.InformationalVersion;
            int    hashSeparator = version.IndexOfOrdinal('+');

            if (hashSeparator != -1)
            {
                version = version.Substring(0, hashSeparator);
            }
            Assert.AreEqual(userAgent, $"azsdk-net-Core.Tests/{version} ({RuntimeInformation.FrameworkDescription}; {RuntimeInformation.OSDescription})");
        }