internal void SetRenderResult(RenderStatusResults renderResult)
 {
     logger_.Verbose("enter");
     renderResult_ = renderResult;
     NotifyRenderCompleteAllListeners();
     logger_.Verbose("exit");
 }
Example #2
0
        private void SampleRenderingStatus_(Dictionary <RunningRender, RenderRequest> runningRenders, List <string> ids, List <RenderStatusResults> renderStatusResultsList)
        {
            logger_.Verbose("enter - renderStatusResultsList size: {0}", renderStatusResultsList.Count);

            for (int i = renderStatusResultsList.Count - 1; i >= 0; i--)
            {
                RenderStatusResults renderStatusResults = renderStatusResultsList[i];
                if (renderStatusResults == null)
                {
                    continue;
                }

                RenderStatus renderStatus     = renderStatusResults.Status;
                bool         isRenderedStatus = renderStatus == RenderStatus.Rendered;
                bool         isErrorStatus    = renderStatus == RenderStatus.Error;
                logger_.Verbose("renderStatusResults - {0}", renderStatusResults);
                if (isRenderedStatus || isErrorStatus)
                {
                    string removedId = ids[i];
                    ids.RemoveAt(i);

                    foreach (KeyValuePair <RunningRender, RenderRequest> kvp in runningRenders)
                    {
                        RunningRender renderedRender = kvp.Key;
                        RenderRequest renderRequest  = kvp.Value;
                        if (renderedRender.RenderId.Equals(removedId, StringComparison.OrdinalIgnoreCase))
                        {
                            VisualGridTask task = runningRenders[renderedRender].Task;

                            for (int k = openTasks_.Count - 1; k >= 0; k--)
                            {
                                VisualGridTask openTask = openTasks_[k];
                                if (openTask.RunningTest == task.RunningTest)
                                {
                                    if (isRenderedStatus)
                                    {
                                        logger_.Verbose("setting openTask {0} render result: {1} to url {2}", openTask, renderStatusResults, result_.Url);
                                        openTask.SetRenderResult(renderStatusResults);
                                    }
                                    else
                                    {
                                        logger_.Verbose("setting openTask {0} render error: {1} to url {2}", openTask, removedId, result_.Url);
                                        openTask.SetRenderError(removedId, renderStatusResults.Error, renderRequest);
                                    }
                                    openTasks_.RemoveAt(k);
                                }
                            }

                            logger_.Verbose("setting task {0} render result: {1} to url {2}", task, renderStatusResults, result_.Url);
                            task.SetRenderResult(renderStatusResults);
                            break;
                        }
                    }
                }
            }
            logger_.Verbose("exit");
        }
        internal void SetRenderError(string renderId, string error, RenderRequest renderRequest)
        {
            logger_.Verbose("enter - renderId: {0}", renderId);
            RenderStatusResults renderResult = new RenderStatusResults();
            string userAgent = GetUserAgent_(renderRequest);

            if (userAgent != null)
            {
                renderResult.UserAgent = userAgent;
            }
            Size deviceSize = GetCorrectDeviceSize_(renderRequest);

            renderResult.DeviceSize = deviceSize;
            renderResult_           = renderResult;
            logger_.Verbose("device size: " + deviceSize);
            listener_.OnTaskFailed(new Exception($"Render Failed for {BrowserInfo} (renderId: {renderId}) with reason: {error}"), this);
            logger_.Verbose("exit - renderId: {0}", renderId);
        }