예제 #1
0
        public async Task GetLibraryAsync_InvalidLibraryId()
        {
            CdnjsCatalog sut = SetupCatalog();

            await Assert.ThrowsExceptionAsync <InvalidLibraryException>(async() =>
                                                                        await sut.GetLibraryAsync("invalid_id", "invalid_version", CancellationToken.None));
        }
예제 #2
0
        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));
        }
예제 #3
0
        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);
        }
예제 #4
0
        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);
        }