Trying and find a package from API

This commit is contained in:
2023-05-01 22:05:39 +01:00
parent 06b0115405
commit 9e79edc624
19 changed files with 182 additions and 201 deletions

View File

@ -1,3 +1,4 @@
using System.Linq;
using System.Threading;
using System;
using Xunit;
@ -12,6 +13,8 @@ using NuGet.Configuration;
using System.Threading.Tasks;
using NuGet.Protocol.Core.Types;
using isn.abst;
using NuGet.Common;
using System.Collections.Generic;
namespace isnd.host.tests
{
@ -107,5 +110,62 @@ namespace isnd.host.tests
{
throw new NotImplementedException();
}
public string SPIIndexURI {
get => server.Addresses.First() + "/v3/index";
}
[Fact]
public async Task TestGetMetadataAsync()
{
ILogger logger = NullLogger.Instance;
CancellationToken cancellationToken = CancellationToken.None;
SourceCacheContext cache = new SourceCacheContext();
SourceRepository repository = Repository.Factory.GetCoreV3(SPIIndexURI);
PackageMetadataResource resource = await repository.GetResourceAsync<PackageMetadataResource>();
IEnumerable<IPackageSearchMetadata> packages = await resource.GetMetadataAsync(
"isn.abst",
includePrerelease: true,
includeUnlisted: true,
cache,
logger,
cancellationToken);
Assert.NotEmpty(packages);
foreach (IPackageSearchMetadata package in packages)
{
Console.WriteLine($"Version: {package.Identity.Version}");
Console.WriteLine($"Listed: {package.IsListed}");
Console.WriteLine($"Tags: {package.Tags}");
Console.WriteLine($"Description: {package.Description}");
}
}
[Fact]
public async Task TestFindPackageAsync()
{
ILogger logger = NullLogger.Instance;
CancellationToken cancellationToken = CancellationToken.None;
SourceRepository repository = Repository.Factory.GetCoreV3(SPIIndexURI);
PackageSearchResource resource = await repository.GetResourceAsync<PackageSearchResource>();
SearchFilter searchFilter = new SearchFilter(includePrerelease: true);
IEnumerable<IPackageSearchMetadata> results = await resource.SearchAsync(
"isn",
searchFilter,
skip: 0,
take: 20,
logger,
cancellationToken);
foreach (IPackageSearchMetadata result in results)
{
Console.WriteLine($"Found package {result.Identity.Id} {result.Identity.Version}");
}
}
}
}