Exemplo n.º 1
0
        public void get_requested_api_version_should_return_null_when_header_is_nullX2C_emptyX2C_or_invalid(string header, string value)
        {
            // arrange
            var configuration = new HttpConfiguration();
            var request       = new HttpRequestMessage();
            var versionReader = new QueryStringOrHeaderApiVersionReader()
            {
                HeaderNames = { "api-version", "x-ms-version" }
            };

            configuration.AddApiVersioning(o => o.ApiVersionReader = versionReader);
            request.SetConfiguration(configuration);

            if (value != null)
            {
                request.Headers.Add(header, value);
            }

            // act
            var version = request.GetRequestedApiVersion();

            // assert
            version.Should().BeNull();
            request.Properties["MS_ApiVersion"].Should().BeNull();
        }
        public void add_api_versioning_should_report_api_versions_when_option_is_enabled()
        {
            // arrange
            var configuration = new HttpConfiguration();

            // act
            configuration.AddApiVersioning(o => o.ReportApiVersions = true);

            // assert
            configuration.Services.GetHttpControllerSelector().Should().BeOfType <ApiVersionControllerSelector>();
            configuration.Services.GetActionSelector().Should().BeOfType <ApiVersionActionSelector>();
            configuration.Filters.Single().Instance.Should().BeOfType <ReportApiVersionsAttribute>();
        }
        public void add_api_versioning_should_setup_configuration_with_default_options()
        {
            // arrange
            var configuration = new HttpConfiguration();

            // act
            configuration.AddApiVersioning();

            // assert
            configuration.Services.GetHttpControllerSelector().Should().BeOfType <ApiVersionControllerSelector>();
            configuration.Services.GetActionSelector().Should().BeOfType <ApiVersionActionSelector>();
            configuration.Filters.Should().HaveCount(0);
        }
        public void get_requested_api_version_should_return_null_when_query_parameter_is_nullX2C_emptyX2C_or_invalid(string requestUri)
        {
            // arrange
            var configuration = new HttpConfiguration();
            var request       = new HttpRequestMessage(Get, requestUri);

            configuration.AddApiVersioning();
            request.SetConfiguration(configuration);

            // act
            var version = request.GetRequestedApiVersion();

            // assert
            version.Should().BeNull();
        }
Exemplo n.º 5
0
        public void get_requested_api_version_should_return_expected_value_from_query_parameter()
        {
            // arrange
            var requestedVersion = new ApiVersion(1, 0);
            var configuration    = new HttpConfiguration();
            var request          = new HttpRequestMessage(Get, $"http://localhost/Tests?api-version={requestedVersion}");

            configuration.AddApiVersioning();
            request.SetConfiguration(configuration);

            // act
            var version = request.GetRequestedApiVersion();

            // assert
            version.Should().Be(requestedVersion);
            request.Properties["MS_ApiVersion"].Should().Be(requestedVersion);
        }
        public void get_requested_api_version_should_return_expected_value_from_header(string headerName)
        {
            // arrange
            var requestedVersion = new ApiVersion(1, 0);
            var configuration    = new HttpConfiguration();
            var request          = new HttpRequestMessage();
            var versionReader    = ApiVersionReader.Combine(new QueryStringApiVersionReader(), new HeaderApiVersionReader(headerName));

            configuration.AddApiVersioning(o => o.ApiVersionReader = versionReader);
            request.SetConfiguration(configuration);
            request.Headers.Add(headerName, requestedVersion.ToString());

            // act
            var version = request.GetRequestedApiVersion();

            // assert
            version.Should().Be(requestedVersion);
            request.ApiVersionProperties().RequestedApiVersion.Should().Be(requestedVersion);
        }
Exemplo n.º 7
0
 /// <summary>
 /// Adds service API versioning to the specified services collection.
 /// </summary>
 /// <param name="configuration">The <see cref="HttpConfiguration">configuration</see> that will use use service versioning.</param>
 public static void AddApiVersioning(this HttpConfiguration configuration) => configuration.AddApiVersioning(_ => { });