/// <summary/> public IndexedGameBananaPackageProvider(int gameId) { GameId = gameId; _fallback = new GameBananaPackageProvider(gameId); _ = InitializeApiAsync(); }
public async Task SearchAsync_WithNoString_ReturnsResults() { // Arrange var provider = new GameBananaPackageProvider(7486); // Act var packages = await provider.SearchAsync(""); // Assert Assert.True(packages.Any()); }
public async Task SearchAsync_WithString_ReturnsMatchingResults() { // Arrange var provider = new GameBananaPackageProvider(7486); // Act var packages = await provider.SearchAsync("Update Lib. Test"); // Assert Assert.True(packages.Any()); //Assert.Contains(packages, package => package.Id.Equals("reloaded.sharedlib.hooks", StringComparison.OrdinalIgnoreCase)); }
public async Task SearchAsync_CanDownloadReturnedPackage() { // Arrange var provider = new GameBananaPackageProvider(7486); // Act using var outputDirectory = new TemporaryFolderAllocation(); var package = (await provider.SearchAsync("Update Lib. Test")).First(); var downloadedPackagePath = await package.DownloadAsync(outputDirectory.FolderPath, null); // Assert Assert.True(Directory.Exists(downloadedPackagePath), "This test currently fails because GameBanana cannot distinguish between Delta and Normal packages."); Assert.True(File.Exists(Path.Combine(downloadedPackagePath, ModConfig.ConfigFileName))); }
public async Task AddGameBanana(int?appId, string friendlyName, int?durationMinutes = 45) { // Validate if (!appId.HasValue) { await RespondAsync(embed : Extensions.MakeErrorEmbed("You must specify a GameBanana app id.")); return; } try { var provider = new GameBananaPackageProvider(appId.Value); var results = await provider.SearchAsync("", 0, 10); await AddSourceCommon(new SourceEntry(appId.Value), friendlyName, durationMinutes !.Value); } catch (Exception e) { await HandleSourceError(e); } }