/// <summary> /// Gets an API version from attributes /// </summary> /// <returns></returns> protected override ApiVersion GetVersionFromAttributes(IEnumerable<Attribute> controllerAttributes) { // ReSharper disable once LoopCanBeConvertedToQuery foreach (Attribute attribute in controllerAttributes) { ApiVersionAttribute apiVersionAttribute = attribute as ApiVersionAttribute; if (apiVersionAttribute != null) { SemVerApiVersion version = new SemVerApiVersion(apiVersionAttribute.Version); return version; } } return UndefinedApiVersion.Instance; }
public void NamespaceControllerVersionDetector_DetectsCatControllerVersion() { // given IControllerVersionDetector detector = new DefaultAttributeControllerVersionDetector(); Type catControllerType = typeof(CatControllerInVersionNamespace); // when SemVerApiVersion version = detector.GetVersion(catControllerType) as SemVerApiVersion; // assert Assert.IsNotNull(version, "Expected a SemApiVersion instance to be detected"); Assert.AreEqual(new Version(6, 5, 3, 2), version.Version); }
public void NamespaceControllerVersionDetector_DetectsCatControllerVersion_InTwoPartVersionNamespace() { // given IControllerVersionDetector detector = new DefaultControllerVersionDetector(); Type catControllerType = typeof(VersionTwoDotFiveController); // when SemVerApiVersion version = detector.GetVersion(catControllerType) as SemVerApiVersion; // assert Assert.IsNotNull(version, "Expected a SemApiVersion instance to be detected"); Assert.AreEqual(new Version(2, 5), version.Version); }
/// <summary> /// Gets an API version from attributes /// </summary> /// <returns></returns> protected override ApiVersion GetVersionFromAttributes(IEnumerable <Attribute> controllerAttributes) { // ReSharper disable once LoopCanBeConvertedToQuery foreach (Attribute attribute in controllerAttributes) { ApiVersionAttribute apiVersionAttribute = attribute as ApiVersionAttribute; if (apiVersionAttribute != null) { SemVerApiVersion version = new SemVerApiVersion(apiVersionAttribute.Version); return(version); } } return(UndefinedApiVersion.Instance); }
public void DefaultRouteKeyRequestControllerVersionDetector_ReturnsControllerVersion_FromDoubleVersionRequest() { // given const string controllerVersion = "3.93"; IRequestVersionDetector nameDetector = new DefaultRouteKeyVersionDetector(); HttpRequestMessage msg = new HttpRequestMessage(); msg.Properties[RouteContextKey] = GetMockingRouteData(new Dictionary <string, object>() { { "version", controllerVersion } }); // when SemVerApiVersion semVerApiVersion = nameDetector.GetVersion(msg) as SemVerApiVersion; // then Assert.IsNotNull(semVerApiVersion, "Expected version number to be detected"); Assert.AreEqual(new Version(3, 93), semVerApiVersion.Version); }