コード例 #1
0
        public void InitializeServer(VssConnection connection)
        {
            ArgUtil.NotNull(connection, nameof(connection));
            _connection = connection;
            FeatureAvailabilityHttpClient featureAvailabilityHttpClient = connection.GetClient <FeatureAvailabilityHttpClient>();

            if (GetFeatureFlagState(featureAvailabilityHttpClient, EnablePublishToTcmServiceDirectlyFromTaskFF))
            {
                TestHttpClient = connection.GetClient <TestResultsHttpClient>();
            }
            else
            {
                TestHttpClient = connection.GetClient <TestManagementHttpClient>();
            }
        }
コード例 #2
0
        private static bool GetFeatureFlagState(FeatureAvailabilityHttpClient featureAvailabilityHttpClient, string FFName)
        {
            try
            {
                var featureFlag = featureAvailabilityHttpClient?.GetFeatureFlagByNameAsync(FFName).Result;
                if (featureFlag != null && featureFlag.EffectiveState.Equals("On", StringComparison.OrdinalIgnoreCase))
                {
                    return(true);
                }
            }
            finally
            {
            }

            return(false);
        }
コード例 #3
0
 public bool GetFeatureFlagState(string featureFlagName, Guid serviceInstanceId)
 {
     try
     {
         FeatureAvailabilityHttpClient featureAvailabilityHttpClient = _connection.GetClient <FeatureAvailabilityHttpClient>(serviceInstanceId);
         var featureFlag = featureAvailabilityHttpClient?.GetFeatureFlagByNameAsync(featureFlagName).Result;
         if (featureFlag != null && featureFlag.EffectiveState.Equals("On", StringComparison.OrdinalIgnoreCase))
         {
             return(true);
         }
     }
     catch
     {
         _executionContext.Debug(StringUtil.Format("Failed to get FF {0} Value.", featureFlagName));
     }
     return(false);
 }
コード例 #4
0
 public static bool GetFeatureFlagState(FeatureAvailabilityHttpClient featureAvailabilityHttpClient, string FFName, IAsyncCommandContext context)
 {
     try
     {
         var featureFlag = featureAvailabilityHttpClient?.GetFeatureFlagByNameAsync(FFName).Result;
         if (featureFlag != null && featureFlag.EffectiveState.Equals("Off", StringComparison.OrdinalIgnoreCase))
         {
             return(false);
         }
     }
     catch
     {
         context.Debug(StringUtil.Format("Failed to get FF {0} Value. By default, publishing data to TCM.", FFName));
         return(true);
     }
     return(true);
 }
コード例 #5
0
        private static bool GetFeatureFlagState(IExecutionContext executionContext, VssConnection connection, string FFName)
        {
            try
            {
                FeatureAvailabilityHttpClient featureAvailabilityHttpClient = connection.GetClient <FeatureAvailabilityHttpClient>(TFSServiceInstanceGuid);
                var featureFlag = featureAvailabilityHttpClient?.GetFeatureFlagByNameAsync(FFName).Result;
                if (featureFlag != null && featureFlag.EffectiveState.Equals("On", StringComparison.OrdinalIgnoreCase))
                {
                    return(true);
                }
            }
            catch (Exception ex)
            {
                executionContext.Output("Unable to get the FF: " + EnablePublishToTcmServiceDirectlyFromTaskFF + ". Reason: " + ex.Message);
            }

            return(false);
        }
コード例 #6
0
 private FeatureAvailabilityHttpClient GetClient(bool isTcmFeature)
 {
     if (isTcmFeature)
     {
         if (_featureAvailabilityTcmHttpClient == null)
         {
             _featureAvailabilityTcmHttpClient = _clientFactory.GetClient <FeatureAvailabilityHttpClient>(TestLogStoreConstants.TCMServiceInstanceType);
         }
         return(_featureAvailabilityTcmHttpClient);
     }
     else
     {
         if (_featureAvailabilityHttpClient == null)
         {
             _featureAvailabilityHttpClient = _clientFactory.GetClient <FeatureAvailabilityHttpClient>();
         }
         return(_featureAvailabilityHttpClient);
     }
 }
コード例 #7
0
        public async Task PublishCoverageSummaryAsync(IAsyncCommandContext context, VssConnection connection, string project, int buildId, IEnumerable <CodeCoverageStatistics> coverageData, CancellationToken cancellationToken)
        {
            // <todo: Bug 402783> We are currently passing BuildFlavor and BuildPlatform = "" There value are required be passed to command
            CodeCoverageData data = new CodeCoverageData()
            {
                BuildFlavor   = "",
                BuildPlatform = "",
                CoverageStats = coverageData.ToList()
            };

            FeatureAvailabilityHttpClient featureAvailabilityHttpClient = connection.GetClient <FeatureAvailabilityHttpClient>();

            if (FeatureFlagUtility.GetFeatureFlagState(featureAvailabilityHttpClient, CodeCoverageConstants.EnablePublishToTcmServiceDirectlyFromTaskFF, context))
            {
                TestResultsHttpClient tcmClient = connection.GetClient <TestResultsHttpClient>();
                await tcmClient.UpdateCodeCoverageSummaryAsync(data, project, buildId, cancellationToken : cancellationToken);
            }
            else
            {
                TestManagementHttpClient tfsClient = connection.GetClient <TestManagementHttpClient>();
                await tfsClient.UpdateCodeCoverageSummaryAsync(data, project, buildId, cancellationToken : cancellationToken);
            }
        }