public virtual bool Initialize(string text) { var parts = text.Split(' ', StringSplitOptions.RemoveEmptyEntries); if (parts.Length != 3) { Logger.Error($"Couldn't parse assembly constraint '{text}'"); return(false); } if (!VersionedText.TryParseSemanticVersion(parts[2], out var version, Logger)) { return(false); } Assembly = parts[0]; Version = version; Constraint = parts[1] switch { "==" => VersionConstraint.EqualTo, "<=" => VersionConstraint.Maximum, ">=" => VersionConstraint.Minimum, ">" => VersionConstraint.GreaterThan, "<" => VersionConstraint.LessThan, _ => VersionConstraint.Undefined }; return(true); }
public void parse_min_and_max() { var constraint = VersionConstraint.Parse("Current,NextMinor"); constraint.Min.ShouldEqual(VersionToken.Current); constraint.Max.ShouldEqual(VersionToken.NextMinor); }
public void parse_only_a_min_value() { var constraint = VersionConstraint.Parse("Current"); constraint.Min.ShouldEqual(VersionToken.Current); constraint.Max.ShouldBeNull(); }
public void spec_for_min() { var version = new SemanticVersion("1.1.0.0"); var constraint = VersionConstraint.Parse("Current"); var spec = constraint.SpecFor(version); spec.MinVersion.ShouldEqual(version); spec.IsMinInclusive.ShouldBeTrue(); spec.MaxVersion.ShouldBeNull(); }
public void AcceptTrueWhenDisableVersioningTrue() { var acc = MockHelpers.HttpContext(ctx => { ctx.Setup(x => x.RequestServices.GetService(typeof(IOptions <ApiExtensionOptions>))).Returns <object>(x => new TestApiExtensionOptions(new ApiExtensionOptions { DisableVersioning = false })); }).ActionConstraintContext(); var versions = new VersionConstraint(new string[] { "v1" }); Assert.False(versions.Accept(acc)); }
public void spec_for_min_and_max() { var version = new SemanticVersion("1.1.0.0"); var constraint = VersionConstraint.Parse("Current,NextMajor"); var spec = constraint.SpecFor(version); spec.MinVersion.ShouldEqual(version); spec.IsMinInclusive.ShouldBeTrue(); spec.MaxVersion.ShouldEqual(new SemanticVersion("2.0.0.0")); spec.IsMaxInclusive.ShouldBeFalse(); }
public void AcceptFalseWhenDisableVersioningFalseAndInValid() { var acc = MockHelpers.HttpContext(ctx => { ctx.Setup(x => x.RequestServices.GetService(typeof(IOptions <ApiExtensionOptions>))).Returns <object>(x => new TestApiExtensionOptions(new ApiExtensionOptions { DisableVersioning = false })); }).ActionConstraintContext(); acc.RouteContext.RouteData.Values["apiVersion"] = "v2"; var versions = new VersionConstraint(new string[] { "v1" }); Assert.False(versions.Accept(acc)); }
public override object Convert(IPropertyContext context) { var data = context.RawValueFromRequest == null ? null : context.RawValueFromRequest.RawValue as string; return(data.IsEmpty() ? null : VersionConstraint.Parse(data)); }
public NuspecDependencyToken(Dependency dependency, SemanticVersion version, VersionConstraint constraint) { Constraint = constraint; Version = version; Dependency = dependency; }
public NuspecDependencyToken(string dependency, SemanticVersion version, VersionConstraint constraint) : this(new Dependency(dependency), version, constraint) { }