private async Task <List <ISuggestedAction> > GetListOfActionsAsync(ILibraryCatalog catalog, CancellationToken cancellationToken)
        {
            var    list = new List <ISuggestedAction>();
            string latestStableVersion = await catalog.GetLatestVersion(_provider.InstallationState.Name, false, cancellationToken).ConfigureAwait(false);

            string latestStable = LibraryIdToNameAndVersionConverter.Instance.GetLibraryId(
                _provider.InstallationState.Name,
                latestStableVersion,
                _provider.InstallationState.ProviderId);

            if (!string.IsNullOrEmpty(latestStableVersion) && latestStableVersion != _provider.InstallationState.Version)
            {
                list.Add(new UpdateSuggestedAction(_provider, latestStable, $"Stable: {latestStable}"));
            }

            string latestPreVersion = await catalog.GetLatestVersion(_provider.InstallationState.Name, true, cancellationToken).ConfigureAwait(false);

            string latestPre = LibraryIdToNameAndVersionConverter.Instance.GetLibraryId(_provider.InstallationState.Name,
                                                                                        latestPreVersion,
                                                                                        _provider.InstallationState.ProviderId);

            if (!string.IsNullOrEmpty(latestPreVersion) && latestPreVersion != _provider.InstallationState.Version && latestPre != latestStable)
            {
                list.Add(new UpdateSuggestedAction(_provider, latestPre, $"Pre-release: {latestPre}"));
            }

            return(list);
        }
        public async Task GetLatestVersion_LatestExist()
        {
            CancellationToken token     = CancellationToken.None;
            const string      libraryId = "[email protected]";
            string            result    = await _catalog.GetLatestVersion(libraryId, false, token);

            Assert.IsNotNull(result);

            string[] existing = libraryId.Split('@');

            Assert.AreNotEqual(existing[1], result);
        }
Esempio n. 3
0
        public async Task GetLatestVersion_LatestExist()
        {
            CancellationToken token = CancellationToken.None;
            // "[email protected]"
            const string libraryName = "twitter-bootstrap";
            const string oldVersion  = "3.3.0";
            string       result      = await _catalog.GetLatestVersion(libraryName, false, token);

            Assert.IsNotNull(result);

            Assert.AreNotEqual(oldVersion, result);
        }
        public async Task GetLatestVersion_LatestExist()
        {
            CancellationToken token     = CancellationToken.None;
            const string      libraryId = "[email protected]";

            string[] existing = libraryId.Split('@');
            string   result   = await _catalog.GetLatestVersion(existing[0], false, token);

            // It can return null value.
            if (result != null)
            {
                Assert.AreNotEqual(existing[1], result);
            }
        }
Esempio n. 5
0
        public void GetLatestVersion()
        {
            CancellationToken token     = CancellationToken.None;
            string            libraryId = "myfile.js";
            Task <string>     result    = _catalog.GetLatestVersion(libraryId, false, token);

            Assert.IsNotNull(result);
            Assert.IsTrue(result.IsCompleted);
            Assert.AreEqual(string.Empty, result.Result);
        }
        private async Task <List <ISuggestedAction> > GetListOfActionsAsync(ILibraryCatalog catalog, CancellationToken cancellationToken)
        {
            var list = new List <ISuggestedAction>();

            string latestStable = await catalog.GetLatestVersion(_provider.InstallationState.LibraryId, false, cancellationToken);

            if (!string.IsNullOrEmpty(latestStable) && latestStable != _provider.InstallationState.LibraryId)
            {
                list.Add(new UpdateSuggestedAction(_provider, latestStable, $"Stable: {latestStable}"));
            }

            string latestPre = await catalog.GetLatestVersion(_provider.InstallationState.LibraryId, true, cancellationToken);

            if (!string.IsNullOrEmpty(latestPre) && latestPre != _provider.InstallationState.LibraryId && latestPre != latestStable)
            {
                list.Add(new UpdateSuggestedAction(_provider, latestPre, $"Pre-release: {latestPre}"));
            }

            return(list);
        }
        public async Task GetLatestVersionAsync()
        {
            CancellationToken token     = CancellationToken.None;
            string            libraryId = "[email protected]";
            string            result    = await _catalog.GetLatestVersion(libraryId, false, token);

            Assert.IsNotNull(result);

            string[] latest   = result.Split('@');
            string[] existing = libraryId.Split('@');

            Assert.AreEqual(2, latest.Length);

            Assert.AreNotEqual(libraryId, result);
            Assert.AreEqual(existing[0], latest[0]);
        }
Esempio n. 8
0
        private async Task <string> GetLatestVersionAsync(ILibraryInstallationState libraryToUpdate, CancellationToken cancellationToken)
        {
            ILibraryCatalog catalog = ManifestDependencies.GetProvider(libraryToUpdate.ProviderId)?.GetCatalog();

            if (catalog == null)
            {
                throw new InvalidOperationException(PredefinedErrors.LibraryIdIsUndefined().Message);
            }

            try
            {
                return(await catalog.GetLatestVersion(libraryToUpdate.LibraryId, PreRelease.HasValue(), cancellationToken));
            }
            catch (Exception ex)
            {
                throw new InvalidOperationException(string.Format(Resources.UnableToFindLatestVersionForLibrary, libraryToUpdate.LibraryId), ex);
            }
        }