コード例 #1
0
        public void TestUserAgentHeader()
        {
            var response = new MockResponse(200);

            response.SetContent(SerializationHelpers.Serialize(_kvCollectionPageOne.ToArray(), TestHelpers.SerializeBatch));

            var mockTransport = new MockTransport(response);

            var clientOptions = new ConfigurationClientOptions
            {
                Transport = mockTransport
            };

            clientOptions.AddPolicy(new UserAgentHeaderPolicy(), HttpPipelinePosition.PerRetry);

            var config = new ConfigurationBuilder()
                         .AddAzureAppConfiguration(options =>
            {
                options.Client = new ConfigurationClient(_connectionString, clientOptions);
                options.Select("*", null);
            })
                         .Build();

            MockRequest request = mockTransport.SingleRequest;

            string appUserAgent = TracingUtils.GenerateUserAgent("SdkUserAgent");

            appUserAgent = appUserAgent.Replace("SdkUserAgent", "");
            Assert.True(request.Headers.TryGetValue("User-Agent", out string userAgentHeader));
            Assert.Contains(appUserAgent, userAgentHeader);
            Assert.NotEqual(appUserAgent.Length, userAgentHeader.Length);
        }
        public void TestUserAgentHeader()
        {
            var response = new MockResponse(200);

            response.SetContent(SerializationHelpers.Serialize(_kvCollectionPageOne.ToArray(), TestHelpers.SerializeBatch));

            var mockTransport = new MockTransport(response);

            var clientOptions = new ConfigurationClientOptions
            {
                Transport = mockTransport
            };

            clientOptions.AddPolicy(new UserAgentHeaderPolicy(), HttpPipelinePosition.PerRetry);

            var config = new ConfigurationBuilder()
                         .AddAzureAppConfiguration(options =>
            {
                options.Client = new ConfigurationClient(_connectionString, clientOptions);
                options.Select("*", null);
            })
                         .Build();

            MockRequest request = mockTransport.SingleRequest;

            string appUserAgent = TracingUtils.GenerateUserAgent("SdkUserAgent");

            // Validate the user agent format corresponds to informational version instead of assembly version
            // Informational version examples : 3.0.0 or 2.1.0-preview-010380001-1099
            // Assembly version examples : 3.0.0.0 or 2.1.0.0
            var nugetPackageVersionRegex = @"\d+\.\d+\.\d+(-preview-\d+-\d+)?";

            Assert.Matches($@"Microsoft\.Extensions\.Configuration\.AzureAppConfiguration/{nugetPackageVersionRegex} SdkUserAgent", appUserAgent);

            appUserAgent = appUserAgent.Replace("SdkUserAgent", "");
            Assert.True(request.Headers.TryGetValue("User-Agent", out string userAgentHeader));
            Assert.Contains(appUserAgent, userAgentHeader);
            Assert.NotEqual(appUserAgent.Length, userAgentHeader.Length);
        }