Example #1
0
 public void CanSatisfyRangeIntersect()
 {
     Assert.True(SemanticVersion.RangeIntersect(ExpressionType.LessThan, v1, ExpressionType.LessThan, v11));
     Assert.False(SemanticVersion.RangeIntersect(ExpressionType.LessThan, v1, ExpressionType.GreaterThan, v11));
     Assert.True(SemanticVersion.RangeIntersect(ExpressionType.GreaterThan, v11, ExpressionType.GreaterThan, v11));
     Assert.False(SemanticVersion.RangeIntersect(ExpressionType.LessThan, v090b1, ExpressionType.GreaterThan, v11));
     Assert.True(SemanticVersion.RangeIntersect(ExpressionType.LessThan, v090b1, ExpressionType.GreaterThan, v090a2));
     Assert.True(SemanticVersion.RangeIntersect(ExpressionType.GreaterThan, v090a2, ExpressionType.LessThan, v186));
 }
 public override bool IsVulnerabilityVersionInPackageVersionRange(string vulnerability_version, string package_version)
 {
     try
     {
         return(SemanticVersion.RangeIntersect(vulnerability_version, package_version));
     }
     catch (ParseException e)
     {
         throw new Exception(e.Message);
     }
 }
Example #3
0
 public void CanRangeIntersect()
 {
     Assert.True(SemanticVersion.RangeIntersect("<10.3.2.alpha.1", "<11.0"));
     Assert.True(SemanticVersion.RangeIntersect("<10.3.2.alpha.1", ">1.3"));
     Assert.True(SemanticVersion.RangeIntersect(">=1.2.2", ">1.2.0-alpha.0"));
     Assert.False(SemanticVersion.RangeIntersect(">=1.2.0-alpha.0", "<1.2.0-alpha.0"));
     Assert.True(SemanticVersion.RangeIntersect(">=1.2.0-alpha.0", "<=1.2.0-alpha.0"));
     Assert.True(SemanticVersion.RangeIntersect(">1.4.0-alpha.0", "<=1.7.0"));
     Assert.True(SemanticVersion.RangeIntersect("1.4.0", "<=1.7.0"));
     Assert.False(SemanticVersion.RangeIntersect("10.4", "<=1.7.0.alpha.1"));
     Assert.True(SemanticVersion.RangeIntersect("1.7.0-alpha.1", "<1.7.0"));
     Assert.True(SemanticVersion.RangeIntersect(">1.9.0-beta.0", "1.9.0-beta.1"));
     Assert.True(SemanticVersion.RangeIntersect(">=10", "11.9.0-beta.0"));
 }
Example #4
0
        public override bool IsVulnerabilityVersionInPackageVersionRange(string vulnerability_version, string package_version)
        {
            string message = "";
            bool   r       = SemanticVersion.RangeIntersect(vulnerability_version, package_version, out message);

            if (!r && !string.IsNullOrEmpty(message))
            {
                throw new Exception(message);
            }
            else
            {
                return(r);
            }
        }
Example #5
0
        public void CanNodeSemverGt()
        {
            List <string[]> ranges = new List <string[]>
            {
                new string[] { "~1.2.2", "1.3.0" },
                new string[] { "~0.6.1-1", "0.7.1-1" },
                new string[] { "1.0.0 - 2.0.0", "2.0.1" },
                new string[] { "1.0.0", "1.0.1-beta1" },
                new string[] { "1.0.0", "2.0.0" },
                new string[] { "<=2.0.0", "2.1.1" },
                new string[] { "<=2.0.0", "3.2.9" },
                new string[] { "<2.0.0", "2.0.0" },
                new string[] { "0.1.20 || 1.2.4", "1.2.5" },
                new string[] { "2.x.x", "3.0.0" },
                new string[] { "1.2.x", "1.3.0" },
                new string[] { "1.2.x || 2.x", "3.0.0" },
                new string[] { "2.*.*", "5.0.1" },
                new string[] { "1.2.*", "1.3.3" },
                new string[] { "1.2.* || 2.*", "4.0.0" },
                new string[] { "2", "3.0.0" },
                new string[] { "2.3", "2.4.2" },
                new string[] { "~2.4", "2.5.0" },   // >=2.4.0 <2.5.0
                new string[] { "~2.4", "2.5.5" },
                new string[] { "~3.2.1", "3.3.0" }, // >=3.2.1 <3.3.0
                new string[] { "~1", "2.2.3" },     // >=1.0.0 <2.0.0
                new string[] { "~1", "2.2.4" },
                new string[] { "~ 1", "3.2.3" },
                new string[] { "~1.0", "1.1.2" }, // >=1.0.0 <1.1.0
                new string[] { "~ 1.0", "1.1.0" },
                new string[] { "<1.2", "1.2.0" },
                new string[] { "< 1.2", "1.2.1" },
                new string[] { "1", "2.0.0beta" },
                new string[] { "~v0.5.4-pre", "0.6.0" },
                new string[] { "~v0.5.4-pre", "0.6.1-pre" },
                new string[] { "0.7.x", "0.8.0" },
                //new string[] {"0.7.x", "0.8.0-asdf"},
                //new string[] {"0.7.x", "0.8.0"},
                new string[] { "~1.2.2", "1.3.0" },
                new string[] { "1.0.0 - 2.0.0", "2.2.3" },
                new string[] { "1.0.0", "1.0.1" },
                new string[] { "<=2.0.0", "3.0.0" },
                new string[] { "<=2.0.0", "2.9999.9999" },
                new string[] { "<=2.0.0", "2.2.9" },
                new string[] { "<2.0.0", "2.9999.9999" },
                new string[] { "<2.0.0", "2.2.9" },
                new string[] { "2.x.x", "3.1.3" },
                new string[] { "1.2.x", "1.3.3" },
                new string[] { "1.2.x || 2.x", "3.1.3" },
                new string[] { "2.*.*", "3.1.3" },
                new string[] { "1.2.*", "1.3.3" },
                new string[] { "1.2.* || 2.*", "3.1.3" },
                new string[] { "2", "3.1.2" },
                new string[] { "2.3", "2.4.1" },
                new string[] { "~2.4", "2.5.0" },   // >=2.4.0 <2.5.0
                new string[] { "~3.2.1", "3.3.2" }, // >=3.2.1 <3.3.0
                new string[] { "~1", "2.2.3" },     // >=1.0.0 <2.0.0
                new string[] { "~1", "2.2.3" },
                new string[] { "~1.0", "1.1.0" },   // >=1.0.0 <1.1.0
                new string[] { "<1", "1.0.0" },
                new string[] { "1", "2.0.0beta" },
                new string[] { "<1", "1.0.0beta" },
                new string[] { "< 1", "1.0.0beta" },
                new string[] { "0.7.x", "0.8.2" },
                //new string[] {"0.7.x", "0.7.2"}
            };
            string e;

            Assert.False(SemanticVersion.RangeIntersect("0.7.x", "0.8.0", out e));
            foreach (string[] r in ranges)
            {
                Assert.False(SemanticVersion.RangeIntersect(r[0], r[1], out e));
                Assert.True(string.IsNullOrEmpty(e));
            }
        }
Example #6
0
 public override bool IsVulnerabilityVersionInPackageVersionRange(string vulnerability_version, string package_version)
 {
     return(SemanticVersion.RangeIntersect(vulnerability_version, package_version));
 }