コード例 #1
0
    public async Task SearchAsync_WithNoString_ReturnsResults()
    {
        // Arrange
        var repository = NugetRepository.FromSourceUrl(NugetRepositoryTests.TestNugetFeed);
        var provider   = new NuGetPackageProvider(repository);

        // Act
        var packages = await provider.SearchAsync("");

        // Assert
        Assert.True(packages.Any());
    }
コード例 #2
0
    public async Task ResolveAsync_WithExistingPackage_ReturnsPackages()
    {
        // Arrange
        var repository = NugetRepository.FromSourceUrl(NugetRepositoryTests.TestNugetFeed);
        var provider   = new NuGetDependencyResolver(new AggregateNugetRepository(new[] { repository }));

        // Act
        var result = await provider.ResolveAsync(NugetRepositoryTests.TestPackageName);

        // Assert
        Assert.NotEmpty(result.FoundDependencies);
        Assert.Empty(result.NotFoundDependencies);
    }
コード例 #3
0
    public async Task ResolveAsync_WithNoPackage_ReturnsMissing()
    {
        // Arrange
        var repository = NugetRepository.FromSourceUrl(NugetRepositoryTests.TestNugetFeed);
        var provider   = new NuGetDependencyResolver(new AggregateNugetRepository(new[] { repository }));

        // Act
        var result = await provider.ResolveAsync("this.package.does.not.exist");

        // Assert
        Assert.NotEmpty(result.NotFoundDependencies);
        Assert.Empty(result.FoundDependencies);
    }
コード例 #4
0
    public async Task SearchAsync_WithString_ReturnsMatchingResults()
    {
        // Arrange
        var repository = NugetRepository.FromSourceUrl(NugetRepositoryTests.TestNugetFeed);
        var provider   = new NuGetPackageProvider(repository);

        // Act
        var packages = await provider.SearchAsync("Hooks");

        // Assert
        Assert.True(packages.Any());
        Assert.Contains(packages, package => package.Id.Equals("reloaded.sharedlib.hooks", StringComparison.OrdinalIgnoreCase));
    }
コード例 #5
0
    public async Task SearchAsync_CanDownloadReturnedPackage()
    {
        // Arrange
        var repository = NugetRepository.FromSourceUrl(NugetRepositoryTests.TestNugetFeed);
        var provider   = new NuGetPackageProvider(repository);

        // Act
        using var outputDirectory = new TemporaryFolderAllocation();
        var package = (await provider.SearchAsync("Hooks")).First();
        var downloadedPackagePath = await package.DownloadAsync(outputDirectory.FolderPath, null);

        // Assert
        Assert.True(Directory.Exists(downloadedPackagePath));
        Assert.True(File.Exists(Path.Combine(downloadedPackagePath, ModConfig.ConfigFileName)));
    }
コード例 #6
0
    public async Task AddNuGet(string?nugetUrl, string friendlyName, int?durationMinutes = 45)
    {
        // Validate
        if (string.IsNullOrEmpty(nugetUrl))
        {
            await RespondAsync(embed : Extensions.MakeErrorEmbed("You must specify a NuGet URL"));

            return;
        }

        try
        {
            var provider = new NuGetPackageProvider(NugetRepository.FromSourceUrl(nugetUrl));

            var results = await provider.SearchAsync("", 0, 10);
            await AddSourceCommon(new SourceEntry(nugetUrl), friendlyName, durationMinutes !.Value);
        }
        catch (Exception e)
        {
            await HandleSourceError(e);
        }
    }
コード例 #7
0
 public NugetRepositoryTests()
 {
     _nugetRepository = NugetRepository.FromSourceUrl(TestNugetFeed);
 }