Beispiel #1
0
        protected AbstractWebRequestHandler(IResourceCatalog catalog, ITestCatalog testCatalog)
        {
            _dataObject      = null;
            _resourceCatalog = catalog;
            _testCatalog     = testCatalog;
#pragma warning restore S3010
        }
        public void Calculte(ITestCoverageCatalog testCoverageCatalog, ITestCatalog testCatalog)
        {
            AllTestResults      = new List <IServiceTestModelTO>();
            _allCoverageReports = new AllCoverageReports();

            foreach (var coverageResource in _workflows)
            {
                if (coverageResource is null)
                {
                    continue;
                }

                SetWarewolfTestResults(testCatalog, coverageResource);
                SetWarewolfCoverageReports(testCoverageCatalog, coverageResource);
            }

            var workflowCoverageReportsTOs = _allCoverageReports.Calcute();

            AllCoverageReports                  = workflowCoverageReportsTOs;
            TotalWorkflowNodesCoveredCount      = workflowCoverageReportsTOs.Sum(o => o.CoveredWorkflowNodesIds.Count());
            TotalWorkflowNodesCount             = GetTotalWorkflowsNodesCount();
            TotalWorkflowNodesCoveredPercentage = GetTotalWorkflowNodesCoveredPercentage();

            _allCoverageReports.EndTime = DateTime.Now;
        }
Beispiel #3
0
 protected AbstractWebRequestHandler(IResourceCatalog resourceCatalog, ITestCatalog testCatalog, IWorkspaceRepository workspaceRepository, IAuthorizationService authorizationService, IDataObjectFactory dataObjectFactory)
 {
     _resourceCatalog      = resourceCatalog;
     _testCatalog          = testCatalog;
     _workspaceRepository  = workspaceRepository;
     _authorizationService = authorizationService;
     _dataObjectFactory    = dataObjectFactory;
 }
Beispiel #4
0
 public Executor(IWorkspaceRepository workspaceRepository, IResourceCatalog resourceCatalog, ITestCatalog testCatalog, IAuthorizationService authorizationService, IDataObjectFactory dataObjectFactory)
 {
     _repository           = workspaceRepository;
     _resourceCatalog      = resourceCatalog;
     _testCatalog          = testCatalog;
     _authorizationService = authorizationService;
     _dataObjectFactory    = dataObjectFactory;
 }
 protected AbstractWebRequestHandler(IResourceCatalog catalog
                                     , ITestCatalog testCatalog
                                     , IDSFDataObject dataObject
                                     , IAuthorizationService authorizationService
                                     , IWorkspaceRepository repository)
     : this(catalog, testCatalog)
 {
     _dataObject           = dataObject;
     _authorizationService = authorizationService;
     _repository           = repository;
 }
Beispiel #6
0
 protected ExecutorBase(IWorkspaceRepository workspaceRepository, IResourceCatalog resourceCatalog, ITestCatalog testCatalog, ITestCoverageCatalog testCoverageCatalog, IAuthorizationService authorizationService, IDataObjectFactory dataObjectFactory, IEsbChannelFactory esbChannelFactory, IJwtManager jwtManager)
 {
     _repository           = workspaceRepository;
     _resourceCatalog      = resourceCatalog;
     _testCatalog          = testCatalog;
     _testCoverageCatalog  = testCoverageCatalog;
     _authorizationService = authorizationService;
     _dataObjectFactory    = dataObjectFactory;
     _esbChannelFactory    = esbChannelFactory;
     _jwtManager           = jwtManager;
 }
Beispiel #7
0
 protected AbstractWebRequestHandler(IResourceCatalog resourceCatalog, ITestCatalog testCatalog, ITestCoverageCatalog testCoverageCatalog, IWorkspaceRepository workspaceRepository, IAuthorizationService authorizationService, IDataObjectFactory dataObjectFactory, IEsbChannelFactory esbChannelFactory, ISecuritySettings securitySettings, IJwtManager jwtManager)
 {
     _resourceCatalog      = resourceCatalog;
     _testCatalog          = testCatalog;
     _testCoverageCatalog  = testCoverageCatalog;
     _workspaceRepository  = workspaceRepository;
     _authorizationService = authorizationService;
     _dataObjectFactory    = dataObjectFactory;
     _esbChannelFactory    = esbChannelFactory;
     _securitySettings     = securitySettings;
     _jwtManager           = jwtManager;
 }
 public ServerExplorerRepository(IResourceCatalog resourceCatalog, IExplorerItemFactory explorerItemFactory, IDirectory directory, IExplorerRepositorySync sync, IServerVersionRepository versionRepository, IFile file, ITestCatalog testCatalog)
 {
     VerifyArgument.AreNotNull(new Dictionary <string, object>
     {
         { "resourceCatalog", resourceCatalog },
         { "explorerItemFactory", explorerItemFactory },
         { "directory", directory },
         { nameof(testCatalog), testCatalog }
     });
     _sync               = sync;
     _file               = file;
     VersionRepository   = versionRepository;
     ResourceCatalogue   = resourceCatalog;
     ExplorerItemFactory = explorerItemFactory;
     Directory           = directory;
     TestCatalog         = testCatalog;
     IsDirty             = false;
 }
        private void SetWarewolfTestResults(ITestCatalog testCatalog, IWarewolfResource coverageResource)
        {
            var workflowTestResults = new WorkflowTestResults(testCatalog, coverageResource);

            if (!string.IsNullOrEmpty(_reportName) && _reportName != "*")
            {
                var report             = testCatalog.Fetch(coverageResource.ResourceID);
                var tempcoverageReport = report?.Find(oo => oo.TestName?.ToUpper() == _reportName.ToUpper());
                if (tempcoverageReport != null)
                {
                    AllTestResults.Add(tempcoverageReport);
                }
            }
            else
            {
                workflowTestResults.Results
                ?.ForEach(o => AllTestResults.Add(o));
            }
        }
        public override void ProcessRequest(ICommunicationContext ctx)
        {
            var postDataListId = ctx.GetDataListID();

            if (postDataListId != null)
            {
                _catalog             = _catalog ?? ResourceCatalog.Instance;
                _testCatalog         = _testCatalog ?? TestCatalog.Instance;
                _testCoverageCatalog = _testCoverageCatalog ?? TestCoverageCatalog.Instance;
                new WebPostRequestHandler(_catalog, _testCatalog, _testCoverageCatalog).ProcessRequest(ctx);
                return;
            }

            var serviceName = ctx.GetServiceName();
            var workspaceId = ctx.GetWorkspaceID();

            var requestTo = new WebRequestTO {
                ServiceName = serviceName, WebServerUrl = ctx.Request.Uri.ToString(), Dev2WebServer = $"{ctx.Request.Uri.Scheme}://{ctx.Request.Uri.Authority}"
            };
            var data = SubmittedData.GetPostData(ctx);

            if (!string.IsNullOrEmpty(data))
            {
                requestTo.RawRequestPayload = data;
            }
            var variables = ctx.Request.BoundVariables;

            if (variables != null)
            {
                foreach (string key in variables)
                {
                    requestTo.Variables.Add(key, variables[key]);
                }
            }
            // Execute in its own thread to give proper context ;)
            Thread.CurrentPrincipal = ctx.Request.User;

            var responseWriter = CreateForm(requestTo, serviceName, workspaceId, ctx.FetchHeaders(), ctx.Request.User);

            ctx.Send(responseWriter);
        }
        public static DataListFormat ExecuteTests(string serviceName, IDSFDataObject dataObject, DataListFormat formatter,
                                                  IPrincipal userPrinciple, Guid workspaceGuid, Dev2JsonSerializer serializer, ITestCatalog catalog, IResourceCatalog resourceCatalog, ref string executePayload)
        {
            if (dataObject.TestsResourceIds?.Any() ?? false)
            {
                formatter = dataObject.RunMultipleTestBatches(userPrinciple, workspaceGuid, serializer, formatter,
                                                              resourceCatalog, catalog, ref executePayload);
                dataObject.ResourceID = Guid.Empty;
            }
            else
            {
                var objArray = dataObject.RunSingleTestBatch(serviceName, userPrinciple, workspaceGuid, serializer, catalog,
                                                             ref formatter);

                executePayload = serializer.Serialize(objArray);
            }

            Dev2DataListDecisionHandler.Instance.RemoveEnvironment(dataObject.DataListID);
            dataObject.Environment = null;
            return(formatter);
        }
Beispiel #12
0
 public WebGetRequestHandler(IResourceCatalog catalog, ITestCatalog testCatalog)
 {
     _catalog     = catalog;
     _testCatalog = testCatalog;
 }
Beispiel #13
0
 public TestSearcher(IResourceCatalog resourceCatalog, ITestCatalog testCatalog)
 {
     _resourceCatalog = resourceCatalog ?? throw new ArgumentNullException(nameof(resourceCatalog));
     _testCatalog     = testCatalog ?? throw new ArgumentNullException(nameof(testCatalog));
 }
Beispiel #14
0
 public WebPostRequestHandler(IResourceCatalog catalog, ITestCatalog testCatalog, ITestCoverageCatalog testCoverageCatalog, IEsbChannelFactory esbChannelFactory)
     : base(catalog, testCatalog, testCoverageCatalog, esbChannelFactory, new SecuritySettings())
 {
 }
Beispiel #15
0
 protected AbstractWebRequestHandler(IResourceCatalog resourceCatalog, ITestCatalog testCatalog, ITestCoverageCatalog testCoverageCatalog, IEsbChannelFactory esbChannelFactory, ISecuritySettings securitySettings)
     : this(resourceCatalog, testCatalog, testCoverageCatalog, null, WorkspaceRepository.Instance, ServerAuthorizationService.Instance, new DataObjectFactory(), esbChannelFactory, securitySettings, new JwtManager(securitySettings))
 {
 }
Beispiel #16
0
        /// <summary>
        /// Executes the specified errors.
        /// </summary>
        /// <param name="errors">The errors.</param>
        /// <param name="update"></param>
        /// <returns></returns>
        public override Guid Execute(out ErrorResultTO errors, int update)
        {
            errors = new ErrorResultTO();
            ITestCatalog testCatalog = TstCatalog ?? TestCatalog.Instance;
            // WorkflowApplicationFactory wfFactor = new WorkflowApplicationFactory();
            Guid result = GlobalConstants.NullDataListID;


            Dev2Logger.Debug("Entered Wf Container");

            // Set Service Name
            DataObject.ServiceName = ServiceAction.ServiceName;

            // Set server ID, only if not set yet - original server;
            if (DataObject.ServerID == Guid.Empty)
            {
                DataObject.ServerID = HostSecurityProvider.Instance.ServerID;
            }

            // Set resource ID, only if not set yet - original resource;
            if (DataObject.ResourceID == Guid.Empty && ServiceAction?.Service != null)
            {
                DataObject.ResourceID = ServiceAction.Service.ID;
            }


            // Travis : Now set Data List
            DataObject.DataList = ServiceAction.DataListSpecification;
            // Set original instance ID, only if not set yet - original resource;
            if (DataObject.OriginalInstanceID == Guid.Empty)
            {
                DataObject.OriginalInstanceID = DataObject.DataListID;
            }
            Dev2Logger.Info($"Started Execution for Service Name:{DataObject.ServiceName} Resource Id:{DataObject.ResourceID} Mode:{(DataObject.IsDebug ? "Debug" : "Execute")}");
            //Set execution origin
            if (!string.IsNullOrWhiteSpace(DataObject.ParentServiceName))
            {
                DataObject.ExecutionOrigin            = ExecutionOrigin.Workflow;
                DataObject.ExecutionOriginDescription = DataObject.ParentServiceName;
            }
            else if (DataObject.IsDebug)
            {
                DataObject.ExecutionOrigin = ExecutionOrigin.Debug;
            }
            else
            {
                DataObject.ExecutionOrigin = ExecutionOrigin.External;
            }


            ErrorResultTO to = errors;
            var           serviceTestModelTo = testCatalog.FetchTest(DataObject.ResourceID, DataObject.TestName);

            if (serviceTestModelTo == null)
            {
                testCatalog.Load();
                serviceTestModelTo = testCatalog.FetchTest(DataObject.ResourceID, DataObject.TestName);
            }
            if (serviceTestModelTo == null)
            {
                Dev2JsonSerializer serializer = new Dev2JsonSerializer();
                var testRunResult             = new ServiceTestModelTO
                {
                    Result = new TestRunResult
                    {
                        TestName      = DataObject.TestName,
                        RunTestResult = RunResult.TestInvalid,
                        Message       = $"Test {DataObject.TestName} for Resource {DataObject.ServiceName} ID {DataObject.ResourceID}, has been deleted."
                    }
                };
                Dev2Logger.Error($"Test {DataObject.TestName} for Resource {DataObject.ServiceName} ID {DataObject.ResourceID}, has been deleted.");
                _request.ExecuteResult = serializer.SerializeToBuilder(testRunResult);
                return(Guid.NewGuid());
            }

            if (serviceTestModelTo.AuthenticationType == AuthenticationType.User)
            {
                Impersonator impersonator = new Impersonator();
                var          userName     = serviceTestModelTo.UserName;
                var          domain       = "";
                if (userName.Contains("\\"))
                {
                    var slashIndex = userName.IndexOf("\\", StringComparison.InvariantCultureIgnoreCase);
                    domain   = userName.Substring(0, slashIndex);
                    userName = userName.Substring(slashIndex + 1);
                }
                else if (userName.Contains("@"))
                {
                    var atIndex = userName.IndexOf("@", StringComparison.InvariantCultureIgnoreCase);
                    userName = userName.Substring(0, atIndex);
                    domain   = userName.Substring(atIndex + 1);
                }
                var hasImpersonated = impersonator.Impersonate(userName, domain, DpapiWrapper.DecryptIfEncrypted(serviceTestModelTo.Password));
                if (!hasImpersonated)
                {
                    DataObject.Environment.AllErrors.Add("Unauthorized to execute this resource.");
                    DataObject.StopExecution = true;
                }
            }
            else if (serviceTestModelTo.AuthenticationType == AuthenticationType.Public)
            {
                Thread.CurrentPrincipal = GlobalConstants.GenericPrincipal;
            }
            var userPrinciple = Thread.CurrentPrincipal;

            Common.Utilities.PerformActionInsideImpersonatedContext(userPrinciple, () =>
            {
                result = ExecuteWf(to, serviceTestModelTo);
            });
            if (DataObject.Environment.Errors != null)
            {
                foreach (var err in DataObject.Environment.Errors)
                {
                    errors.AddError(err, true);
                }
            }
            if (DataObject.Environment.AllErrors != null)
            {
                foreach (var err in DataObject.Environment.AllErrors)
                {
                    errors.AddError(err, true);
                }
            }

            Dev2Logger.Info($"Completed Execution for Service Name:{DataObject.ServiceName} Resource Id: {DataObject.ResourceID} Mode:{(DataObject.IsDebug ? "Debug" : "Execute")}");

            return(result);
        }
Beispiel #17
0
        public static DataListFormat RunSingleTestBatchAndReturnTRX(this IDSFDataObject dataObject, IPrincipal userPrinciple, Guid workspaceGuid, Dev2JsonSerializer serializer, DataListFormat formatter, string serviceName, ITestCatalog testCatalog, ref string executePayload)
        {
            var testResults = RunAllTestsForWorkflow(dataObject, serviceName, userPrinciple, workspaceGuid, serializer, testCatalog);

            formatter      = DataListFormat.CreateFormat("XML", EmitionTypes.XML, "text/xml");
            executePayload = ServiceTestModelTRXResultBuilder.BuildTestResultTRX(serviceName, testResults);
            return(formatter);
        }
 public WorkflowTestResults(ITestCatalog testCatalog, IWarewolfResource res)
 {
     _testCatalog = testCatalog;
     Resource     = res;
     Initialize();
 }
Beispiel #19
0
        public static DataListFormat RunMultipleTestBatchesAndReturnJSON(this IDSFDataObject dataObject, IPrincipal userPrinciple, Guid workspaceGuid,
                                                                         Dev2JsonSerializer serializer, DataListFormat formatter,
                                                                         IResourceCatalog catalog, ITestCatalog testCatalog,
                                                                         ref string executePayload)
        {
            var testResults = RunListOfTests(dataObject, userPrinciple, workspaceGuid, serializer, catalog, testCatalog);

            formatter = DataListFormat.CreateFormat("JSON", EmitionTypes.JSON, "application/json");
            var objArray = (from testRunResult in testResults
                            where testRunResult != null
                            select testRunResult.BuildTestResultJSONForWebRequest()
                            ).ToList();

            if (objArray.Count > 0)
            {
                executePayload = (executePayload == string.Empty ? "[" : executePayload.TrimEnd("\r\n]".ToCharArray()) + ",") + serializer.Serialize(objArray).TrimStart('[');
            }
            else
            {
                executePayload = "[]";
            }
            return(formatter);
        }
Beispiel #20
0
 public DeleteResource(IResourceCatalog resourceCatalog, ITestCatalog testCatalog)
 {
     _resourceCatalog = resourceCatalog;
     _testCatalog     = testCatalog;
 }
Beispiel #21
0
        public static DataListFormat ExecuteTests(string serviceName, IDSFDataObject dataObject, DataListFormat formatter,
                                                  IPrincipal userPrinciple, Guid workspaceGuid, Dev2JsonSerializer serializer, ITestCatalog testCatalog, IResourceCatalog resourceCatalog, ref string executePayload)
        {
            if (dataObject.TestsResourceIds?.Any() ?? false)
            {
                if (dataObject.ReturnType == Web.EmitionTypes.TEST)
                {
                    formatter = dataObject.RunMultipleTestBatchesAndReturnJSON(userPrinciple, workspaceGuid, serializer, formatter,
                                                                               resourceCatalog, testCatalog, ref executePayload);
                }
                if (dataObject.ReturnType == Web.EmitionTypes.TRX)
                {
                    formatter = dataObject.RunMultipleTestBatchesAndReturnTRX(userPrinciple, workspaceGuid, serializer, formatter,
                                                                              resourceCatalog, testCatalog, ref executePayload);
                }
                dataObject.ResourceID = Guid.Empty;
            }
            else
            {
                if (dataObject.ReturnType == EmitionTypes.TEST)
                {
                    formatter = dataObject.RunSingleTestBatchAndReturnJSON(userPrinciple, workspaceGuid, serializer, formatter,
                                                                           serviceName, testCatalog, ref executePayload);
                }
                if (dataObject.ReturnType == Web.EmitionTypes.TRX)
                {
                    formatter = dataObject.RunSingleTestBatchAndReturnTRX(userPrinciple, workspaceGuid, serializer, formatter,
                                                                          serviceName, testCatalog, ref executePayload);
                }
            }

            Dev2DataListDecisionHandler.Instance.RemoveEnvironment(dataObject.DataListID);
            dataObject.Environment = null;
            return(formatter);
        }
Beispiel #22
0
 public WebGetRequestHandler(IResourceCatalog catalog, ITestCatalog testCatalog, ITestCoverageCatalog testCoverageCatalog)
     : base(catalog, testCatalog, testCoverageCatalog, new DefaultEsbChannelFactory(), new SecuritySettings())
 {
 }
Beispiel #23
0
 protected AbstractWebRequestHandler(IResourceCatalog resourceCatalog, ITestCatalog testCatalog, ITestCoverageCatalog testCoverageCatalog, IServiceTestExecutor serviceTestExecutor, IWorkspaceRepository workspaceRepository, IAuthorizationService authorizationService, IDataObjectFactory dataObjectFactory, IEsbChannelFactory esbChannelFactory, ISecuritySettings securitySettings)
     : this(resourceCatalog, testCatalog, testCoverageCatalog, serviceTestExecutor, workspaceRepository, authorizationService, dataObjectFactory, esbChannelFactory, securitySettings, new JwtManager(securitySettings))
 {
 }
Beispiel #24
0
        static List <IServiceTestModelTO> RunAllTestsForWorkflow(IDSFDataObject dataObject, string serviceName, IPrincipal userPrinciple, Guid workspaceGuid, Dev2JsonSerializer serializer, ITestCatalog testCatalog)
        {
            var allTests    = testCatalog.Fetch(dataObject.ResourceID) ?? new List <IServiceTestModelTO>();
            var taskList    = new List <Task>();
            var testResults = new List <IServiceTestModelTO>();

            foreach (var test in allTests.Where(to => to.Enabled))
            {
                dataObject.ResourceID = test.ResourceId;
                var dataObjectClone = dataObject.Clone();
                dataObjectClone.Environment = new ExecutionEnvironment();
                dataObjectClone.TestName    = test.TestName;
                dataObjectClone.ServiceName = serviceName;
                var lastTask = ServiceTestExecutor.GetTaskForTestExecution(serviceName, userPrinciple, workspaceGuid,
                                                                           serializer, testResults, dataObjectClone);
                taskList.Add(lastTask);
            }
            Task.WaitAll(taskList.ToArray());
            return(testResults);
        }
Beispiel #25
0
 protected AbstractWebRequestHandler(IResourceCatalog resourceCatalog, ITestCatalog testCatalog, ITestCoverageCatalog testCoverageCatalog)
     : this(resourceCatalog, testCatalog, testCoverageCatalog, WorkspaceRepository.Instance, ServerAuthorizationService.Instance, new DataObjectFactory())
 {
 }
Beispiel #26
0
        static List <IServiceTestModelTO> RunListOfTests(IDSFDataObject dataObject, IPrincipal userPrinciple, Guid workspaceGuid, Dev2JsonSerializer serializer, IResourceCatalog catalog, ITestCatalog testCatalog)
        {
            var testResults = new List <IServiceTestModelTO>();
            var taskList    = new List <Task>();

            foreach (var testsResourceId in dataObject.TestsResourceIds)
            {
                var allTests = testCatalog.Fetch(testsResourceId);
                foreach (var test in allTests)
                {
                    var dataObjectClone = dataObject.Clone();
                    dataObjectClone.Environment = new ExecutionEnvironment();
                    dataObjectClone.TestName    = test.TestName;
                    var res = catalog.GetResource(GlobalConstants.ServerWorkspaceID, testsResourceId);
                    dataObjectClone.ServiceName = res.ResourceName;
                    dataObjectClone.ResourceID  = res.ResourceID;
                    var resourcePath = res.GetResourcePath(GlobalConstants.ServerWorkspaceID).Replace("\\", "/");
                    var lastTask     = ServiceTestExecutor.GetTaskForTestExecution(resourcePath, userPrinciple, workspaceGuid,
                                                                                   serializer, testResults, dataObjectClone);
                    taskList.Add(lastTask);
                }
            }
            Task.WaitAll(taskList.ToArray());
            return(testResults);
        }
 protected AbstractWebRequestHandler(IResourceCatalog catalog, ITestCatalog testCatalog)
 {
     _resourceCatalog = catalog;
     _testCatalog     = testCatalog;
 }
Beispiel #28
0
        public static DataListFormat ExecuteTests(IDSFDataObject dataObject, IPrincipal userPrinciple, Guid workspaceGuid, Dev2JsonSerializer serializer, ITestCatalog testCatalog, IResourceCatalog resourceCatalog, out string executePayload, ITestCoverageCatalog testCoverageCatalog)
        {
            executePayload = null;

            DataListFormat formatter = null;

            if (dataObject.TestsResourceIds?.Any() ?? false)
            {
                if (dataObject.ReturnType == EmitionTypes.TEST)
                {
                    formatter = dataObject.RunMultipleTestBatchesAndReturnJSON(userPrinciple, workspaceGuid, serializer, resourceCatalog, testCatalog, out executePayload, testCoverageCatalog);
                }
                if (dataObject.ReturnType == EmitionTypes.TRX)
                {
                    formatter = dataObject.RunMultipleTestBatchesAndReturnTRX(userPrinciple, workspaceGuid, serializer, resourceCatalog, testCatalog, out executePayload, testCoverageCatalog);
                }
                dataObject.ResourceID = Guid.Empty;
            }
            else
            {
                Dev2.Common.Dev2Logger.Warn("No tests found to execute for requested resource", Dev2.Common.GlobalConstants.WarewolfWarn);
            }

            Dev2DataListDecisionHandler.Instance.RemoveEnvironment(dataObject.DataListID);
            dataObject.Environment = null;
            return(formatter ?? DataListFormat.CreateFormat("XML", EmitionTypes.XML, "text/xml"));
        }
Beispiel #29
0
        public static DataListFormat RunSingleTestBatchAndReturnJSON(this IDSFDataObject dataObject, IPrincipal userPrinciple, Guid workspaceGuid, Dev2JsonSerializer serializer, DataListFormat formatter, string serviceName, ITestCatalog testCatalog, ref string executePayload)
        {
            var testResults = RunAllTestsForWorkflow(dataObject, serviceName, userPrinciple, workspaceGuid, serializer, testCatalog);

            formatter = DataListFormat.CreateFormat("JSON", EmitionTypes.JSON, "application/json");
            var objArray = (from testRunResult in testResults
                            where testRunResult != null
                            select testRunResult.BuildTestResultJSONForWebRequest()
                            ).ToList();

            executePayload = serializer.Serialize(objArray);
            return(formatter);
        }
Beispiel #30
0
        public static DataListFormat GetTestCoverageReports(ICoverageDataObject coverageObject, Guid workspaceGuid, Dev2JsonSerializer serializer, ITestCoverageCatalog testCoverageCatalog, ITestCatalog testCatalog, IResourceCatalog resourceCatalog, out string executePayload)
        {
            DataListFormat formatter = null;

            if (coverageObject.CoverageReportResourceIds?.Any() ?? false)
            {
                if (coverageObject.ReturnType == EmitionTypes.CoverJson)
                {
                    formatter = coverageObject.RunCoverageAndReturnJSON(testCoverageCatalog, testCatalog, resourceCatalog, workspaceGuid, serializer, out executePayload);
                }
                else if (coverageObject.ReturnType == EmitionTypes.Cover)
                {
                    formatter = coverageObject.RunCoverageAndReturnHTML(testCoverageCatalog, testCatalog, resourceCatalog, workspaceGuid, out executePayload);
                }
                else
                {
                    executePayload = null;
                }
            }
            else
            {
                executePayload = null;
                Common.Dev2Logger.Warn("No test coverage reports found to execute for requested resource", Common.GlobalConstants.WarewolfWarn);
            }
            return(formatter ?? DataListFormat.CreateFormat("HTML", EmitionTypes.Cover, "text/html; charset=utf-8"));
        }