Trying and find a package from API
This commit is contained in:
@ -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}");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user