public async Task GetLibraryAsync_InvalidLibraryId() { CdnjsCatalog sut = SetupCatalog(); await Assert.ThrowsExceptionAsync <InvalidLibraryException>(async() => await sut.GetLibraryAsync("invalid_id", "invalid_version", CancellationToken.None)); }
public async Task GetLibraryAsync_WebRequestFailsAndNoCachedMetadata_ThrowsInvalidLibraryId() { var fakeCacheService = new Mock <ICacheService>(); fakeCacheService.Setup(x => x.GetContentsFromUriWithCacheFallbackAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <CancellationToken>())) .Throws(new ResourceDownloadException("Cache download failed.")); CdnjsCatalog sut = SetupCatalog(fakeCacheService.Object); await Assert.ThrowsExceptionAsync <InvalidLibraryException>(async() => await sut.GetLibraryAsync("invalid_id", "invalid_version", CancellationToken.None)); }
public async Task GetLibraryAsync_Success() { CdnjsCatalog sut = SetupCatalog(); ILibrary library = await sut.GetLibraryAsync("sampleLibrary", "3.1.4", CancellationToken.None); Assert.IsNotNull(library); Assert.AreEqual("sampleLibrary", library.Name); Assert.AreEqual("3.1.4", library.Version); Assert.IsNotNull(library.Files); }
public async Task SearchAsync_Success_SingleMatch(string searchTerm, string expectedId) { CdnjsCatalog sut = SetupCatalog(); IReadOnlyList <ILibraryGroup> absolute = await sut.SearchAsync(searchTerm, 2, CancellationToken.None); Assert.AreEqual(1, absolute.Count); IEnumerable <string> versions = await absolute[0].GetLibraryVersions(CancellationToken.None); Assert.IsTrue(versions.Any()); ILibrary library = await sut.GetLibraryAsync(absolute[0].DisplayName, versions.First(), CancellationToken.None); Assert.IsTrue(library.Files.Count > 0); Assert.AreEqual(expectedId, library.Name); Assert.AreEqual(1, library.Files.Count(f => f.Value)); Assert.IsNotNull(library.Name); Assert.IsNotNull(library.Version); Assert.AreEqual(CdnjsProvider.IdText, library.ProviderId); }