public async Task ResolveAsync_WithExistingPackage_CanDownloadPackage() { // Arrange var config = new GameBananaUpdateResolverFactory.GameBananaConfig() { ItemId = 333681 }; var clonedDependency = _testEnvironmoent.TestModConfigBTuple.DeepClone(); clonedDependency.Config.ReleaseMetadataFileName = "IntegrationTest.ReleaseMetadata.json"; Singleton <GameBananaUpdateResolverFactory> .Instance.SetConfiguration(clonedDependency, config); var clonedOriginal = _testEnvironmoent.TestModConfigATuple.DeepClone(); var gameBanana = new GameBananaDependencyMetadataWriter(); gameBanana.Update(clonedOriginal.Config, new[] { clonedDependency.Config }); // Act using var outputDirectory = new TemporaryFolderAllocation(); var resolver = new GameBananaDependencyResolver(); var result = await resolver.ResolveAsync(clonedDependency.Config.ModId, clonedOriginal.Config.PluginData); var downloadedPackagePath = await result.FoundDependencies[0].DownloadAsync(outputDirectory.FolderPath, null); // Assert Assert.True(Directory.Exists(downloadedPackagePath)); Assert.True(File.Exists(Path.Combine(downloadedPackagePath, ModConfig.ConfigFileName))); }
public async Task ResolveAsync_WithExistingPackage_ReturnsPackages() { // Arrange var config = new GameBananaUpdateResolverFactory.GameBananaConfig() { ItemId = 6969 }; var clonedDependency = _testEnvironmoent.TestModConfigBTuple.DeepClone(); Singleton <GameBananaUpdateResolverFactory> .Instance.SetConfiguration(clonedDependency, config); var clonedOriginal = _testEnvironmoent.TestModConfigATuple.DeepClone(); var gameBanana = new GameBananaDependencyMetadataWriter(); gameBanana.Update(clonedOriginal.Config, new[] { clonedDependency.Config }); // Act var resolver = new GameBananaDependencyResolver(); var result = await resolver.ResolveAsync(clonedDependency.Config.ModId, clonedOriginal.Config.PluginData); // Assert Assert.NotEmpty(result.FoundDependencies); Assert.Empty(result.NotFoundDependencies); }
public async Task ResolveAsync_WithNoPackage_ReturnsMissing() { // Arrange var resolver = new GameBananaDependencyResolver(); // Act var result = await resolver.ResolveAsync("this.package.does.not.exist"); // Assert Assert.NotEmpty(result.NotFoundDependencies); Assert.Empty(result.FoundDependencies); }