示例#1
0
        private bool TryRefreshCredentials(out string error)
        {
            try
            {
                string authUrl;
                if (!AzDevOpsOrgFromNuGetFeed.TryCreateCredentialQueryUrl(this.nuGetUpgraderConfig.FeedUrl, out authUrl, out error))
                {
                    return(false);
                }

                if (!this.TryReacquirePersonalAccessToken(authUrl, this.tracer, out string token, out error))
                {
                    return(false);
                }

                this.nuGetFeed.SetCredentials(token);
                return(true);
            }
            catch (Exception ex)
            {
                error = ex.Message;
                this.TraceException(ex, nameof(this.TryRefreshCredentials), "Failed to refresh credentials.");
                return(false);
            }
        }
示例#2
0
        private bool EnsureNuGetFeedInitialized(out string error)
        {
            if (!this.isNuGetFeedInitialized)
            {
                if (this.credentialStore == null)
                {
                    throw new InvalidOperationException("Attempted to call method that requires authentication but no CredentialStore is configured.");
                }

                string authUrl;
                if (!AzDevOpsOrgFromNuGetFeed.TryCreateCredentialQueryUrl(this.nuGetUpgraderConfig.FeedUrl, out authUrl, out error))
                {
                    return(false);
                }

                if (!this.TryGetPersonalAccessToken(authUrl, this.tracer, out string token, out error))
                {
                    return(false);
                }

                this.nuGetFeed.SetCredentials(token);
                this.isNuGetFeedInitialized = true;
            }

            error = null;
            return(true);
        }
        public void CanConstructAzureDevOpsUrlFromPackageFeedUrl(string packageFeedUrl, string expectedAzureDevOpsUrl)
        {
            bool success = AzDevOpsOrgFromNuGetFeed.TryCreateCredentialQueryUrl(
                packageFeedUrl,
                out string azureDevOpsUrl,
                out string error);

            if (expectedAzureDevOpsUrl != null)
            {
                success.ShouldBeTrue();
                azureDevOpsUrl.ShouldEqual(expectedAzureDevOpsUrl);
                error.ShouldBeNull();
            }
            else
            {
                success.ShouldBeFalse();
                azureDevOpsUrl.ShouldBeNull();
                error.ShouldNotBeNull();
            }
        }