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}");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -11,8 +11,6 @@ namespace isnd.tests
|
||||
{
|
||||
|
||||
[CollectionDefinition("Web server collection")]
|
||||
|
||||
|
||||
public class WebServerFixture : IDisposable
|
||||
{
|
||||
public IWebHost Host { get; private set;}
|
||||
@ -43,20 +41,11 @@ namespace isnd.tests
|
||||
});
|
||||
|
||||
Host = webhostBuilder.Build();
|
||||
|
||||
Host.Start(); //Starts listening on the configured addresses.
|
||||
PrintAddresses(Host.Services);
|
||||
}
|
||||
|
||||
void PrintAddresses(IServiceProvider services)
|
||||
{
|
||||
Addresses.Clear();
|
||||
Console.WriteLine("Checking addresses...");
|
||||
var server = services.GetRequiredService<IServer>();
|
||||
var server = Host.Services.GetRequiredService<IServer>();
|
||||
var addressFeature = server.Features.Get<IServerAddressesFeature>();
|
||||
foreach (var address in addressFeature.Addresses)
|
||||
{
|
||||
Console.WriteLine("Listing on address: " + address);
|
||||
Addresses.Add(address);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user