Пример #1
0
        public override async Task CanSearch()
        {
            OSSIndexQueryObject q1 = new OSSIndexQueryObject("nuget", "AjaxControlToolkit", "7.1213.0", "");
            Func <List <OSSIndexArtifact>, List <OSSIndexArtifact> > transform = (artifacts) =>
            {
                artifacts.Where(a => !string.IsNullOrEmpty(a.SCMId)).ToList().ForEach(a =>
                {
                    if (a.Search == null || a.Search.Count() != 4)
                    {
                        //throw new Exception("Did not receive expected Search field properties for artifact name: " + a.PackageName + " id: " +
                        //    a.PackageId + " project id: " + a.ProjectId + ".");
                        a.Package = new OSSIndexQueryObject(a.PackageManager, a.PackageName, "", "");
                    }
                    else
                    {
                        a.Package = new OSSIndexQueryObject(a.Search[0], a.Search[1], a.Search[3], "");
                    }
                });
                return(artifacts);
            };

            IEnumerable <OSSIndexArtifact> r1 = await http_client.SearchAsync("nuget", q1, transform);

            Assert.NotEmpty(r1);
            Assert.NotNull(r1.First().Package);
        }
Пример #2
0
        public async Task CanGetPackageVulnerability()
        {
            OSSIndexQueryObject            q1 = new OSSIndexQueryObject("nuget", "DevAudit", "", "");
            IEnumerable <OSSIndexArtifact> r1 = await http_client.SearchAsync("nuget", q1, transform);

            Assert.True(r1.Count() > 0);
            List <OSSIndexPackageVulnerability> pv = await http_client.GetPackageVulnerabilitiesAsync(r1.First().PackageId);

            Assert.True(pv.Count > 0);
        }
Пример #3
0
        public override async Task CanGetProject()
        {
            OSSIndexQueryObject            q1 = new OSSIndexQueryObject("bower", "jquery", "1.6.1", "");
            IEnumerable <OSSIndexArtifact> r1 = await http_client.SearchAsync("bower", q1, transform);

            Assert.True(r1.Count() == 1);
            OSSIndexProject p1 = await http_client.GetProjectForIdAsync(r1.First().ProjectId);

            Assert.NotNull(p1);
            Assert.Equal(p1.Name, "JQuery");
            Assert.Equal(p1.HasVulnerability, true);
            Assert.Equal(p1.Vulnerabilities, "http://ossindex.net:8080/v1.1/project/8396559329/vulnerabilities");
        }
Пример #4
0
        public override async Task CanSearch()
        {
            OSSIndexQueryObject q1 = new OSSIndexQueryObject("msi", "Adobe Reader", "11.0.10", "");
            OSSIndexQueryObject q2 = new OSSIndexQueryObject("msi", "Adobe Reader", "10.1.1", "");

            IEnumerable <OSSIndexArtifact> r1 = await http_client.SearchAsync("msi", q1, transform);

            Assert.NotEmpty(r1);
            Assert.True(r1.All(r => r.Package != null && !string.IsNullOrEmpty(r.Package.Name) && !string.IsNullOrEmpty(r.Package.Version)));
            IEnumerable <OSSIndexArtifact> r2 = await http_client.SearchAsync("msi", new List <OSSIndexQueryObject>() { q1, q2 }, transform);

            Assert.NotEmpty(r2);
            Assert.True(r2.All(r => r.Package != null && !string.IsNullOrEmpty(r.Package.Name) && !string.IsNullOrEmpty(r.Package.Version)));
        }