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); }