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); }
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); }
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"); }
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))); }